diff --git a/docs/schemas/iwooos_posture_projection_v1.schema.json b/docs/schemas/iwooos_posture_projection_v1.schema.json
index a18e60f2c..8c3303d41 100644
--- a/docs/schemas/iwooos_posture_projection_v1.schema.json
+++ b/docs/schemas/iwooos_posture_projection_v1.schema.json
@@ -171,6 +171,14 @@
"high_value_config_owner_packet_received_response_count",
"high_value_config_owner_packet_accepted_response_count",
"high_value_config_owner_packet_runtime_gate_count",
+ "awooop_high_value_config_owner_packet_first_layer",
+ "awooop_high_value_config_owner_packet_summary_count",
+ "awooop_high_value_config_owner_packet_ref_count",
+ "awooop_high_value_config_owner_packet_boundary_count",
+ "awooop_high_value_config_owner_packet_request_sent_count",
+ "awooop_high_value_config_owner_packet_received_response_count",
+ "awooop_high_value_config_owner_packet_accepted_response_count",
+ "awooop_high_value_config_owner_packet_runtime_gate_count",
"action_buttons_allowed",
"owner_response_next_action_focus_item_count",
"s4_9_owner_response_preflight_check_count",
@@ -448,6 +456,38 @@
"type": "integer",
"const": 0
},
+ "awooop_high_value_config_owner_packet_first_layer": {
+ "type": "boolean",
+ "const": true
+ },
+ "awooop_high_value_config_owner_packet_summary_count": {
+ "type": "integer",
+ "const": 4
+ },
+ "awooop_high_value_config_owner_packet_ref_count": {
+ "type": "integer",
+ "const": 4
+ },
+ "awooop_high_value_config_owner_packet_boundary_count": {
+ "type": "integer",
+ "const": 15
+ },
+ "awooop_high_value_config_owner_packet_request_sent_count": {
+ "type": "integer",
+ "const": 0
+ },
+ "awooop_high_value_config_owner_packet_received_response_count": {
+ "type": "integer",
+ "const": 0
+ },
+ "awooop_high_value_config_owner_packet_accepted_response_count": {
+ "type": "integer",
+ "const": 0
+ },
+ "awooop_high_value_config_owner_packet_runtime_gate_count": {
+ "type": "integer",
+ "const": 0
+ },
"owner_response_next_action_focus_item_count": {
"type": "integer",
"const": 4
diff --git a/docs/security/iwooos-posture-projection.snapshot.json b/docs/security/iwooos-posture-projection.snapshot.json
index 8ee2ca512..b1ff9b537 100644
--- a/docs/security/iwooos-posture-projection.snapshot.json
+++ b/docs/security/iwooos-posture-projection.snapshot.json
@@ -214,6 +214,14 @@
"high_value_config_owner_packet_received_response_count": 0,
"high_value_config_owner_packet_accepted_response_count": 0,
"high_value_config_owner_packet_runtime_gate_count": 0,
+ "awooop_high_value_config_owner_packet_first_layer": true,
+ "awooop_high_value_config_owner_packet_summary_count": 4,
+ "awooop_high_value_config_owner_packet_ref_count": 4,
+ "awooop_high_value_config_owner_packet_boundary_count": 15,
+ "awooop_high_value_config_owner_packet_request_sent_count": 0,
+ "awooop_high_value_config_owner_packet_received_response_count": 0,
+ "awooop_high_value_config_owner_packet_accepted_response_count": 0,
+ "awooop_high_value_config_owner_packet_runtime_gate_count": 0,
"existing_frontend_surface_count": 10,
"frontend_surface_reverse_bridge_status_count": 10,
"frontend_surface_coverage_group_count": 4,
@@ -1489,6 +1497,7 @@
"display_agent_bounty_security_onboarding",
"display_rollout_risk_read_only",
"display_high_value_config_owner_packet",
+ "display_awooop_high_value_config_owner_packet_read_only",
"display_awooop_read_only_landing_readiness",
"display_awooop_cross_session_handoff_packets",
"display_progress_hold_movement_gates",
@@ -1554,6 +1563,12 @@
"reload_nginx_from_owner_packet",
"rotate_secret_from_owner_packet",
"run_agent_bounty_runtime_from_owner_packet",
+ "send_owner_request_from_awooop_high_value_config_packet",
+ "mark_owner_packet_received_from_awooop",
+ "mark_owner_packet_accepted_from_awooop",
+ "open_runtime_gate_from_awooop_high_value_config_packet",
+ "reload_nginx_from_awooop_owner_packet",
+ "run_agent_bounty_runtime_from_awooop_owner_packet",
"enable_runner",
"switch_github_primary",
"ssh_to_host",
diff --git a/scripts/security/security-mirror-progress-guard.py b/scripts/security/security-mirror-progress-guard.py
index 07a1afcf7..6960135c9 100755
--- a/scripts/security/security-mirror-progress-guard.py
+++ b/scripts/security/security-mirror-progress-guard.py
@@ -2362,6 +2362,36 @@ def validate(root: Path) -> None:
iwooos_projection["summary"][key],
0,
)
+ assert_true(
+ "iwooos_projection.summary.awooop_high_value_config_owner_packet_first_layer",
+ iwooos_projection["summary"]["awooop_high_value_config_owner_packet_first_layer"],
+ )
+ assert_equal(
+ "iwooos_projection.summary.awooop_high_value_config_owner_packet_summary_count",
+ iwooos_projection["summary"]["awooop_high_value_config_owner_packet_summary_count"],
+ 4,
+ )
+ assert_equal(
+ "iwooos_projection.summary.awooop_high_value_config_owner_packet_ref_count",
+ iwooos_projection["summary"]["awooop_high_value_config_owner_packet_ref_count"],
+ 4,
+ )
+ assert_equal(
+ "iwooos_projection.summary.awooop_high_value_config_owner_packet_boundary_count",
+ iwooos_projection["summary"]["awooop_high_value_config_owner_packet_boundary_count"],
+ 15,
+ )
+ for key in [
+ "awooop_high_value_config_owner_packet_request_sent_count",
+ "awooop_high_value_config_owner_packet_received_response_count",
+ "awooop_high_value_config_owner_packet_accepted_response_count",
+ "awooop_high_value_config_owner_packet_runtime_gate_count",
+ ]:
+ assert_equal(
+ f"iwooos_projection.summary.{key}",
+ iwooos_projection["summary"][key],
+ 0,
+ )
expected_iwooos_surface_ids = [
"security_compliance",
"legacy_security",
@@ -7074,6 +7104,7 @@ def validate(root: Path) -> None:
"display_agent_bounty_security_onboarding",
"display_rollout_risk_read_only",
"display_high_value_config_owner_packet",
+ "display_awooop_high_value_config_owner_packet_read_only",
]:
assert_contains("iwooos_projection.allowed_frontend_outputs", iwooos_projection["allowed_frontend_outputs"], output)
for output in [
@@ -7088,6 +7119,12 @@ def validate(root: Path) -> None:
"reload_nginx_from_owner_packet",
"rotate_secret_from_owner_packet",
"run_agent_bounty_runtime_from_owner_packet",
+ "send_owner_request_from_awooop_high_value_config_packet",
+ "mark_owner_packet_received_from_awooop",
+ "mark_owner_packet_accepted_from_awooop",
+ "open_runtime_gate_from_awooop_high_value_config_packet",
+ "reload_nginx_from_awooop_owner_packet",
+ "run_agent_bounty_runtime_from_awooop_owner_packet",
"enable_runner",
"ssh_to_host",
"open_ssh_session",
@@ -7434,6 +7471,95 @@ def validate(root: Path) -> None:
key,
)
+ assert_text_contains(
+ "awooop_home_page.high_value_config_owner_packet_panel",
+ awooop_home_page,
+ "HighValueConfigOwnerPacketHomePanel",
+ )
+ assert_text_contains(
+ "awooop_home_page.high_value_config_owner_packet_metrics",
+ awooop_home_page,
+ "highValueConfigOwnerPacketMetrics",
+ )
+ assert_text_contains(
+ "awooop_home_page.high_value_config_owner_packet_refs",
+ awooop_home_page,
+ "highValueConfigOwnerPacketRefs",
+ )
+ assert_text_contains(
+ "awooop_home_page.high_value_config_owner_packet_testid",
+ awooop_home_page,
+ 'data-testid="awooop-high-value-config-owner-packet-board"',
+ )
+ assert_text_contains(
+ "awooop_home_page.high_value_config_owner_packet_boundary_testid",
+ awooop_home_page,
+ 'data-testid="awooop-high-value-config-owner-packet-boundaries"',
+ )
+ assert_text_contains("awooop_home_page.high_value_config_owner_packet_iwooos_link", awooop_home_page, 'href="/iwooos"')
+ for text in [
+ "awooop_high_value_config_owner_packet_summary_count=4",
+ "awooop_high_value_config_owner_packet_ref_count=4",
+ "high_value_config_owner_packet_count=1",
+ "high_value_config_owner_packet_c0_packet_count=0",
+ "high_value_config_owner_packet_request_sent_count=0",
+ "high_value_config_owner_packet_received_response_count=0",
+ "high_value_config_owner_packet_accepted_response_count=0",
+ "runtime_execution_authorized=false",
+ "action_buttons_allowed=false",
+ "send_owner_request_allowed=false",
+ "mark_received_allowed=false",
+ "mark_accepted_allowed=false",
+ "nginx_reload_authorized=false",
+ "workflow_modification_authorized=false",
+ "agent_bounty_runtime_authorized=false",
+ ]:
+ assert_text_contains("awooop_home_page.high_value_config_owner_packet_boundary", awooop_home_page, text)
+ for key in [
+ "title",
+ "subtitle",
+ "badge",
+ "openIwooos",
+ "refsTitle",
+ "boundaryLabel",
+ "boundaryTitle",
+ "boundaryDetail",
+ "metrics",
+ "refs",
+ ]:
+ assert_contains(
+ "web_messages.zh-TW.awooop.home.highValueConfigOwnerPacket",
+ list(web_messages_zh["awooop"]["home"]["highValueConfigOwnerPacket"].keys()),
+ key,
+ )
+ assert_contains(
+ "web_messages.en.awooop.home.highValueConfigOwnerPacket",
+ list(web_messages_en["awooop"]["home"]["highValueConfigOwnerPacket"].keys()),
+ key,
+ )
+ for key in ["packetDrafts", "c0Packets", "responses", "runtimeGate"]:
+ assert_contains(
+ "web_messages.zh-TW.awooop.home.highValueConfigOwnerPacket.metrics",
+ list(web_messages_zh["awooop"]["home"]["highValueConfigOwnerPacket"]["metrics"].keys()),
+ key,
+ )
+ assert_contains(
+ "web_messages.en.awooop.home.highValueConfigOwnerPacket.metrics",
+ list(web_messages_en["awooop"]["home"]["highValueConfigOwnerPacket"]["metrics"].keys()),
+ key,
+ )
+ for key in ["packetDraft", "c0Scope", "s49Envelope", "runtimeBoundary"]:
+ assert_contains(
+ "web_messages.zh-TW.awooop.home.highValueConfigOwnerPacket.refs",
+ list(web_messages_zh["awooop"]["home"]["highValueConfigOwnerPacket"]["refs"].keys()),
+ key,
+ )
+ assert_contains(
+ "web_messages.en.awooop.home.highValueConfigOwnerPacket.refs",
+ list(web_messages_en["awooop"]["home"]["highValueConfigOwnerPacket"]["refs"].keys()),
+ key,
+ )
+
assert_text_contains("awooop_work_items_page.security_mirror_item", awooop_work_items_page, "iwooosSecurityMirror")
assert_text_contains("awooop_work_items_page.github_primary_item", awooop_work_items_page, "githubPrimaryReadiness")
assert_text_contains("awooop_work_items_page.owner_response_validation_item", awooop_work_items_page, "ownerResponseValidation")