feat(web): surface iwooos progress and compact ux

This commit is contained in:
Your Name
2026-05-26 00:31:48 +08:00
parent 480292b04d
commit eba2bd4fd0
13 changed files with 1667 additions and 1352 deletions

View File

@@ -200,19 +200,19 @@ def validate(root: Path) -> None:
assert_contains("intake.contracts", intake_contracts, "iwooos_posture_projection_v1")
progress = rollup["progress_estimate"]
assert_equal("progress.overall_percent", progress["overall_percent"], 58)
assert_equal("progress.overall_percent", progress["overall_percent"], 61)
assert_equal("progress.framework_percent_min", progress["framework_percent_min"], 86)
assert_equal("progress.framework_percent_max", progress["framework_percent_max"], 88)
assert_equal("progress.runtime_landing_percent_min", progress["runtime_landing_percent_min"], 35)
assert_equal("progress.runtime_landing_percent_max", progress["runtime_landing_percent_max"], 40)
assert_equal("progress.runtime_landing_percent_min", progress["runtime_landing_percent_min"], 40)
assert_equal("progress.runtime_landing_percent_max", progress["runtime_landing_percent_max"], 45)
assert_true("progress.not_authorization", progress["not_authorization"])
progress_display_policy = rollup["progress_display_policy"]
assert_equal("progress_display_policy.headline_percent", progress_display_policy["headline_percent"], 58)
assert_equal("progress_display_policy.headline_percent", progress_display_policy["headline_percent"], 61)
assert_equal(
"progress_display_policy.headline_status",
progress_display_policy["headline_status"],
"holding_until_owner_response_or_runtime_gate",
"reviewed_after_awooop_read_only_production_landing_evidence",
)
assert_true("progress_display_policy.recent_micro_progress_visible", progress_display_policy["recent_micro_progress_visible"])
assert_false(
@@ -1791,7 +1791,7 @@ def validate(root: Path) -> None:
"ready_for_read_only_intake",
"ready_for_read_only_intake",
"ready_for_read_only_intake",
"pending_production_consumption",
"production_read_only_consumption_verified",
],
)
assert_equal(
@@ -1807,6 +1807,7 @@ def validate(root: Path) -> None:
],
)
for item in awooop_read_only_landing_items:
landing_completed = item["item_id"] == "awooop_landing_production_handoff_pending"
assert_equal(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.display_mode",
item["display_mode"],
@@ -1815,20 +1816,32 @@ def validate(root: Path) -> None:
assert_equal(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.headline_percent_delta",
item["headline_percent_delta"],
0,
)
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.production_landing_enabled",
item["production_landing_enabled"],
3 if landing_completed else 0,
)
if landing_completed:
assert_true(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
else:
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.execution_router_linked",
item["execution_router_linked"],
)
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.progress_change_applied",
item["progress_change_applied"],
)
if landing_completed:
assert_true(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.progress_change_applied",
item["progress_change_applied"],
)
else:
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.progress_change_applied",
item["progress_change_applied"],
)
assert_false(
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
@@ -1886,7 +1899,7 @@ def validate(root: Path) -> None:
"ready_for_parallel_session_sync",
"ready_for_parallel_session_sync",
"ready_for_parallel_session_sync",
"waiting_external_production_evidence",
"production_landing_evidence_recorded_waiting_remaining_gates",
],
)
for item in awooop_cross_session_handoff_packets:
@@ -1966,15 +1979,16 @@ def validate(root: Path) -> None:
"payloads_ingested",
"active_runtime_gate_count",
"github_primary_ready_count",
"production_landing_enabled",
"awooop_read_only_production_landing_evidence_count",
],
)
assert_equal(
"iwooos_projection.progress_hold_movement_gates.current_counter_values",
[item["current_counter_value"] for item in progress_hold_movement_gates],
[0, False, 0, 0, False],
[0, False, 0, 0, 1],
)
for item in progress_hold_movement_gates:
awooop_landing_gate = item["gate_id"] == "progress_hold_awooop_read_only_landing"
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.display_mode",
item["display_mode"],
@@ -1983,7 +1997,7 @@ def validate(root: Path) -> None:
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.headline_percent_delta",
item["headline_percent_delta"],
0,
3 if awooop_landing_gate else 0,
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.owner_response_received_count",
@@ -2009,14 +2023,24 @@ def validate(root: Path) -> None:
item["github_primary_ready_count"],
0,
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.progress_change_applied",
item["progress_change_applied"],
)
if awooop_landing_gate:
assert_true(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
assert_true(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.progress_change_applied",
item["progress_change_applied"],
)
else:
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.progress_change_applied",
item["progress_change_applied"],
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
@@ -2083,10 +2107,16 @@ def validate(root: Path) -> None:
item["github_primary_ready_count"],
0,
)
assert_false(
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
if item["lane_id"] == "progress_acceleration_awooop_landing":
assert_true(
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
else:
assert_false(
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.production_landing_enabled",
item["production_landing_enabled"],
)
assert_false(
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
@@ -5748,7 +5778,7 @@ def validate(root: Path) -> None:
assert_text_contains("awooop_home_page.security_mirror_metrics", awooop_home_page, "securityMirrorMetrics")
assert_text_contains("awooop_home_page.iwooos_link", awooop_home_page, 'href="/iwooos"')
for text in [
"production_landing_enabled=false",
"read_only_production_landing_evidence_count=1",
"execution_router_linked=false",
"runtime_execution_authorized=false",
"action_buttons_allowed=false",
@@ -7621,16 +7651,18 @@ def validate(root: Path) -> None:
"HeadlineMovementAcceptanceGateBoard",
)
for text in [
"headline_percent_after_this_stage=58",
"headline_movement_signal_count=0",
"headline_percent_after_this_stage=61",
"headline_movement_signal_count=1",
"awooop_read_only_production_landing_evidence_count=1",
"owner_response_received_count=0",
"owner_response_accepted_count=0",
"owner_response_acceptance_gate_open=false",
"redacted_payload_ingested=false",
"active_runtime_gate_count=0",
"github_primary_ready_count=0",
"production_landing_enabled=false",
"progress_review_authorized=false",
"production_landing_enabled=true",
"execution_router_linked=false",
"progress_review_authorized=true",
"runtime_execution_authorized=false",
"action_buttons_allowed=false",
"not_authorization=true",
@@ -8639,13 +8671,13 @@ def validate(root: Path) -> None:
)
for text in [
"iwooos_progress_movement_signal_count=5",
"iwooos_progress_current_headline_percent=58",
"iwooos_progress_current_headline_percent=61",
"iwooos_progress_owner_response_accepted_count=0",
"iwooos_progress_redacted_payload_ingested=false",
"iwooos_progress_active_runtime_gate_count=0",
"iwooos_progress_github_primary_ready_count=0",
"iwooos_progress_awooop_landing_evidence_count=0",
"iwooos_progress_review_authorized=false",
"iwooos_progress_awooop_landing_evidence_count=1",
"iwooos_progress_review_authorized=true",
"runtime_execution_authorized=false",
"active_runtime_gate_count=0",
"action_buttons_allowed=false",
@@ -9002,16 +9034,16 @@ def validate(root: Path) -> None:
"IwoooSThreeAxisProductProgressBoard",
)
for text in [
"iwooos_three_axis_progress_headline_percent=58",
"iwooos_three_axis_progress_headline_percent=61",
"iwooos_three_axis_progress_framework_percent=86-88",
"iwooos_three_axis_progress_runtime_percent=35-40",
"iwooos_three_axis_progress_runtime_percent=40-45",
"iwooos_three_axis_progress_product_scope_count=6",
"iwooos_three_axis_progress_all_products_read_only=true",
"iwooos_three_axis_progress_runtime_product_rollout_count=0",
"iwooos_three_axis_progress_first_runtime_gate=s4_9_owner_response_accepted",
"iwooos_three_axis_progress_owner_response_accepted_count=0",
"iwooos_three_axis_progress_active_runtime_gate_count=0",
"iwooos_three_axis_progress_production_deploy_count=0",
"iwooos_three_axis_progress_production_deploy_count=1",
"iwooos_three_axis_progress_kali_execution_authorized=false",
"iwooos_three_axis_progress_source_control_mutation_authorized=false",
"runtime_execution_authorized=false",