feat(web): show IwoooS S4.9 templates

This commit is contained in:
Your Name
2026-05-20 13:41:28 +08:00
parent 52e3137f48
commit 6ab9a09212
11 changed files with 622 additions and 8 deletions

View File

@@ -200,6 +200,7 @@ def validate(root: Path) -> None:
"s2_46_iwooos_progress_acceleration_lanes",
"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",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -1060,6 +1061,109 @@ def validate(root: Path) -> None:
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.not_authorization",
item["not_authorization"],
)
expected_s4_9_owner_response_request_template_ids = [
"response-public-only-vs-local-gitea-gap",
"response-org-user-endpoint-identity",
"response-internal-110-adjacent-scope",
"response-repo-owner-canonical-scope",
"response-legacy-or-inaccessible-disposition",
]
assert_equal(
"iwooos_projection.summary.s4_9_owner_response_request_template_count",
iwooos_projection["summary"]["s4_9_owner_response_request_template_count"],
len(expected_s4_9_owner_response_request_template_ids),
)
s4_9_owner_response_request_templates = iwooos_projection["s4_9_owner_response_request_templates"]
assert_equal(
"iwooos_projection.s4_9_owner_response_request_templates.ids",
[item["template_id"] for item in s4_9_owner_response_request_templates],
expected_s4_9_owner_response_request_template_ids,
)
assert_equal(
"iwooos_projection.s4_9_owner_response_request_templates.display_order",
[item["display_order"] for item in s4_9_owner_response_request_templates],
list(range(1, len(expected_s4_9_owner_response_request_template_ids) + 1)),
)
assert_equal(
"iwooos_projection.s4_9_owner_response_request_templates.source_template_status_ids",
[item["source_template_status_id"] for item in s4_9_owner_response_request_templates],
expected_s4_9_owner_response_request_template_ids,
)
assert_equal(
"iwooos_projection.s4_9_owner_response_request_templates.attestation_item_ids",
[item["attestation_item_id"] for item in s4_9_owner_response_request_templates],
[
"public_only_vs_local_gitea_gap",
"org_user_endpoint_identity",
"internal_110_adjacent_scope",
"repo_owner_canonical_scope",
"legacy_or_inaccessible_repo_disposition",
],
)
for item in s4_9_owner_response_request_templates:
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.request_status",
item["request_status"],
"request_ready_not_sent",
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.current_state",
item["current_state"],
"waiting_owner_response",
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.display_mode",
item["display_mode"],
"s4_9_owner_response_request_template_only",
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.request_sent_count",
item["request_sent_count"],
0,
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.owner_response_received_count",
item["owner_response_received_count"],
0,
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.owner_response_accepted_count",
item["owner_response_accepted_count"],
0,
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.owner_response_rejected_count",
item["owner_response_rejected_count"],
0,
)
assert_equal(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.audit_events_emitted_count",
item["audit_events_emitted_count"],
0,
)
for flag in [
"auto_chase_allowed",
"autofill_allowed",
"request_send_allowed",
"mark_received_allowed",
"mark_accepted_allowed",
"approval_record_created",
"gitea_inventory_completed",
"gitea_write_allowed",
"repo_or_refs_mutation_allowed",
"github_primary_ready",
"secret_value_collection_allowed",
"runtime_execution_authorized",
"action_buttons_allowed",
]:
assert_false(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.{flag}",
item[flag],
)
assert_true(
f"iwooos_projection.s4_9_owner_response_request_templates.{item['template_id']}.not_authorization",
item["not_authorization"],
)
expected_s4_9_owner_response_preflight_ids = [
"s4_9_preflight_known_attestation_item",
"s4_9_preflight_required_owner_fields",
@@ -4125,6 +4229,7 @@ def validate(root: Path) -> None:
"display_progress_acceleration_lanes",
"display_owner_response_next_action_focus",
"display_s4_9_owner_response_preflight_checks",
"display_s4_9_owner_response_request_templates",
"display_non_blocking_lanes",
"display_existing_frontend_security_surfaces",
"display_frontend_surface_coverage_matrix",
@@ -4341,6 +4446,16 @@ def validate(root: Path) -> None:
"write_gitea_from_s4_9_preflight",
"sync_refs_from_s4_9_preflight",
"switch_primary_from_s4_9_preflight",
"send_s4_9_owner_response_request_from_iwooos",
"treat_s4_9_template_as_request_sent",
"mark_s4_9_template_received_from_iwooos",
"mark_s4_9_template_accepted_from_iwooos",
"autofill_s4_9_template_from_iwooos",
"create_gitea_inventory_from_s4_9_template",
"write_gitea_from_s4_9_template",
"sync_refs_from_s4_9_template",
"switch_primary_from_s4_9_template",
"collect_token_from_s4_9_template",
"apply_runtime_blocking_control",
"switch_github_primary",
"production_deploy",