feat(web): explain IwoooS progress hold

This commit is contained in:
Your Name
2026-05-20 14:05:14 +08:00
parent 6ab9a09212
commit 4d9d44e6d3
11 changed files with 552 additions and 9 deletions

View File

@@ -201,6 +201,7 @@ def validate(root: Path) -> None:
"s2_47_iwooos_owner_response_next_action_focus",
"s2_48_iwooos_s4_9_owner_response_preflight",
"s2_49_iwooos_s4_9_owner_response_request_templates",
"s2_50_iwooos_progress_hold_movement_gates",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -884,6 +885,111 @@ def validate(root: Path) -> None:
progress_display_policy["headline_status"],
)
assert_true("iwooos_projection.progress.not_authorization", iwooos_progress["not_authorization"])
expected_progress_hold_movement_gate_ids = [
"progress_hold_owner_response_accepted",
"progress_hold_redacted_payload_ingested",
"progress_hold_active_runtime_gate",
"progress_hold_github_primary_ready",
"progress_hold_awooop_read_only_landing",
]
assert_equal(
"iwooos_projection.summary.progress_hold_movement_gate_count",
iwooos_projection["summary"]["progress_hold_movement_gate_count"],
len(expected_progress_hold_movement_gate_ids),
)
progress_hold_movement_gates = iwooos_projection["progress_hold_movement_gates"]
assert_equal(
"iwooos_projection.progress_hold_movement_gates.gate_ids",
[item["gate_id"] for item in progress_hold_movement_gates],
expected_progress_hold_movement_gate_ids,
)
assert_equal(
"iwooos_projection.progress_hold_movement_gates.display_order",
[item["display_order"] for item in progress_hold_movement_gates],
list(range(1, len(expected_progress_hold_movement_gate_ids) + 1)),
)
assert_equal(
"iwooos_projection.progress_hold_movement_gates.movement_signals",
[item["movement_signal"] for item in progress_hold_movement_gates],
[
"owner_response_accepted",
"redacted_payload_ingested",
"active_runtime_gate",
"github_primary_ready",
"awooop_read_only_landing",
],
)
assert_equal(
"iwooos_projection.progress_hold_movement_gates.current_counter_names",
[item["current_counter_name"] for item in progress_hold_movement_gates],
[
"owner_response_validation_accepted_count",
"payloads_ingested",
"active_runtime_gate_count",
"github_primary_ready_count",
"production_landing_enabled",
],
)
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],
)
for item in progress_hold_movement_gates:
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.display_mode",
item["display_mode"],
"progress_hold_movement_gate_only",
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.headline_percent_delta",
item["headline_percent_delta"],
0,
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.owner_response_received_count",
item["owner_response_received_count"],
0,
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.owner_response_accepted_count",
item["owner_response_accepted_count"],
0,
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.payloads_ingested",
item["payloads_ingested"],
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.active_runtime_gate_count",
item["active_runtime_gate_count"],
0,
)
assert_equal(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.github_primary_ready_count",
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"],
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
)
assert_false(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.action_buttons_allowed",
item["action_buttons_allowed"],
)
assert_true(
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.not_authorization",
item["not_authorization"],
)
assert_equal(
"iwooos_projection.summary.progress_acceleration_lane_count",
iwooos_projection["summary"]["progress_acceleration_lane_count"],
@@ -4226,6 +4332,7 @@ def validate(root: Path) -> None:
for output in [
"display_security_posture",
"display_progress_estimate",
"display_progress_hold_movement_gates",
"display_progress_acceleration_lanes",
"display_owner_response_next_action_focus",
"display_s4_9_owner_response_preflight_checks",
@@ -4423,6 +4530,13 @@ def validate(root: Path) -> None:
"collect_owner_decision_from_human_record_owner_review_preparation_checklist",
"create_host_owner_decision_record_from_human_record_owner_review_preparation_checklist",
"open_runtime_gate_from_human_record_owner_review_preparation_checklist",
"treat_progress_hold_gate_as_percent_increase",
"increase_headline_without_gate_evidence",
"mark_owner_response_received_from_hold_gate",
"mark_payload_ingested_from_hold_gate",
"open_runtime_gate_from_hold_gate",
"mark_github_primary_ready_from_hold_gate",
"enable_production_landing_from_hold_gate",
"treat_progress_acceleration_as_authorization",
"increase_headline_from_progress_acceleration_lane",
"open_runtime_gate_from_progress_acceleration_lane",