feat(web): surface iwooos progress and compact ux
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user