fix(web): surface IwoooS S4.9 draft radar
All checks were successful
CD Pipeline / tests (push) Successful in 1m19s
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / build-and-deploy (push) Successful in 4m26s
CD Pipeline / post-deploy-checks (push) Successful in 3m15s

This commit is contained in:
Your Name
2026-06-01 20:17:18 +08:00
parent 6b38f7b44a
commit fa29f856b0
8 changed files with 509 additions and 5 deletions

View File

@@ -749,6 +749,7 @@ def validate(root: Path) -> None:
"s2_157_iwooos_progress_evidence_rail",
"s2_158_iwooos_evidence_unlock_queue",
"s2_159_iwooos_s49_request_draft_package",
"s2_160_iwooos_s49_request_draft_frontstage_radar",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -1738,6 +1739,31 @@ def validate(root: Path) -> None:
iwooos_projection["summary"]["evidence_unlock_queue_runtime_gate_count"],
0,
)
assert_true(
"iwooos_projection.summary.s4_9_request_draft_package_first_layer",
iwooos_projection["summary"]["s4_9_request_draft_package_first_layer"],
)
assert_equal(
"iwooos_projection.summary.s4_9_request_draft_package_card_count",
iwooos_projection["summary"]["s4_9_request_draft_package_card_count"],
5,
)
assert_equal(
"iwooos_projection.summary.s4_9_request_draft_package_template_ready_count",
iwooos_projection["summary"]["s4_9_request_draft_package_template_ready_count"],
5,
)
for count_key in [
"s4_9_request_draft_package_request_sent_count",
"s4_9_request_draft_package_owner_response_received_count",
"s4_9_request_draft_package_owner_response_accepted_count",
"s4_9_request_draft_package_runtime_gate_count",
]:
assert_equal(
f"iwooos_projection.summary.{count_key}",
iwooos_projection["summary"][count_key],
0,
)
assert_equal(
"iwooos_projection.summary.all_product_coverage_snapshot_default_summary_mode",
iwooos_projection["summary"]["all_product_coverage_snapshot_default_summary_mode"],
@@ -3304,6 +3330,20 @@ def validate(root: Path) -> None:
s49_request_draft["summary"]["request_draft_template_count"],
len(expected_s4_9_owner_response_request_template_ids),
)
assert_equal(
"s49_request_draft.summary.request_draft_template_ready_count",
s49_request_draft["summary"]["request_draft_template_ready_count"],
len(expected_s4_9_owner_response_request_template_ids),
)
assert_true(
"s49_request_draft.summary.frontstage_package_visible",
s49_request_draft["summary"]["frontstage_package_visible"],
)
assert_equal(
"s49_request_draft.summary.frontstage_card_count",
s49_request_draft["summary"]["frontstage_card_count"],
len(expected_s4_9_owner_response_request_template_ids),
)
assert_false("s49_request_draft.summary.request_sent", s49_request_draft["summary"]["request_sent"])
assert_equal("s49_request_draft.summary.request_sent_count", s49_request_draft["summary"]["request_sent_count"], 0)
assert_equal(
@@ -12793,6 +12833,68 @@ def validate(root: Path) -> None:
"iwooos_projection.evidence_unlock_queue_items.workflowSecrets.secret_plaintext_collection_allowed",
workflow_secrets_queue_item["secret_plaintext_collection_allowed"],
)
expected_s4_9_request_draft_package_item_ids = [
"publicGap",
"namespaceIdentity",
"adjacentScope",
"canonicalOwner",
"legacyDisposition",
]
s4_9_request_draft_package_items = iwooos_projection["s4_9_request_draft_package_items"]
assert_equal(
"iwooos_projection.s4_9_request_draft_package_items.ids",
[item["item_id"] for item in s4_9_request_draft_package_items],
expected_s4_9_request_draft_package_item_ids,
)
assert_equal(
"iwooos_projection.s4_9_request_draft_package_items.display_order",
[item["display_order"] for item in s4_9_request_draft_package_items],
list(range(1, len(expected_s4_9_request_draft_package_item_ids) + 1)),
)
assert_equal(
"iwooos_projection.s4_9_request_draft_package_items.source_template_ids",
[item["source_template_id"] for item in s4_9_request_draft_package_items],
expected_s4_9_owner_response_request_template_ids,
)
assert_equal(
"iwooos_projection.s4_9_request_draft_package_items.template_labels",
[item["template_label"] for item in s4_9_request_draft_package_items],
["D1", "D2", "D3", "D4", "D5"],
)
for item in s4_9_request_draft_package_items:
assert_equal(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.display_mode",
item["display_mode"],
"first_screen_s4_9_request_draft_package",
)
assert_equal(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.draft_status",
item["draft_status"],
"ready_not_sent",
)
for count_key in [
"request_sent_count",
"owner_response_received_count",
"owner_response_accepted_count",
"runtime_gate_count",
]:
assert_equal(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.{count_key}",
item[count_key],
0,
)
assert_false(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
)
assert_false(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.action_buttons_allowed",
item["action_buttons_allowed"],
)
assert_true(
f"iwooos_projection.s4_9_request_draft_package_items.{item['item_id']}.not_authorization",
item["not_authorization"],
)
for text in [
'data-testid="iwooos-first-screen-depth-map-board"',
'data-testid="iwooos-first-screen-depth-map-layers"',
@@ -12924,6 +13026,53 @@ def validate(root: Path) -> None:
iwooos_projection_page,
text,
)
for text in [
'data-testid="iwooos-s49-request-draft-package-board"',
'data-testid="iwooos-s49-request-draft-package-items"',
'data-testid="iwooos-s49-request-draft-package-boundaries"',
"IwoooSS49RequestDraftPackageBoard",
"s49RequestDraftPackageItems",
"s49RequestDraftPackageBoundaries",
"publicGap",
"namespaceIdentity",
"adjacentScope",
"canonicalOwner",
"legacyDisposition",
]:
assert_text_contains(
"iwooos_page.s49_request_draft_package",
iwooos_projection_page,
text,
)
assert_text_before(
"iwooos_page.evidence_unlock_queue_before_s49_request_draft_package",
iwooos_projection_page,
"<IwoooSEvidenceUnlockQueueBoard />",
"<IwoooSS49RequestDraftPackageBoard />",
)
assert_text_before(
"iwooos_page.s49_request_draft_package_before_immediate_visual_mesh",
iwooos_projection_page,
"<IwoooSS49RequestDraftPackageBoard />",
"<IwoooSImmediateVisualMeshBoard />",
)
for text in [
"s4_9_owner_attestation_request_draft_frontstage_card_count=5",
"s4_9_owner_attestation_request_draft_template_ready_count=5",
"s4_9_owner_attestation_request_sent=false",
"s4_9_owner_attestation_owner_response_received_count=0",
"s4_9_owner_attestation_owner_response_accepted_count=0",
"s4_9_owner_attestation_runtime_gate_opened=false",
"runtime_execution_authorized=false",
"active_runtime_gate_count=0",
"action_buttons_allowed=false",
"not_authorization=true",
]:
assert_text_contains(
"iwooos_page.s49_request_draft_package_boundary",
iwooos_projection_page,
text,
)
assert_text_contains(
"iwooos_page.focus_deck_testid",
iwooos_projection_page,