feat(web): add IwoooS host coverage

This commit is contained in:
Your Name
2026-05-19 21:06:58 +08:00
parent bcf7f6448c
commit 79ab8e3f88
11 changed files with 332 additions and 4 deletions

View File

@@ -165,6 +165,7 @@ def validate(root: Path) -> None:
"s2_11_iwooos_surface_coverage_boundary_matrix",
"s2_12_iwooos_operator_journey_projection",
"s2_13_iwooos_owner_evidence_readiness_board",
"s2_14_iwooos_host_coverage_view",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -333,6 +334,11 @@ def validate(root: Path) -> None:
"s1_6_kali_scan_scope_approval",
"s3_4_followup_runtime_gate",
]
expected_iwooos_host_coverage_item_ids = [
"kali_112_security_host",
"dev_168_development_host",
"dev_111_development_host",
]
assert_equal(
"iwooos_projection.summary.frontend_surface_coverage_group_count",
iwooos_projection["summary"]["frontend_surface_coverage_group_count"],
@@ -353,6 +359,11 @@ def validate(root: Path) -> None:
iwooos_projection["summary"]["owner_evidence_readiness_item_count"],
len(expected_iwooos_evidence_readiness_item_ids),
)
assert_equal(
"iwooos_projection.summary.host_coverage_item_count",
iwooos_projection["summary"]["host_coverage_item_count"],
len(expected_iwooos_host_coverage_item_ids),
)
iwooos_progress = iwooos_projection["progress"]
assert_equal("iwooos_projection.progress.overall_percent", iwooos_progress["overall_percent"], progress["overall_percent"])
assert_equal(
@@ -555,6 +566,43 @@ def validate(root: Path) -> None:
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.not_authorization",
item["not_authorization"],
)
iwooos_host_coverage = iwooos_projection["host_coverage_items"]
assert_equal(
"iwooos_projection.host_coverage_items.ids",
[item["host_id"] for item in iwooos_host_coverage],
expected_iwooos_host_coverage_item_ids,
)
assert_equal(
"iwooos_projection.host_coverage_items.display_order",
[item["display_order"] for item in iwooos_host_coverage],
list(range(1, len(expected_iwooos_host_coverage_item_ids) + 1)),
)
for item in iwooos_host_coverage:
assert_equal(
f"iwooos_projection.host_coverage_items.{item['host_id']}.display_mode",
item["display_mode"],
"coverage_only",
)
assert_false(
f"iwooos_projection.host_coverage_items.{item['host_id']}.active_scan_authorized",
item["active_scan_authorized"],
)
assert_false(
f"iwooos_projection.host_coverage_items.{item['host_id']}.ssh_change_authorized",
item["ssh_change_authorized"],
)
assert_false(
f"iwooos_projection.host_coverage_items.{item['host_id']}.runtime_execution_authorized",
item["runtime_execution_authorized"],
)
assert_false(
f"iwooos_projection.host_coverage_items.{item['host_id']}.action_buttons_allowed",
item["action_buttons_allowed"],
)
assert_true(
f"iwooos_projection.host_coverage_items.{item['host_id']}.not_authorization",
item["not_authorization"],
)
assert_equal(
"iwooos_projection.non_blocking_lane_ids",
iwooos_projection["non_blocking_lane_ids"],
@@ -577,6 +625,7 @@ def validate(root: Path) -> None:
"display_frontend_surface_conflict_controls",
"display_operator_journey_steps",
"display_owner_evidence_readiness_board",
"display_host_coverage_view",
"display_evidence_refs",
"display_forbidden_actions",
]:
@@ -591,6 +640,9 @@ def validate(root: Path) -> None:
"sync_git_refs",
"modify_workflow_or_secret",
"enable_runner",
"ssh_to_host",
"update_kali_host",
"credentialed_scan_host",
"switch_github_primary",
"production_deploy",
"treat_progress_as_authorization",