12814 lines
593 KiB
Python
Executable File
12814 lines
593 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Validate the mirror-only security progress guardrails.
|
|
|
|
This script is intentionally read-only. It checks committed snapshots only and
|
|
does not call GitHub, Gitea, Kali, AwoooP, or any runtime API.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
from typing import Any
|
|
|
|
|
|
def load_json(path: Path) -> dict[str, Any]:
|
|
return json.loads(path.read_text(encoding="utf-8"))
|
|
|
|
|
|
def assert_equal(label: str, actual: Any, expected: Any) -> None:
|
|
if actual != expected:
|
|
raise SystemExit(f"BLOCKED {label}: expected {expected!r}, got {actual!r}")
|
|
|
|
|
|
def assert_false(label: str, actual: Any) -> None:
|
|
assert_equal(label, actual, False)
|
|
|
|
|
|
def assert_true(label: str, actual: Any) -> None:
|
|
assert_equal(label, actual, True)
|
|
|
|
|
|
def assert_contains(label: str, values: list[Any], expected: Any) -> None:
|
|
if expected not in values:
|
|
raise SystemExit(f"BLOCKED {label}: missing {expected!r}")
|
|
|
|
|
|
def assert_text_contains(label: str, text: str, expected: str) -> None:
|
|
if expected not in text:
|
|
raise SystemExit(f"BLOCKED {label}: missing {expected!r}")
|
|
|
|
|
|
def assert_text_not_contains(label: str, text: str, forbidden: str) -> None:
|
|
if forbidden in text:
|
|
raise SystemExit(f"BLOCKED {label}: forbidden {forbidden!r}")
|
|
|
|
|
|
def collect_string_values(value: Any) -> list[str]:
|
|
if isinstance(value, str):
|
|
return [value]
|
|
if isinstance(value, list):
|
|
collected: list[str] = []
|
|
for item in value:
|
|
collected.extend(collect_string_values(item))
|
|
return collected
|
|
if isinstance(value, dict):
|
|
collected = []
|
|
for item in value.values():
|
|
collected.extend(collect_string_values(item))
|
|
return collected
|
|
return []
|
|
|
|
|
|
def validate(root: Path) -> None:
|
|
security_dir = root / "docs" / "security"
|
|
|
|
manifest = load_json(security_dir / "security-supply-chain-contract-manifest.snapshot.json")
|
|
readiness = load_json(security_dir / "security-mirror-readiness.snapshot.json")
|
|
rollup = load_json(security_dir / "security-mirror-status-rollup.snapshot.json")
|
|
intake = load_json(security_dir / "security-mirror-intake-plan.snapshot.json")
|
|
event_sample = load_json(security_dir / "security-mirror-event-sample.snapshot.json")
|
|
route = load_json(security_dir / "security-mirror-route.snapshot.json")
|
|
acceptance = load_json(security_dir / "security-mirror-acceptance.snapshot.json")
|
|
dry_run = load_json(security_dir / "security-mirror-dry-run.snapshot.json")
|
|
owner_rollup = load_json(security_dir / "source-control-owner-response-validation-rollup.snapshot.json")
|
|
primary_gate = load_json(security_dir / "source-control-primary-readiness-gate.snapshot.json")
|
|
rollout_policy = load_json(security_dir / "security-rollout-policy.snapshot.json")
|
|
iwooos_projection = load_json(security_dir / "iwooos-posture-projection.snapshot.json")
|
|
iwooos_projection_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "iwooos" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
security_compliance_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "security-compliance" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_home_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_work_items_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "work-items" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_tenants_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "tenants" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_runs_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "runs" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_run_detail_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "runs" / "[run_id]" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_approvals_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "approvals" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_approval_detail_page = (
|
|
root
|
|
/ "apps"
|
|
/ "web"
|
|
/ "src"
|
|
/ "app"
|
|
/ "[locale]"
|
|
/ "awooop"
|
|
/ "approvals"
|
|
/ "[run_id]"
|
|
/ "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
awooop_contracts_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "contracts" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
security_panel = (root / "apps" / "web" / "src" / "components" / "panels" / "SecurityPanel.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
compliance_panel = (
|
|
root / "apps" / "web" / "src" / "components" / "panels" / "CompliancePanel.tsx"
|
|
).read_text(encoding="utf-8")
|
|
standalone_security_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "security" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
standalone_compliance_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "compliance" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
alerts_page = (root / "apps" / "web" / "src" / "app" / "[locale]" / "alerts" / "page.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
authorizations_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "authorizations" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
governance_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "governance" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
alert_operation_logs_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "alert-operation-logs" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
code_review_page = (
|
|
root / "apps" / "web" / "src" / "app" / "[locale]" / "code-review" / "page.tsx"
|
|
).read_text(encoding="utf-8")
|
|
errors_panel = (root / "apps" / "web" / "src" / "components" / "panels" / "ErrorsPanel.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
iwooos_bridge = (
|
|
root / "apps" / "web" / "src" / "components" / "security" / "iwooos-read-only-bridge.tsx"
|
|
).read_text(encoding="utf-8")
|
|
web_messages_zh = load_json(root / "apps" / "web" / "messages" / "zh-TW.json")
|
|
web_messages_en = load_json(root / "apps" / "web" / "messages" / "en.json")
|
|
|
|
manifest_count = manifest["contract_count"]
|
|
readiness_summary = readiness["summary"]
|
|
rollup_summary = rollup["summary"]
|
|
|
|
assert_equal("manifest.contract_count", manifest_count, 36)
|
|
assert_equal("readiness.total_contracts", readiness_summary["total_contracts"], manifest_count)
|
|
assert_equal("rollup.total_contracts", rollup_summary["total_contracts"], manifest_count)
|
|
assert_equal("rollup.ready_for_mirror_count", rollup_summary["ready_for_mirror_count"], 33)
|
|
assert_equal("rollup.partial_ready_count", rollup_summary["partial_ready_count"], 2)
|
|
assert_equal("rollup.contract_only_count", rollup_summary["contract_only_count"], 1)
|
|
assert_equal("rollup.blocked_count", rollup_summary["blocked_count"], 0)
|
|
assert_contains(
|
|
"manifest.contracts",
|
|
[item["contract"] for item in manifest["contracts"]],
|
|
"iwooos_posture_projection_v1",
|
|
)
|
|
assert_contains(
|
|
"readiness.contract_readiness",
|
|
[item["contract"] for item in readiness["contract_readiness"]],
|
|
"iwooos_posture_projection_v1",
|
|
)
|
|
assert_contains(
|
|
"rollup.source_indexes",
|
|
rollup["source_indexes"],
|
|
"docs/security/iwooos-posture-projection.snapshot.json",
|
|
)
|
|
assert_equal("event_sample.payload_summary.total_contracts", event_sample["payload_summary"]["total_contracts"], manifest_count)
|
|
assert_equal(
|
|
"event_sample.payload_summary.ready_for_mirror_count",
|
|
event_sample["payload_summary"]["ready_for_mirror_count"],
|
|
readiness_summary["ready_for_mirror_count"],
|
|
)
|
|
assert_contains(
|
|
"event_sample.evidence_refs",
|
|
event_sample["evidence_refs"],
|
|
"docs/security/IWOOOS-POSTURE-PROJECTION.md",
|
|
)
|
|
assert_equal("route.summary.total_contracts", route["summary"]["total_contracts"], manifest_count)
|
|
route_contracts = sorted({contract for group in route["route_groups"] for contract in group["contracts"]})
|
|
assert_equal("route.contract_coverage", route_contracts, sorted(item["contract"] for item in manifest["contracts"]))
|
|
assert_contains(
|
|
"intake.source_indexes",
|
|
intake["source_indexes"],
|
|
"docs/security/iwooos-posture-projection.snapshot.json",
|
|
)
|
|
intake_contracts = [contract for wave in intake["intake_waves"] for contract in wave["contracts"]]
|
|
assert_contains("intake.contracts", intake_contracts, "iwooos_posture_projection_v1")
|
|
|
|
progress = rollup["progress_estimate"]
|
|
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"], 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"], 61)
|
|
assert_equal(
|
|
"progress_display_policy.headline_status",
|
|
progress_display_policy["headline_status"],
|
|
"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(
|
|
"progress_display_policy.runtime_execution_authorized",
|
|
progress_display_policy["runtime_execution_authorized"],
|
|
)
|
|
assert_true("progress_display_policy.not_authorization", progress_display_policy["not_authorization"])
|
|
|
|
progress_delta_ledger = rollup["progress_delta_ledger"]
|
|
expected_delta_ids = [
|
|
"s4_10_owner_response_request_packet",
|
|
"s4_10_owner_response_template_status_ledger",
|
|
"s4_10_owner_response_audit_event_templates",
|
|
"s4_10_owner_response_redaction_examples",
|
|
"s4_10_owner_response_collection_checks",
|
|
"s4_10_owner_response_intake_preflight_checks",
|
|
"s4_11_ref_truth_owner_response_request_packet",
|
|
"s4_11_ref_truth_owner_response_template_status_ledger",
|
|
"s4_11_ref_truth_owner_response_audit_event_templates",
|
|
"s4_11_ref_truth_owner_response_redaction_examples",
|
|
"s4_11_ref_truth_owner_response_collection_checks",
|
|
"s4_11_ref_truth_owner_response_intake_preflight_checks",
|
|
"s4_12_workflow_secret_name_owner_response_request_packet",
|
|
"s4_12_workflow_secret_name_owner_response_template_status_ledger",
|
|
"s4_12_workflow_secret_name_owner_response_audit_event_templates",
|
|
"s4_12_workflow_secret_name_owner_response_redaction_examples",
|
|
"s4_12_workflow_secret_name_owner_response_collection_checks",
|
|
"s4_12_workflow_secret_name_owner_response_intake_preflight_checks",
|
|
"s4_13_owner_response_validation_evidence_routing_rules",
|
|
"s4_13_owner_response_validation_display_sections",
|
|
"s4_13_owner_response_validation_state_transition_rules",
|
|
"s4_13_owner_response_validation_reviewer_checklist",
|
|
"s4_13_owner_response_validation_reviewer_outcome_lanes",
|
|
"s4_13_owner_response_validation_reviewer_audit_event_templates",
|
|
"s4_13_owner_response_validation_reviewer_audit_display_sections",
|
|
"s4_13_owner_response_validation_reviewer_audit_collection_checks",
|
|
"s4_13_owner_response_validation_reviewer_audit_redaction_examples",
|
|
"s4_13_owner_response_validation_reviewer_audit_retention_rules",
|
|
"s4_13_owner_response_validation_reviewer_audit_retention_checks",
|
|
"s4_13_owner_response_validation_reviewer_audit_handoff_packets",
|
|
"s4_13_owner_response_validation_reviewer_audit_handoff_checks",
|
|
"s4_13_owner_response_validation_parallel_session_sync_checks",
|
|
"s4_13_owner_response_validation_parallel_session_conflict_lanes",
|
|
"s4_13_owner_response_validation_parallel_session_recovery_checks",
|
|
"s4_13_owner_response_validation_parallel_session_recovery_outcome_lanes",
|
|
"s1_3_low_friction_non_blocking_escalation_lanes",
|
|
"s2_8_iwooos_frontend_posture_entry",
|
|
"s2_9_iwooos_posture_projection_contract",
|
|
"s2_10_iwooos_existing_frontend_surface_integration",
|
|
"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",
|
|
"s2_15_iwooos_host_action_gate_matrix",
|
|
"s2_16_iwooos_host_evidence_readiness_board",
|
|
"s2_17_iwooos_host_evidence_collection_order",
|
|
"s2_18_iwooos_host_evidence_intake_preflight",
|
|
"s2_19_iwooos_host_evidence_review_outcome_lanes",
|
|
"s2_20_iwooos_host_evidence_review_handoff_packets",
|
|
"s2_21_iwooos_host_evidence_reviewer_checklist",
|
|
"s2_22_iwooos_host_evidence_reviewer_outcome_lanes",
|
|
"s2_23_iwooos_host_owner_decision_candidate_packets",
|
|
"s2_24_iwooos_host_owner_decision_review_checklist",
|
|
"s2_25_iwooos_host_owner_decision_review_outcome_lanes",
|
|
"s2_26_iwooos_host_owner_decision_record_draft_packets",
|
|
"s2_27_iwooos_host_owner_decision_record_draft_review_checklist",
|
|
"s2_28_iwooos_host_owner_decision_record_draft_review_outcome_lanes",
|
|
"s2_29_iwooos_host_owner_decision_record_writeup_packets",
|
|
"s2_30_iwooos_host_owner_decision_record_writeup_review_checklist",
|
|
"s2_31_iwooos_host_owner_decision_record_writeup_review_outcome_lanes",
|
|
"s2_32_iwooos_host_owner_decision_record_formal_candidate_packets",
|
|
"s2_33_iwooos_host_owner_decision_record_formal_candidate_review_checklist",
|
|
"s2_34_iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes",
|
|
"s2_35_iwooos_host_owner_decision_record_formal_record_queue_packets",
|
|
"s2_36_iwooos_host_owner_decision_record_formal_record_queue_review_checklist",
|
|
"s2_37_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes",
|
|
"s2_38_iwooos_host_owner_decision_record_human_handoff_readiness_packets",
|
|
"s2_39_iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist",
|
|
"s2_40_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes",
|
|
"s2_41_iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets",
|
|
"s2_42_iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist",
|
|
"s2_43_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes",
|
|
"s2_44_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets",
|
|
"s2_45_iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist",
|
|
"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",
|
|
"s2_50_iwooos_progress_hold_movement_gates",
|
|
"s2_51_iwooos_awooop_read_only_landing_readiness",
|
|
"s2_52_iwooos_awooop_cross_session_handoff_packets",
|
|
"s2_53_awooop_home_iwooos_security_mirror_candidate",
|
|
"s2_54_awooop_work_items_iwooos_security_mirror_candidate",
|
|
"s2_55_awooop_approvals_iwooos_owner_response_gate_candidate",
|
|
"s2_56_awooop_contracts_iwooos_security_contract_candidate",
|
|
"s2_57_awooop_tenants_iwooos_tenant_scope_candidate",
|
|
"s2_58_awooop_runs_iwooos_run_state_candidate",
|
|
"s2_59_existing_security_pages_iwooos_reverse_bridge",
|
|
"s2_60_security_control_pages_iwooos_reverse_bridge",
|
|
"s2_61_audit_engineering_pages_iwooos_reverse_bridge",
|
|
"s2_62_iwooos_frontend_surface_connection_board",
|
|
"s2_63_iwooos_github_primary_readiness_board",
|
|
"s2_64_awooop_work_items_github_primary_readiness_candidate",
|
|
"s2_65_awooop_contracts_github_primary_readiness_candidate",
|
|
"s2_66_awooop_approvals_github_primary_readiness_boundary",
|
|
"s2_67_awooop_home_github_primary_readiness_summary",
|
|
"s2_68_awooop_tenants_github_primary_readiness_scope",
|
|
"s2_69_awooop_runs_github_primary_readiness_boundary",
|
|
"s2_70_traditional_chinese_security_surface_wording_guard",
|
|
"s2_71_awooop_run_detail_traditional_chinese_wording_guard",
|
|
"s2_72_awooop_home_owner_response_validation_rollup",
|
|
"s2_73_awooop_work_items_owner_response_validation_candidate",
|
|
"s2_74_awooop_contracts_owner_response_validation_candidate",
|
|
"s2_75_awooop_approvals_owner_response_validation_boundary",
|
|
"s2_76_awooop_tenants_owner_response_validation_scope",
|
|
"s2_77_awooop_runs_owner_response_validation_boundary",
|
|
"s2_78_awooop_run_detail_owner_response_validation_boundary",
|
|
"s2_79_awooop_approval_detail_owner_response_validation_boundary",
|
|
"s2_80_iwooos_awooop_route_coverage_board",
|
|
"s2_81_iwooos_gradual_convergence_roadmap",
|
|
"s2_82_iwooos_owner_response_collection_board",
|
|
"s2_83_iwooos_owner_response_intake_safety_board",
|
|
"s2_84_iwooos_owner_response_review_outcome_board",
|
|
"s2_85_iwooos_owner_response_human_decision_queue_board",
|
|
"s2_86_iwooos_owner_response_decision_record_draft_guard_board",
|
|
"s2_87_iwooos_owner_response_formal_record_candidate_preflight_board",
|
|
"s2_88_iwooos_owner_response_formal_record_candidate_outcome_board",
|
|
"s2_89_iwooos_owner_response_formal_record_owner_handoff_board",
|
|
"s2_90_iwooos_owner_response_formal_record_owner_handoff_review_board",
|
|
"s2_91_iwooos_owner_response_formal_record_owner_handoff_review_outcome_board",
|
|
"s2_92_iwooos_owner_response_formal_record_owner_review_preparation_board",
|
|
"s2_93_iwooos_owner_response_formal_record_owner_review_checklist_board",
|
|
"s2_94_iwooos_owner_response_formal_record_owner_review_outcome_board",
|
|
"s2_95_iwooos_owner_response_formal_record_owner_assignment_preparation_board",
|
|
"s2_96_iwooos_owner_response_formal_record_owner_assignment_checklist_board",
|
|
"s2_97_iwooos_owner_response_formal_record_owner_assignment_outcome_board",
|
|
"s2_98_iwooos_owner_response_formal_record_owner_assignment_decision_preparation_board",
|
|
"s2_99_iwooos_owner_response_formal_record_owner_assignment_decision_checklist_board",
|
|
"s2_100_iwooos_headline_movement_acceptance_gate_board",
|
|
"s2_101_iwooos_s49_owner_response_work_order_board",
|
|
"s2_102_iwooos_s49_owner_response_envelope_board",
|
|
"s2_103_iwooos_s49_owner_response_envelope_preflight_board",
|
|
"s2_104_iwooos_s49_owner_response_envelope_preflight_outcome_board",
|
|
"s2_105_iwooos_s49_owner_response_request_draft_board",
|
|
"s2_106_iwooos_s49_owner_response_dispatch_flow_board",
|
|
"s2_107_security_compliance_iwooos_frontstage_bridge",
|
|
"s2_108_iwooos_frontstage_security_entry_roles",
|
|
"s2_109_security_compliance_frontstage_route_role_map",
|
|
"s2_110_security_compliance_low_friction_rollout_ladder",
|
|
"s2_111_iwooos_low_friction_rollout_ladder",
|
|
"s2_112_iwooos_low_friction_next_action_boundary",
|
|
"s2_113_iwooos_progress_movement_signal_strip",
|
|
"s2_114_iwooos_first_progress_unlock_path",
|
|
"s2_115_iwooos_first_unlock_evidence_packet",
|
|
"s2_116_iwooos_first_unlock_evidence_packet_preflight_outcomes",
|
|
"s2_117_iwooos_first_unlock_evidence_packet_supplement_path",
|
|
"s2_118_iwooos_first_unlock_evidence_packet_supplement_pre_review",
|
|
"s2_119_iwooos_first_unlock_evidence_packet_supplement_pre_review_outcomes",
|
|
"s2_120_iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation",
|
|
"s2_121_iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight",
|
|
"s2_122_iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcomes",
|
|
"s2_123_iwooos_concrete_security_work_map",
|
|
"s2_124_iwooos_concrete_security_delivery_checklist",
|
|
"s2_125_iwooos_concrete_security_blocker_resolution",
|
|
"s2_126_iwooos_three_axis_product_progress",
|
|
"s2_127_iwooos_product_rollout_wave_ledger",
|
|
"s2_128_iwooos_product_rollout_acceptance_gates",
|
|
"s2_129_iwooos_product_rollout_acceptance_outcomes",
|
|
"s2_130_iwooos_product_evidence_wiring_map",
|
|
"s2_131_iwooos_product_evidence_wiring_preflight",
|
|
"s2_132_iwooos_product_evidence_wiring_preflight_outcomes",
|
|
"s2_133_iwooos_product_evidence_wiring_preflight_recovery_ledger",
|
|
"s2_134_iwooos_product_evidence_wiring_preflight_retry_gates",
|
|
"s2_135_iwooos_product_evidence_wiring_preflight_retry_outcomes",
|
|
"s2_136_iwooos_product_evidence_wiring_preflight_retry_review_candidate",
|
|
"s2_137_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight",
|
|
"s2_138_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_outcomes",
|
|
"s2_139_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_ledger",
|
|
"s2_140_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_retry_gates",
|
|
]
|
|
assert_equal(
|
|
"progress_delta_ledger.delta_ids",
|
|
[item["delta_id"] for item in progress_delta_ledger],
|
|
expected_delta_ids,
|
|
)
|
|
assert_equal(
|
|
"progress_delta_ledger.display_order",
|
|
[item["display_order"] for item in progress_delta_ledger],
|
|
list(range(1, len(expected_delta_ids) + 1)),
|
|
)
|
|
for item in progress_delta_ledger:
|
|
assert_equal(f"progress_delta_ledger.{item['delta_id']}.progress_axis", item["progress_axis"], "framework_detail")
|
|
assert_equal(f"progress_delta_ledger.{item['delta_id']}.headline_percent_delta", item["headline_percent_delta"], 0)
|
|
assert_true(f"progress_delta_ledger.{item['delta_id']}.framework_delta_visible", item["framework_delta_visible"])
|
|
assert_false(f"progress_delta_ledger.{item['delta_id']}.runtime_delta", item["runtime_delta"])
|
|
assert_false(f"progress_delta_ledger.{item['delta_id']}.execution_authorized", item["execution_authorized"])
|
|
assert_true(f"progress_delta_ledger.{item['delta_id']}.not_authorization", item["not_authorization"])
|
|
|
|
assert_false("rollup.runtime_execution_authorized", rollup["runtime_execution_authorized"])
|
|
assert_equal("rollup.active_runtime_gate_count", rollup_summary["active_runtime_gate_count"], 0)
|
|
assert_false("rollup.runtime_actions_executed", rollup_summary["runtime_actions_executed"])
|
|
assert_false("rollup.payloads_ingested", rollup_summary["payloads_ingested"])
|
|
assert_equal("rollup.github_primary_ready_count", rollup_summary["github_primary_ready_count"], 0)
|
|
assert_equal("rollup.owner_response_validation_received_count", rollup_summary["owner_response_validation_received_count"], 0)
|
|
assert_equal("rollup.owner_response_validation_accepted_count", rollup_summary["owner_response_validation_accepted_count"], 0)
|
|
assert_equal("rollup.workflow_secret_inventory_complete_count", rollup_summary["workflow_secret_inventory_complete_count"], 0)
|
|
assert_false("rollup.secret_value_collection_allowed", rollup_summary["secret_value_collection_allowed"])
|
|
assert_false("rollup.secret_value_detected", rollup_summary["secret_value_detected"])
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"mirror_owner_response_validation_rollup",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_home_iwooos_security_mirror_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_work_items_iwooos_security_mirror_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_approvals_iwooos_owner_response_gate_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_contracts_iwooos_security_contract_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_tenants_iwooos_tenant_scope_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_runs_iwooos_run_state_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_existing_security_pages_iwooos_reverse_bridge",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_security_control_pages_iwooos_reverse_bridge",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_audit_engineering_pages_iwooos_reverse_bridge",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_frontend_surface_connection_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_github_primary_readiness_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_work_items_github_primary_readiness_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_work_items_owner_response_validation_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_contracts_github_primary_readiness_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_contracts_owner_response_validation_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_approvals_github_primary_readiness_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_approvals_owner_response_validation_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_home_github_primary_readiness_summary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_tenants_github_primary_readiness_scope",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_tenants_owner_response_validation_scope",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_runs_github_primary_readiness_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_runs_owner_response_validation_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_run_detail_owner_response_validation_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_awooop_approval_detail_owner_response_validation_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_awooop_route_coverage_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_gradual_convergence_roadmap",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_collection_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_intake_safety_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_review_outcome_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_human_decision_queue_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_decision_record_draft_guard_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_candidate_preflight_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_candidate_outcome_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_handoff_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_handoff_review_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_handoff_review_outcome_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_review_preparation_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_review_checklist_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_review_outcome_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_assignment_preparation_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_assignment_checklist_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_assignment_outcome_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_assignment_decision_preparation_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_owner_response_formal_record_owner_assignment_decision_checklist_board",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_security_compliance_frontstage_bridge",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_frontstage_security_entry_roles",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_security_compliance_frontstage_route_role_map",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_security_compliance_low_friction_rollout_ladder",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_low_friction_rollout_ladder",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_low_friction_next_action_boundary",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_progress_movement_signal_strip",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_progress_unlock_path",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_preflight_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_supplement_path",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_supplement_pre_review",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_supplement_pre_review_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_concrete_security_work_map",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_concrete_security_delivery_checklist",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_concrete_security_blocker_resolution",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_three_axis_product_progress",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_rollout_wave_ledger",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_rollout_acceptance_gates",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_rollout_acceptance_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_map",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_recovery_ledger",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_gates",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_review_candidate",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_outcomes",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_ledger",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"show_iwooos_product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_retry_gates",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"enforce_traditional_chinese_security_surface_wording",
|
|
)
|
|
assert_contains(
|
|
"rollup.next_safe_actions.action_ids",
|
|
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
|
"enforce_awooop_run_detail_traditional_chinese_wording",
|
|
)
|
|
|
|
zh_security_surface_text = json.dumps(
|
|
{
|
|
"iwooos": web_messages_zh["iwooos"],
|
|
"awooop": web_messages_zh["awooop"],
|
|
},
|
|
ensure_ascii=False,
|
|
)
|
|
for forbidden in [
|
|
"Information Security Mesh",
|
|
"Mirror-only / Observe-first",
|
|
"Exposure Posture",
|
|
"Source-control Supply Chain",
|
|
"Owner response missing",
|
|
"GitHub Primary Readiness",
|
|
"Active runtime gates",
|
|
"Candidate repos",
|
|
"In-scope repos",
|
|
"Owner responses",
|
|
"Owner response",
|
|
"Workflow inventory",
|
|
"Security runs",
|
|
"Run visibility",
|
|
"Run State",
|
|
"Readiness evidence refs",
|
|
"Owner response lanes",
|
|
"Source-control 邊界",
|
|
"Ready for mirror",
|
|
"Primary ready",
|
|
"AwoooP Operator Console",
|
|
"Control Plane",
|
|
"Shadow First",
|
|
"Operator Runs",
|
|
"Run Detail",
|
|
"Project / Agent",
|
|
"Incident ID",
|
|
"Incident Evidence",
|
|
"Run Timeline",
|
|
]:
|
|
assert_text_not_contains("web_messages.zh-TW.security_surface_wording", zh_security_surface_text, forbidden)
|
|
|
|
zh_awooop_tenants_text = json.dumps(web_messages_zh["awooop"]["tenants"], ensure_ascii=False)
|
|
for forbidden in [
|
|
"security mirror",
|
|
"migration mode",
|
|
"tenant policy",
|
|
"platform tenants API",
|
|
"primary switch",
|
|
"refs action",
|
|
"runtime tenant",
|
|
"posture mirror",
|
|
"Host coverage",
|
|
"observe-only",
|
|
"Tenant policy changes",
|
|
"owner response",
|
|
"runtime gate",
|
|
"secret value",
|
|
"workflow / secret",
|
|
"received / accepted",
|
|
"GitHub repo",
|
|
"Project ID",
|
|
]:
|
|
assert_text_not_contains("web_messages.zh-TW.awooop.tenants_wording", zh_awooop_tenants_text, forbidden)
|
|
|
|
zh_awooop_runs_text = json.dumps(web_messages_zh["awooop"]["runs"], ensure_ascii=False)
|
|
for forbidden in [
|
|
"Run Monitor",
|
|
"Run Boundary",
|
|
"Run visibility",
|
|
"Security runs",
|
|
"Active runtime gates",
|
|
"Owner accepted",
|
|
"owner response",
|
|
"runtime gate",
|
|
"post-check evidence",
|
|
"dry-run evidence",
|
|
"action button",
|
|
"repo",
|
|
"secrets",
|
|
"secret value",
|
|
"workflow / secret",
|
|
"received / accepted",
|
|
"Candidate Repos",
|
|
"In-scope Repos",
|
|
"Workflow Inventory",
|
|
]:
|
|
assert_text_not_contains("web_messages.zh-TW.awooop.runs_wording", zh_awooop_runs_text, forbidden)
|
|
|
|
zh_awooop_run_detail_text = json.dumps(
|
|
{
|
|
"incidentEvidence": web_messages_zh["awooop"]["incidentEvidence"],
|
|
"runDetail": web_messages_zh["awooop"]["runDetail"],
|
|
"approvalDecision": web_messages_zh["awooop"]["approvalDecision"],
|
|
},
|
|
ensure_ascii=False,
|
|
)
|
|
for forbidden in [
|
|
"Trace ID",
|
|
"Trigger Ref",
|
|
"Trigger",
|
|
"Tool",
|
|
"Scope",
|
|
"First-class",
|
|
"Policy enforced",
|
|
"Approval executor",
|
|
"Legacy bridge",
|
|
"Dry-run",
|
|
"Tools",
|
|
"Incident Evidence",
|
|
"Run state",
|
|
"audit trail",
|
|
"resume",
|
|
"Run 會",
|
|
]:
|
|
assert_text_not_contains("web_messages.zh-TW.awooop_run_detail_wording", zh_awooop_run_detail_text, forbidden)
|
|
|
|
zh_awooop_work_items_text = json.dumps(
|
|
web_messages_zh["awooop"]["workItems"],
|
|
ensure_ascii=False,
|
|
)
|
|
for forbidden in [
|
|
"Production 證據",
|
|
"Link",
|
|
"truth-chain",
|
|
"truth-first",
|
|
"MCP Gateway",
|
|
"Timeline",
|
|
"GitHub Primary Readiness",
|
|
"active runtime gates",
|
|
"Workflow / secret",
|
|
"secret value",
|
|
"pending dispatch",
|
|
"channel events",
|
|
"DB truth",
|
|
"dispatch 與",
|
|
]:
|
|
assert_text_not_contains(
|
|
"web_messages.zh-TW.awooop_work_items_wording",
|
|
zh_awooop_work_items_text,
|
|
forbidden,
|
|
)
|
|
|
|
zh_awooop_contracts_value_text = "\n".join(collect_string_values(web_messages_zh["awooop"]["contracts"]))
|
|
for forbidden in [
|
|
"secret value",
|
|
"workflow / secret",
|
|
"runtime gate",
|
|
"runtime enforcement",
|
|
"候選 repo",
|
|
"範圍內 repo",
|
|
"repo 建立",
|
|
"repo / refs",
|
|
"refs 變更",
|
|
"refs 動作",
|
|
"sync / delete / force push",
|
|
"received / accepted",
|
|
"received / accepted / rejected",
|
|
"waiting owner response",
|
|
"未 complete",
|
|
]:
|
|
assert_text_not_contains(
|
|
"web_messages.zh-TW.awooop_contracts_wording",
|
|
zh_awooop_contracts_value_text,
|
|
forbidden,
|
|
)
|
|
|
|
zh_awooop_approvals_owner_validation_text = "\n".join(
|
|
collect_string_values(web_messages_zh["awooop"]["approvals"]["ownerResponseValidationBoundary"])
|
|
)
|
|
for forbidden in [
|
|
"secret value",
|
|
"workflow / secret",
|
|
"runtime gate",
|
|
"runtime enforcement",
|
|
"approval record",
|
|
"repo action",
|
|
"repo 建立",
|
|
"repo / refs",
|
|
"refs action",
|
|
"refs 動作",
|
|
"sync / delete / force push",
|
|
"received / accepted",
|
|
"received / accepted / rejected",
|
|
"waiting owner response",
|
|
]:
|
|
assert_text_not_contains(
|
|
"web_messages.zh-TW.awooop_approvals_owner_validation_wording",
|
|
zh_awooop_approvals_owner_validation_text,
|
|
forbidden,
|
|
)
|
|
|
|
zh_awooop_home_security_text = json.dumps(
|
|
{
|
|
"securityMirror": web_messages_zh["awooop"]["home"]["securityMirror"],
|
|
"githubPrimaryReadiness": web_messages_zh["awooop"]["home"]["githubPrimaryReadiness"],
|
|
"ownerResponseValidation": web_messages_zh["awooop"]["home"]["ownerResponseValidation"],
|
|
},
|
|
ensure_ascii=False,
|
|
)
|
|
for forbidden in [
|
|
"secret value",
|
|
"secret 明文",
|
|
"received / accepted",
|
|
"0 received",
|
|
"0 accepted",
|
|
"Production landing",
|
|
"production landing",
|
|
"runtime ingestion",
|
|
"deployment proof",
|
|
"evidence refs",
|
|
"Workflow / secret",
|
|
"workflow / secret",
|
|
"ready count",
|
|
"Owner Response Validation",
|
|
"Response Packets",
|
|
"Owner Attestation",
|
|
"Owner Decision",
|
|
"Owner Response",
|
|
"Reviewer Checklist",
|
|
"Reviewer Outcomes",
|
|
"Cross-Packet Checks",
|
|
"owner evidence",
|
|
"owner response",
|
|
"owner attestation",
|
|
"owner decision",
|
|
"checklist items",
|
|
"outcome lanes",
|
|
]:
|
|
assert_text_not_contains(
|
|
"web_messages.zh-TW.awooop_home_security_wording",
|
|
zh_awooop_home_security_text,
|
|
forbidden,
|
|
)
|
|
|
|
zh_awooop_owner_response_validation_text = json.dumps(
|
|
web_messages_zh["awooop"]["home"]["ownerResponseValidation"],
|
|
ensure_ascii=False,
|
|
)
|
|
for forbidden in [
|
|
"Owner Response Validation",
|
|
"Response Packets",
|
|
"Owner Attestation",
|
|
"Owner Decision",
|
|
"Owner Response",
|
|
"Reviewer Checklist",
|
|
"Reviewer Outcomes",
|
|
"Cross-Packet Checks",
|
|
"owner evidence",
|
|
"owner response",
|
|
"owner attestation",
|
|
"owner decision",
|
|
"secret value",
|
|
"checklist items",
|
|
"outcome lanes",
|
|
]:
|
|
assert_text_not_contains(
|
|
"web_messages.zh-TW.awooop_owner_response_validation_wording",
|
|
zh_awooop_owner_response_validation_text,
|
|
forbidden,
|
|
)
|
|
|
|
assert_equal("rollout_policy.schema_version", rollout_policy["schema_version"], "security_rollout_policy_v1")
|
|
assert_equal("rollout_policy.default_mode", rollout_policy["default_mode"], "observe")
|
|
assert_equal("rollout_policy.enforcement_level", rollout_policy["enforcement_level"], "mirror_only")
|
|
assert_equal("rollout_policy.non_blocking_escalation_lane_count", rollout_policy["non_blocking_escalation_lane_count"], 7)
|
|
expected_low_friction_lane_ids = [
|
|
"lane-low-medium-observation",
|
|
"lane-owner-response-missing",
|
|
"lane-mirror-data-incomplete",
|
|
"lane-source-control-drift-draft",
|
|
"lane-kali-observe-finding",
|
|
"lane-workflow-secret-name-gap",
|
|
"lane-progress-display-holding",
|
|
]
|
|
non_blocking_lanes = rollout_policy["non_blocking_escalation_lanes"]
|
|
assert_equal(
|
|
"rollout_policy.non_blocking_escalation_lanes.ids",
|
|
[item["lane_id"] for item in non_blocking_lanes],
|
|
expected_low_friction_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"rollout_policy.non_blocking_escalation_lanes.display_order",
|
|
[item["display_order"] for item in non_blocking_lanes],
|
|
list(range(1, len(expected_low_friction_lane_ids) + 1)),
|
|
)
|
|
for item in non_blocking_lanes:
|
|
if item["initial_mode"] not in {"observe", "warn"}:
|
|
raise SystemExit(
|
|
f"BLOCKED rollout_policy.non_blocking_escalation_lanes.{item['lane_id']}.initial_mode: "
|
|
f"expected observe/warn, got {item['initial_mode']!r}"
|
|
)
|
|
assert_true(
|
|
f"rollout_policy.non_blocking_escalation_lanes.{item['lane_id']}.owner_review_required_before_blocking",
|
|
item["owner_review_required_before_blocking"],
|
|
)
|
|
assert_false(
|
|
f"rollout_policy.non_blocking_escalation_lanes.{item['lane_id']}.runtime_blocking_allowed",
|
|
item["runtime_blocking_allowed"],
|
|
)
|
|
assert_equal(
|
|
f"rollout_policy.non_blocking_escalation_lanes.{item['lane_id']}.awooop_display_mode",
|
|
item["awooop_display_mode"],
|
|
"display_low_friction_non_blocking_lane_only",
|
|
)
|
|
assert_true(
|
|
f"rollout_policy.non_blocking_escalation_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
rollout_outputs = rollout_policy["allowed_awooop_outputs"]
|
|
for output in [
|
|
"display_non_blocking_escalation_lanes",
|
|
"create_followup_without_blocking",
|
|
"show_owner_review_required_before_blocking",
|
|
"keep_runtime_blocking_false",
|
|
]:
|
|
assert_contains("rollout_policy.allowed_awooop_outputs", rollout_outputs, output)
|
|
|
|
assert_equal("iwooos_projection.schema_version", iwooos_projection["schema_version"], "iwooos_posture_projection_v1")
|
|
assert_equal("iwooos_projection.product_id", iwooos_projection["product_id"], "iwooos")
|
|
assert_equal("iwooos_projection.display_name", iwooos_projection["display_name"], "IwoooS")
|
|
assert_equal("iwooos_projection.mode", iwooos_projection["mode"], "mirror_only")
|
|
assert_false("iwooos_projection.runtime_execution_authorized", iwooos_projection["runtime_execution_authorized"])
|
|
assert_false("iwooos_projection.action_buttons_allowed", iwooos_projection["action_buttons_allowed"])
|
|
assert_true("iwooos_projection.not_authorization", iwooos_projection["not_authorization"])
|
|
assert_equal("iwooos_projection.summary.route_path", iwooos_projection["summary"]["route_path"], "/iwooos")
|
|
assert_true("iwooos_projection.summary.nav_entry_added", iwooos_projection["summary"]["nav_entry_added"])
|
|
assert_true(
|
|
"iwooos_projection.summary.command_palette_entry_added",
|
|
iwooos_projection["summary"]["command_palette_entry_added"],
|
|
)
|
|
assert_equal("iwooos_projection.summary.contract_count", iwooos_projection["summary"]["contract_count"], manifest_count)
|
|
assert_equal(
|
|
"iwooos_projection.summary.active_runtime_gate_count",
|
|
iwooos_projection["summary"]["active_runtime_gate_count"],
|
|
rollup_summary["active_runtime_gate_count"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.owner_response_validation_received_count",
|
|
iwooos_projection["summary"]["owner_response_validation_received_count"],
|
|
rollup_summary["owner_response_validation_received_count"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.owner_response_validation_accepted_count",
|
|
iwooos_projection["summary"]["owner_response_validation_accepted_count"],
|
|
rollup_summary["owner_response_validation_accepted_count"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.github_primary_ready_count",
|
|
iwooos_projection["summary"]["github_primary_ready_count"],
|
|
rollup_summary["github_primary_ready_count"],
|
|
)
|
|
expected_iwooos_source_control_primary_readiness_item_ids = [
|
|
"candidate_repo_inventory",
|
|
"primary_ready_counter_locked",
|
|
"owner_response_validation_waiting",
|
|
"refs_truth_waiting_owner",
|
|
"workflow_secret_name_inventory_missing",
|
|
"rollback_adr_waiting_owner_approval",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.source_control_primary_readiness_item_count",
|
|
iwooos_projection["summary"]["source_control_primary_readiness_item_count"],
|
|
len(expected_iwooos_source_control_primary_readiness_item_ids),
|
|
)
|
|
assert_false("iwooos_projection.summary.action_buttons_allowed", iwooos_projection["summary"]["action_buttons_allowed"])
|
|
expected_iwooos_surface_ids = [
|
|
"security_compliance",
|
|
"legacy_security",
|
|
"legacy_compliance",
|
|
"alerts",
|
|
"errors",
|
|
"authorizations",
|
|
"governance",
|
|
"alert_operation_logs",
|
|
"awooop_approvals",
|
|
"code_review",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.existing_frontend_surface_count",
|
|
iwooos_projection["summary"]["existing_frontend_surface_count"],
|
|
len(expected_iwooos_surface_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.frontend_surface_reverse_bridge_status_count",
|
|
iwooos_projection["summary"]["frontend_surface_reverse_bridge_status_count"],
|
|
len(expected_iwooos_surface_ids),
|
|
)
|
|
expected_iwooos_coverage_group_ids = [
|
|
"signals_and_exposure",
|
|
"human_control_boundary",
|
|
"governance_and_audit",
|
|
"engineering_review",
|
|
]
|
|
expected_iwooos_conflict_control_ids = [
|
|
"preserve_original_route_ownership",
|
|
"no_runtime_lift_from_index",
|
|
"code_review_not_deploy_gate",
|
|
"awooop_approval_not_security_approval",
|
|
"frontend_index_does_not_call_kali",
|
|
]
|
|
expected_iwooos_journey_step_ids = [
|
|
"read_current_posture",
|
|
"open_existing_security_surface",
|
|
"triage_non_blocking_lane",
|
|
"collect_owner_evidence",
|
|
"wait_for_human_decision",
|
|
"prepare_followup_runtime_gate",
|
|
]
|
|
expected_iwooos_evidence_readiness_item_ids = [
|
|
"s4_9_gitea_owner_attestation_response",
|
|
"s4_10_github_target_owner_response",
|
|
"s4_11_refs_truth_owner_response",
|
|
"s4_12_workflow_secret_owner_response",
|
|
"s1_6_redacted_finding_ingestion",
|
|
"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",
|
|
]
|
|
expected_iwooos_host_action_gate_item_ids = [
|
|
"host_active_scan_gate",
|
|
"host_credentialed_scan_gate",
|
|
"kali_execute_gate",
|
|
"ssh_host_change_gate",
|
|
"kali_host_update_gate",
|
|
"runtime_blocking_control_gate",
|
|
]
|
|
expected_iwooos_host_evidence_readiness_item_ids = [
|
|
"host_scope_boundary_evidence",
|
|
"host_owner_decision_record_evidence",
|
|
"host_credential_handling_evidence",
|
|
"host_maintenance_window_evidence",
|
|
"host_rollback_plan_evidence",
|
|
"host_validation_metrics_evidence",
|
|
"host_redacted_ingestion_evidence",
|
|
]
|
|
expected_iwooos_host_evidence_collection_step_ids = [
|
|
"collect_scope_boundary_first",
|
|
"collect_owner_decision_second",
|
|
"collect_credential_handling_third",
|
|
"collect_maintenance_window_fourth",
|
|
"collect_rollback_plan_fifth",
|
|
"collect_validation_metrics_sixth",
|
|
"collect_redacted_ingestion_seventh",
|
|
]
|
|
expected_iwooos_host_evidence_intake_preflight_check_ids = [
|
|
"host_metadata_pointer_shape_check",
|
|
"host_collection_dependency_order_check",
|
|
"host_scope_boundary_before_scan_check",
|
|
"host_owner_decision_before_change_check",
|
|
"host_credential_plaintext_rejection_check",
|
|
"host_raw_payload_rejection_check",
|
|
"host_counter_transition_freeze_check",
|
|
]
|
|
expected_iwooos_host_evidence_review_outcome_lane_ids = [
|
|
"host_ready_for_human_review_lane",
|
|
"host_needs_scope_evidence_lane",
|
|
"host_needs_owner_decision_lane",
|
|
"host_quarantine_dependency_skip_lane",
|
|
"host_reject_raw_payload_lane",
|
|
"host_reject_credential_plaintext_lane",
|
|
"host_waiting_runtime_gate_lane",
|
|
]
|
|
expected_iwooos_host_evidence_review_handoff_packet_ids = [
|
|
"host_scope_summary_handoff_packet",
|
|
"host_owner_decision_handoff_packet",
|
|
"host_credential_handling_handoff_packet",
|
|
"host_maintenance_rollback_handoff_packet",
|
|
"host_validation_metrics_handoff_packet",
|
|
"host_redaction_attestation_handoff_packet",
|
|
"host_runtime_gate_pointer_handoff_packet",
|
|
]
|
|
expected_iwooos_host_evidence_reviewer_checklist_item_ids = [
|
|
"host_scope_boundary_match_check",
|
|
"host_owner_decision_scope_expiry_check",
|
|
"host_credential_handling_metadata_only_check",
|
|
"host_redaction_attestation_pass_check",
|
|
"host_maintenance_rollback_complete_check",
|
|
"host_validation_metrics_linked_check",
|
|
"host_runtime_gate_separated_check",
|
|
]
|
|
expected_iwooos_host_evidence_reviewer_outcome_lane_ids = [
|
|
"host_ready_for_owner_decision_outcome_lane",
|
|
"host_scope_mismatch_outcome_lane",
|
|
"host_owner_decision_expired_outcome_lane",
|
|
"host_credential_metadata_failed_outcome_lane",
|
|
"host_redaction_failed_outcome_lane",
|
|
"host_rollback_missing_outcome_lane",
|
|
"host_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_candidate_packet_ids = [
|
|
"host_scope_approval_candidate_packet",
|
|
"host_scan_mode_candidate_packet",
|
|
"host_credential_handling_candidate_packet",
|
|
"host_maintenance_window_candidate_packet",
|
|
"host_rollback_owner_candidate_packet",
|
|
"host_validation_metrics_candidate_packet",
|
|
"host_runtime_gate_candidate_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_review_checklist_item_ids = [
|
|
"host_scope_boundary_readable_review_check",
|
|
"host_scan_mode_not_authorization_review_check",
|
|
"host_credential_boundary_metadata_only_review_check",
|
|
"host_maintenance_window_not_change_review_check",
|
|
"host_rollback_owner_readable_review_check",
|
|
"host_validation_metrics_predefined_review_check",
|
|
"host_runtime_gate_still_separate_review_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_review_outcome_lane_ids = [
|
|
"host_ready_for_decision_record_outcome_lane",
|
|
"host_scope_refresh_required_decision_outcome_lane",
|
|
"host_scan_mode_scope_required_decision_outcome_lane",
|
|
"host_credential_boundary_failed_decision_outcome_lane",
|
|
"host_maintenance_window_required_decision_outcome_lane",
|
|
"host_rollback_owner_required_decision_outcome_lane",
|
|
"host_runtime_gate_required_decision_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_draft_packet_ids = [
|
|
"host_decision_record_scope_draft_packet",
|
|
"host_decision_record_scan_mode_draft_packet",
|
|
"host_decision_record_credential_boundary_draft_packet",
|
|
"host_decision_record_maintenance_constraints_draft_packet",
|
|
"host_decision_record_rollback_owner_draft_packet",
|
|
"host_decision_record_validation_metrics_draft_packet",
|
|
"host_decision_record_runtime_gate_draft_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_draft_review_checklist_item_ids = [
|
|
"host_decision_record_scope_statement_review_check",
|
|
"host_decision_record_scan_mode_review_check",
|
|
"host_decision_record_credential_boundary_review_check",
|
|
"host_decision_record_maintenance_constraints_review_check",
|
|
"host_decision_record_rollback_owner_review_check",
|
|
"host_decision_record_validation_metrics_review_check",
|
|
"host_decision_record_runtime_gate_review_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_draft_review_outcome_lane_ids = [
|
|
"host_decision_record_ready_for_writeup_outcome_lane",
|
|
"host_decision_record_scope_draft_incomplete_outcome_lane",
|
|
"host_decision_record_scan_mode_ambiguous_outcome_lane",
|
|
"host_decision_record_credential_boundary_incomplete_outcome_lane",
|
|
"host_decision_record_maintenance_constraints_incomplete_outcome_lane",
|
|
"host_decision_record_rollback_owner_incomplete_outcome_lane",
|
|
"host_decision_record_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_writeup_packet_ids = [
|
|
"host_decision_record_summary_writeup_packet",
|
|
"host_decision_record_scope_writeup_packet",
|
|
"host_decision_record_scan_mode_limits_writeup_packet",
|
|
"host_decision_record_credential_boundary_writeup_packet",
|
|
"host_decision_record_maintenance_rollback_writeup_packet",
|
|
"host_decision_record_validation_evidence_writeup_packet",
|
|
"host_decision_record_runtime_gate_pointer_writeup_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_writeup_review_checklist_item_ids = [
|
|
"host_decision_record_summary_writeup_review_check",
|
|
"host_decision_record_scope_writeup_review_check",
|
|
"host_decision_record_scan_mode_limits_writeup_review_check",
|
|
"host_decision_record_credential_boundary_writeup_review_check",
|
|
"host_decision_record_maintenance_rollback_writeup_review_check",
|
|
"host_decision_record_validation_evidence_writeup_review_check",
|
|
"host_decision_record_runtime_gate_writeup_review_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_writeup_review_outcome_lane_ids = [
|
|
"host_decision_record_writeup_review_ready_for_formal_record_outcome_lane",
|
|
"host_decision_record_writeup_summary_needs_clarification_outcome_lane",
|
|
"host_decision_record_writeup_scope_expiry_needs_refresh_outcome_lane",
|
|
"host_decision_record_writeup_scan_mode_ambiguous_outcome_lane",
|
|
"host_decision_record_writeup_credential_boundary_failed_outcome_lane",
|
|
"host_decision_record_writeup_maintenance_rollback_incomplete_outcome_lane",
|
|
"host_decision_record_writeup_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_packet_ids = [
|
|
"host_decision_record_formal_candidate_identity_packet",
|
|
"host_decision_record_formal_candidate_decision_summary_packet",
|
|
"host_decision_record_formal_candidate_approved_scope_packet",
|
|
"host_decision_record_formal_candidate_scan_mode_limits_packet",
|
|
"host_decision_record_formal_candidate_credential_boundary_packet",
|
|
"host_decision_record_formal_candidate_maintenance_rollback_packet",
|
|
"host_decision_record_formal_candidate_validation_runtime_gate_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_checklist_item_ids = [
|
|
"host_decision_record_formal_candidate_identity_review_check",
|
|
"host_decision_record_formal_candidate_summary_review_check",
|
|
"host_decision_record_formal_candidate_scope_review_check",
|
|
"host_decision_record_formal_candidate_scan_limits_review_check",
|
|
"host_decision_record_formal_candidate_credential_boundary_review_check",
|
|
"host_decision_record_formal_candidate_maintenance_rollback_review_check",
|
|
"host_decision_record_formal_candidate_runtime_gate_review_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_lane_ids = [
|
|
"host_decision_record_formal_candidate_review_ready_for_record_queue_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_identity_needs_trace_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_summary_needs_clarification_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_scope_expiry_needs_refresh_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_scan_limits_ambiguous_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_credential_boundary_failed_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_maintenance_rollback_incomplete_outcome_lane",
|
|
"host_decision_record_formal_candidate_review_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_packet_ids = [
|
|
"host_decision_record_formal_record_queue_identity_packet",
|
|
"host_decision_record_formal_record_queue_decision_summary_packet",
|
|
"host_decision_record_formal_record_queue_scope_expiry_packet",
|
|
"host_decision_record_formal_record_queue_scan_limits_packet",
|
|
"host_decision_record_formal_record_queue_credential_boundary_packet",
|
|
"host_decision_record_formal_record_queue_maintenance_rollback_packet",
|
|
"host_decision_record_formal_record_queue_validation_runtime_gate_packet",
|
|
"host_decision_record_formal_record_queue_no_execution_attestation_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_checklist_item_ids = [
|
|
"host_decision_record_formal_record_queue_review_identity_traceable_check",
|
|
"host_decision_record_formal_record_queue_review_decision_summary_readable_check",
|
|
"host_decision_record_formal_record_queue_review_scope_expiry_fresh_check",
|
|
"host_decision_record_formal_record_queue_review_scan_limits_not_authorization_check",
|
|
"host_decision_record_formal_record_queue_review_credential_boundary_metadata_only_check",
|
|
"host_decision_record_formal_record_queue_review_maintenance_rollback_linked_check",
|
|
"host_decision_record_formal_record_queue_review_validation_runtime_gate_separate_check",
|
|
"host_decision_record_formal_record_queue_review_no_execution_attestation_present_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lane_ids = [
|
|
"host_decision_record_formal_record_queue_review_ready_for_human_record_owner_handoff_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_identity_needs_trace_refresh_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_summary_needs_clarification_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_scope_expiry_needs_refresh_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_scan_limits_ambiguous_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_credential_boundary_failed_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_maintenance_rollback_incomplete_outcome_lane",
|
|
"host_decision_record_formal_record_queue_review_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_packet_ids = [
|
|
"host_decision_record_handoff_readiness_identity_trace_packet",
|
|
"host_decision_record_handoff_readiness_owner_boundary_packet",
|
|
"host_decision_record_handoff_readiness_decision_summary_packet",
|
|
"host_decision_record_handoff_readiness_scope_expiry_packet",
|
|
"host_decision_record_handoff_readiness_scan_limits_packet",
|
|
"host_decision_record_handoff_readiness_credential_boundary_packet",
|
|
"host_decision_record_handoff_readiness_maintenance_rollback_packet",
|
|
"host_decision_record_handoff_readiness_runtime_gate_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_item_ids = [
|
|
"host_decision_record_handoff_readiness_review_identity_trace_readable_check",
|
|
"host_decision_record_handoff_readiness_review_owner_boundary_readable_check",
|
|
"host_decision_record_handoff_readiness_review_decision_summary_readable_check",
|
|
"host_decision_record_handoff_readiness_review_scope_expiry_current_check",
|
|
"host_decision_record_handoff_readiness_review_scan_limits_not_authorization_check",
|
|
"host_decision_record_handoff_readiness_review_credential_boundary_metadata_only_check",
|
|
"host_decision_record_handoff_readiness_review_maintenance_rollback_traceable_check",
|
|
"host_decision_record_handoff_readiness_review_runtime_gate_separate_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lane_ids = [
|
|
"host_decision_record_handoff_readiness_review_ready_for_human_record_owner_review_candidate_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_identity_trace_needs_refresh_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_owner_boundary_needs_clarification_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_decision_summary_needs_clarification_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_scope_expiry_needs_refresh_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_scan_limits_ambiguous_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_credential_boundary_failed_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_maintenance_rollback_incomplete_outcome_lane",
|
|
"host_decision_record_handoff_readiness_review_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_packet_ids = [
|
|
"host_decision_record_human_record_owner_review_candidate_identity_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_owner_boundary_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_decision_summary_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_scope_expiry_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_scan_limits_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_credential_boundary_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_maintenance_rollback_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_validation_runtime_gate_packet",
|
|
"host_decision_record_human_record_owner_review_candidate_no_execution_attestation_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_item_ids = [
|
|
"host_decision_record_human_record_owner_review_candidate_identity_traceable_check",
|
|
"host_decision_record_human_record_owner_review_candidate_owner_boundary_readable_check",
|
|
"host_decision_record_human_record_owner_review_candidate_decision_summary_readable_check",
|
|
"host_decision_record_human_record_owner_review_candidate_scope_expiry_current_check",
|
|
"host_decision_record_human_record_owner_review_candidate_scan_limits_not_authorization_check",
|
|
"host_decision_record_human_record_owner_review_candidate_credential_boundary_metadata_only_check",
|
|
"host_decision_record_human_record_owner_review_candidate_maintenance_rollback_traceable_check",
|
|
"host_decision_record_human_record_owner_review_candidate_validation_runtime_gate_separate_check",
|
|
"host_decision_record_human_record_owner_review_candidate_no_execution_attestation_present_check",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_ids = [
|
|
"host_decision_record_human_record_owner_review_candidate_ready_for_human_record_owner_review_preparation_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_identity_trace_needs_refresh_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_owner_boundary_needs_clarification_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_decision_summary_needs_clarification_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_scope_expiry_needs_refresh_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_scan_limits_ambiguous_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_credential_boundary_failed_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_maintenance_rollback_incomplete_outcome_lane",
|
|
"host_decision_record_human_record_owner_review_candidate_runtime_gate_required_outcome_lane",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packet_ids = [
|
|
"host_decision_record_human_record_owner_review_preparation_identity_trace_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_owner_boundary_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_decision_summary_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_scope_expiry_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_scan_limits_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_credential_boundary_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_maintenance_rollback_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_validation_runtime_gate_packet",
|
|
"host_decision_record_human_record_owner_review_preparation_no_execution_attestation_packet",
|
|
]
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_item_ids = [
|
|
"host_decision_record_human_record_owner_review_preparation_identity_trace_readable_check",
|
|
"host_decision_record_human_record_owner_review_preparation_owner_boundary_readable_check",
|
|
"host_decision_record_human_record_owner_review_preparation_decision_summary_readable_check",
|
|
"host_decision_record_human_record_owner_review_preparation_scope_expiry_current_check",
|
|
"host_decision_record_human_record_owner_review_preparation_scan_limits_not_authorization_check",
|
|
"host_decision_record_human_record_owner_review_preparation_credential_boundary_metadata_only_check",
|
|
"host_decision_record_human_record_owner_review_preparation_maintenance_rollback_traceable_check",
|
|
"host_decision_record_human_record_owner_review_preparation_validation_runtime_gate_separate_check",
|
|
"host_decision_record_human_record_owner_review_preparation_no_execution_attestation_present_check",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.frontend_surface_coverage_group_count",
|
|
iwooos_projection["summary"]["frontend_surface_coverage_group_count"],
|
|
len(expected_iwooos_coverage_group_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.frontend_surface_conflict_control_count",
|
|
iwooos_projection["summary"]["frontend_surface_conflict_control_count"],
|
|
len(expected_iwooos_conflict_control_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.operator_journey_step_count",
|
|
iwooos_projection["summary"]["operator_journey_step_count"],
|
|
len(expected_iwooos_journey_step_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.owner_evidence_readiness_item_count",
|
|
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),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_action_gate_item_count",
|
|
iwooos_projection["summary"]["host_action_gate_item_count"],
|
|
len(expected_iwooos_host_action_gate_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_readiness_item_count",
|
|
iwooos_projection["summary"]["host_evidence_readiness_item_count"],
|
|
len(expected_iwooos_host_evidence_readiness_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_collection_step_count",
|
|
iwooos_projection["summary"]["host_evidence_collection_step_count"],
|
|
len(expected_iwooos_host_evidence_collection_step_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_intake_preflight_check_count",
|
|
iwooos_projection["summary"]["host_evidence_intake_preflight_check_count"],
|
|
len(expected_iwooos_host_evidence_intake_preflight_check_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_evidence_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_evidence_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_review_handoff_packet_count",
|
|
iwooos_projection["summary"]["host_evidence_review_handoff_packet_count"],
|
|
len(expected_iwooos_host_evidence_review_handoff_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_reviewer_checklist_item_count",
|
|
iwooos_projection["summary"]["host_evidence_reviewer_checklist_item_count"],
|
|
len(expected_iwooos_host_evidence_reviewer_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_evidence_reviewer_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_evidence_reviewer_outcome_lane_count"],
|
|
len(expected_iwooos_host_evidence_reviewer_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_candidate_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_candidate_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_candidate_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_draft_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_draft_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_draft_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_draft_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_draft_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_record_draft_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_draft_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_draft_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_record_draft_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_writeup_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_writeup_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_writeup_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_writeup_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_writeup_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_record_writeup_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_writeup_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_writeup_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_record_writeup_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_candidate_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_candidate_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_candidate_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_candidate_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_candidate_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_candidate_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_candidate_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_candidate_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_record_queue_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_record_queue_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_record_queue_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_record_queue_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_record_queue_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_record_queue_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_formal_record_queue_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_formal_record_queue_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_handoff_readiness_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_human_handoff_readiness_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_handoff_readiness_review_checklist_item_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_human_handoff_readiness_review_checklist_item_count"],
|
|
len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_handoff_readiness_review_outcome_lane_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_human_handoff_readiness_review_outcome_lane_count"],
|
|
len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_record_owner_review_candidate_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_human_record_owner_review_candidate_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_record_owner_review_candidate_checklist_item_count",
|
|
iwooos_projection["summary"][
|
|
"host_owner_decision_record_human_record_owner_review_candidate_checklist_item_count"
|
|
],
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_item_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_count",
|
|
iwooos_projection["summary"][
|
|
"host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_count"
|
|
],
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_record_owner_review_preparation_packet_count",
|
|
iwooos_projection["summary"]["host_owner_decision_record_human_record_owner_review_preparation_packet_count"],
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packet_ids),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.summary.host_owner_decision_record_human_record_owner_review_preparation_checklist_item_count",
|
|
iwooos_projection["summary"][
|
|
"host_owner_decision_record_human_record_owner_review_preparation_checklist_item_count"
|
|
],
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_item_ids),
|
|
)
|
|
iwooos_progress = iwooos_projection["progress"]
|
|
assert_equal("iwooos_projection.progress.overall_percent", iwooos_progress["overall_percent"], progress["overall_percent"])
|
|
assert_equal(
|
|
"iwooos_projection.progress.framework_percent_min",
|
|
iwooos_progress["framework_percent_min"],
|
|
progress["framework_percent_min"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.progress.framework_percent_max",
|
|
iwooos_progress["framework_percent_max"],
|
|
progress["framework_percent_max"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.progress.runtime_landing_percent_min",
|
|
iwooos_progress["runtime_landing_percent_min"],
|
|
progress["runtime_landing_percent_min"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.progress.runtime_landing_percent_max",
|
|
iwooos_progress["runtime_landing_percent_max"],
|
|
progress["runtime_landing_percent_max"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.progress.headline_status",
|
|
iwooos_progress["headline_status"],
|
|
progress_display_policy["headline_status"],
|
|
)
|
|
assert_true("iwooos_projection.progress.not_authorization", iwooos_progress["not_authorization"])
|
|
expected_awooop_read_only_landing_item_ids = [
|
|
"awooop_landing_rollup_snapshot_readable",
|
|
"awooop_landing_evidence_refs_readable",
|
|
"awooop_landing_guard_checks_known",
|
|
"awooop_landing_route_groups_known",
|
|
"awooop_landing_forbidden_outputs_locked",
|
|
"awooop_landing_production_handoff_pending",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.awooop_read_only_landing_readiness_item_count",
|
|
iwooos_projection["summary"]["awooop_read_only_landing_readiness_item_count"],
|
|
len(expected_awooop_read_only_landing_item_ids),
|
|
)
|
|
awooop_read_only_landing_items = iwooos_projection["awooop_read_only_landing_readiness_items"]
|
|
assert_equal(
|
|
"iwooos_projection.awooop_read_only_landing_readiness_items.item_ids",
|
|
[item["item_id"] for item in awooop_read_only_landing_items],
|
|
expected_awooop_read_only_landing_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_read_only_landing_readiness_items.display_order",
|
|
[item["display_order"] for item in awooop_read_only_landing_items],
|
|
list(range(1, len(expected_awooop_read_only_landing_item_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_read_only_landing_readiness_items.current_states",
|
|
[item["current_state"] for item in awooop_read_only_landing_items],
|
|
[
|
|
"ready_for_read_only_intake",
|
|
"ready_for_read_only_intake",
|
|
"ready_for_read_only_intake",
|
|
"ready_for_read_only_intake",
|
|
"ready_for_read_only_intake",
|
|
"production_read_only_consumption_verified",
|
|
],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_read_only_landing_readiness_items.landing_dependencies",
|
|
[item["landing_dependency"] for item in awooop_read_only_landing_items],
|
|
[
|
|
"security_mirror_status_rollup_snapshot",
|
|
"evidence_refs",
|
|
"guard_checks",
|
|
"security_mirror_route_groups",
|
|
"forbidden_outputs",
|
|
"awooop_mainline_consumption",
|
|
],
|
|
)
|
|
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"],
|
|
"awooop_read_only_landing_readiness_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.headline_percent_delta",
|
|
item["headline_percent_delta"],
|
|
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"],
|
|
)
|
|
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"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.awooop_read_only_landing_readiness_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
expected_awooop_cross_session_handoff_packet_ids = [
|
|
"awooop_handoff_branch_and_pr_anchor",
|
|
"awooop_handoff_progress_semantics",
|
|
"awooop_handoff_required_guard_commands",
|
|
"awooop_handoff_forbidden_runtime_actions",
|
|
"awooop_handoff_read_only_inputs",
|
|
"awooop_handoff_next_coordination_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.awooop_cross_session_handoff_packet_count",
|
|
iwooos_projection["summary"]["awooop_cross_session_handoff_packet_count"],
|
|
len(expected_awooop_cross_session_handoff_packet_ids),
|
|
)
|
|
awooop_cross_session_handoff_packets = iwooos_projection["awooop_cross_session_handoff_packets"]
|
|
assert_equal(
|
|
"iwooos_projection.awooop_cross_session_handoff_packets.packet_ids",
|
|
[item["packet_id"] for item in awooop_cross_session_handoff_packets],
|
|
expected_awooop_cross_session_handoff_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_cross_session_handoff_packets.display_order",
|
|
[item["display_order"] for item in awooop_cross_session_handoff_packets],
|
|
list(range(1, len(expected_awooop_cross_session_handoff_packet_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_cross_session_handoff_packets.handoff_axes",
|
|
[item["handoff_axis"] for item in awooop_cross_session_handoff_packets],
|
|
[
|
|
"branch_and_pr_anchor",
|
|
"progress_semantics",
|
|
"required_guard_commands",
|
|
"forbidden_runtime_actions",
|
|
"read_only_inputs",
|
|
"next_coordination_gate",
|
|
],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.awooop_cross_session_handoff_packets.current_states",
|
|
[item["current_state"] for item in awooop_cross_session_handoff_packets],
|
|
[
|
|
"ready_for_parallel_session_sync",
|
|
"ready_for_parallel_session_sync",
|
|
"ready_for_parallel_session_sync",
|
|
"ready_for_parallel_session_sync",
|
|
"ready_for_parallel_session_sync",
|
|
"production_landing_evidence_recorded_waiting_remaining_gates",
|
|
],
|
|
)
|
|
for item in awooop_cross_session_handoff_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"awooop_cross_session_handoff_packet_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.headline_percent_delta",
|
|
item["headline_percent_delta"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.production_landing_enabled",
|
|
item["production_landing_enabled"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.execution_router_linked",
|
|
item["execution_router_linked"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.progress_change_applied",
|
|
item["progress_change_applied"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.awooop_cross_session_handoff_packets.{item['packet_id']}.not_authorization",
|
|
item["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",
|
|
"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, 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"],
|
|
"progress_hold_movement_gate_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.progress_hold_movement_gates.{item['gate_id']}.headline_percent_delta",
|
|
item["headline_percent_delta"],
|
|
3 if awooop_landing_gate else 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,
|
|
)
|
|
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"],
|
|
)
|
|
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"],
|
|
6,
|
|
)
|
|
progress_acceleration_lanes = iwooos_projection["progress_acceleration_lanes"]
|
|
expected_progress_acceleration_lane_ids = [
|
|
"progress_acceleration_owner_responses",
|
|
"progress_acceleration_redacted_ingestion",
|
|
"progress_acceleration_runtime_gate",
|
|
"progress_acceleration_github_readiness",
|
|
"progress_acceleration_awooop_landing",
|
|
"progress_acceleration_cadence_compression",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.progress_acceleration_lanes.lane_ids",
|
|
[item["lane_id"] for item in progress_acceleration_lanes],
|
|
expected_progress_acceleration_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.progress_acceleration_lanes.display_order",
|
|
[item["display_order"] for item in progress_acceleration_lanes],
|
|
list(range(1, len(expected_progress_acceleration_lane_ids) + 1)),
|
|
)
|
|
for item in progress_acceleration_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"progress_acceleration_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.owner_response_received_count",
|
|
item["owner_response_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.owner_response_accepted_count",
|
|
item["owner_response_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.payloads_ingested",
|
|
item["payloads_ingested"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.active_runtime_gate_count",
|
|
item["active_runtime_gate_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.github_primary_ready_count",
|
|
item["github_primary_ready_count"],
|
|
0,
|
|
)
|
|
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"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.progress_acceleration_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
expected_owner_response_next_action_focus_ids = [
|
|
"owner_response_focus_s4_9_gitea_owner_attestation",
|
|
"owner_response_focus_s4_10_github_target_owner_decision",
|
|
"owner_response_focus_s4_11_refs_truth_owner_response",
|
|
"owner_response_focus_s4_12_workflow_secret_name_owner_response",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.owner_response_next_action_focus_item_count",
|
|
iwooos_projection["summary"]["owner_response_next_action_focus_item_count"],
|
|
len(expected_owner_response_next_action_focus_ids),
|
|
)
|
|
owner_response_focus_items = iwooos_projection["owner_response_next_action_focus_items"]
|
|
assert_equal(
|
|
"iwooos_projection.owner_response_next_action_focus_items.ids",
|
|
[item["focus_id"] for item in owner_response_focus_items],
|
|
expected_owner_response_next_action_focus_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.owner_response_next_action_focus_items.display_order",
|
|
[item["display_order"] for item in owner_response_focus_items],
|
|
list(range(1, len(expected_owner_response_next_action_focus_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.owner_response_next_action_focus_items.source_rollup_lane_ids",
|
|
[item["source_rollup_lane_id"] for item in owner_response_focus_items],
|
|
[
|
|
"s4_9_gitea_inventory_owner_attestation_response",
|
|
"s4_10_github_target_owner_decision_response",
|
|
"s4_11_ref_truth_owner_response",
|
|
"s4_12_workflow_secret_name_owner_response",
|
|
],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.owner_response_next_action_focus_items.blocked_until_previous_focus_accepted",
|
|
[item["blocked_until_previous_focus_accepted"] for item in owner_response_focus_items],
|
|
[False, True, True, True],
|
|
)
|
|
for item in owner_response_focus_items:
|
|
assert_equal(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_response_next_action_focus_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.owner_response_received_count",
|
|
item["owner_response_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.owner_response_accepted_count",
|
|
item["owner_response_accepted_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.owner_response_rejected_count",
|
|
item["owner_response_rejected_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.audit_events_emitted_count",
|
|
item["audit_events_emitted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.auto_chase_allowed",
|
|
item["auto_chase_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.autofill_allowed",
|
|
item["autofill_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.mark_received_allowed",
|
|
item["mark_received_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.mark_accepted_allowed",
|
|
item["mark_accepted_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.approval_record_created",
|
|
item["approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.repo_or_refs_mutation_allowed",
|
|
item["repo_or_refs_mutation_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.owner_response_next_action_focus_items.{item['focus_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
source_control_readiness_items = iwooos_projection["source_control_primary_readiness_items"]
|
|
assert_equal(
|
|
"iwooos_projection.source_control_primary_readiness_items.ids",
|
|
[item["item_id"] for item in source_control_readiness_items],
|
|
expected_iwooos_source_control_primary_readiness_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.source_control_primary_readiness_items.display_order",
|
|
[item["display_order"] for item in source_control_readiness_items],
|
|
list(range(1, len(expected_iwooos_source_control_primary_readiness_item_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.source_control_primary_readiness_items.gate_ids",
|
|
[item["gate_id"] for item in source_control_readiness_items],
|
|
["S4.0", "S4.0", "S4.13", "S4.11", "S4.12", "S4.4"],
|
|
)
|
|
for item in source_control_readiness_items:
|
|
assert_equal(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"github_primary_readiness_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.primary_ready_count",
|
|
item["primary_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.owner_response_received_count",
|
|
item["owner_response_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.owner_response_accepted_count",
|
|
item["owner_response_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.github_primary_switch_authorized",
|
|
item["github_primary_switch_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.source_control_primary_readiness_items.{item['item_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",
|
|
"s4_9_preflight_allowed_decision",
|
|
"s4_9_preflight_redacted_evidence_only",
|
|
"s4_9_preflight_no_execution_request",
|
|
"s4_9_preflight_all_five_items_before_accepted",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.summary.s4_9_owner_response_preflight_check_count",
|
|
iwooos_projection["summary"]["s4_9_owner_response_preflight_check_count"],
|
|
len(expected_s4_9_owner_response_preflight_ids),
|
|
)
|
|
s4_9_owner_response_preflight_checks = iwooos_projection["s4_9_owner_response_preflight_checks"]
|
|
assert_equal(
|
|
"iwooos_projection.s4_9_owner_response_preflight_checks.ids",
|
|
[item["preflight_id"] for item in s4_9_owner_response_preflight_checks],
|
|
expected_s4_9_owner_response_preflight_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.s4_9_owner_response_preflight_checks.display_order",
|
|
[item["display_order"] for item in s4_9_owner_response_preflight_checks],
|
|
list(range(1, len(expected_s4_9_owner_response_preflight_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.s4_9_owner_response_preflight_checks.source_check_ids",
|
|
[item["source_check_id"] for item in s4_9_owner_response_preflight_checks],
|
|
[
|
|
"preflight-known-attestation-item",
|
|
"preflight-required-owner-fields",
|
|
"preflight-allowed-decision",
|
|
"preflight-redacted-evidence-only",
|
|
"preflight-no-execution-request",
|
|
"preflight-all-five-items-before-accepted",
|
|
],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.s4_9_owner_response_preflight_checks.failure_lanes",
|
|
[item["failure_lane"] for item in s4_9_owner_response_preflight_checks],
|
|
[
|
|
"request_owner_correction",
|
|
"request_more_evidence",
|
|
"request_owner_correction",
|
|
"quarantine_sensitive_payload",
|
|
"reject_execution_request",
|
|
"keep_waiting_owner_response",
|
|
],
|
|
)
|
|
for item in s4_9_owner_response_preflight_checks:
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.source_packet",
|
|
item["source_packet"],
|
|
"docs/security/GITEA-INVENTORY-OWNER-ATTESTATION-RESPONSE.md",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.display_mode",
|
|
item["display_mode"],
|
|
"s4_9_owner_response_preflight_only",
|
|
)
|
|
assert_true(f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.required", item["required"])
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.request_sent_count",
|
|
item["request_sent_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.owner_response_received_count",
|
|
item["owner_response_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.owner_response_accepted_count",
|
|
item["owner_response_accepted_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.owner_response_rejected_count",
|
|
item["owner_response_rejected_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.preflight_passed_count",
|
|
item["preflight_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.audit_events_emitted_count",
|
|
item["audit_events_emitted_count"],
|
|
0,
|
|
)
|
|
for flag in [
|
|
"request_sent_allowed",
|
|
"owner_response_collection_allowed",
|
|
"mark_passed_allowed",
|
|
"mark_received_allowed",
|
|
"mark_accepted_allowed",
|
|
"approval_record_created",
|
|
"runtime_gate_opened",
|
|
"gitea_write_allowed",
|
|
"repo_or_refs_mutation_allowed",
|
|
"secret_value_collection_allowed",
|
|
"sensitive_payload_allowed",
|
|
"runtime_execution_authorized",
|
|
"action_buttons_allowed",
|
|
]:
|
|
assert_false(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.{flag}",
|
|
item[flag],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.s4_9_owner_response_preflight_checks.{item['preflight_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.posture_pillars.ids",
|
|
[item["pillar_id"] for item in iwooos_projection["posture_pillars"]],
|
|
["exposure_posture", "source_control_supply_chain", "kali_112_mesh", "approval_boundary"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.posture_pillars.display_order",
|
|
[item["display_order"] for item in iwooos_projection["posture_pillars"]],
|
|
[1, 2, 3, 4],
|
|
)
|
|
for item in iwooos_projection["posture_pillars"]:
|
|
assert_equal(f"iwooos_projection.posture_pillars.{item['pillar_id']}.display_mode", item["display_mode"], "posture_only")
|
|
assert_false(
|
|
f"iwooos_projection.posture_pillars.{item['pillar_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_true(f"iwooos_projection.posture_pillars.{item['pillar_id']}.not_authorization", item["not_authorization"])
|
|
iwooos_surfaces = iwooos_projection["existing_frontend_surfaces"]
|
|
assert_equal(
|
|
"iwooos_projection.existing_frontend_surfaces.ids",
|
|
[item["surface_id"] for item in iwooos_surfaces],
|
|
expected_iwooos_surface_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.existing_frontend_surfaces.display_order",
|
|
[item["display_order"] for item in iwooos_surfaces],
|
|
list(range(1, len(expected_iwooos_surface_ids) + 1)),
|
|
)
|
|
for item in iwooos_surfaces:
|
|
assert_equal(
|
|
f"iwooos_projection.existing_frontend_surfaces.{item['surface_id']}.display_mode",
|
|
item["display_mode"],
|
|
"link_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.existing_frontend_surfaces.{item['surface_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.existing_frontend_surfaces.{item['surface_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.existing_frontend_surfaces.{item['surface_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_surface_bridge_statuses = iwooos_projection["frontend_surface_reverse_bridge_statuses"]
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_reverse_bridge_statuses.ids",
|
|
[item["surface_id"] for item in iwooos_surface_bridge_statuses],
|
|
expected_iwooos_surface_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_reverse_bridge_statuses.display_order",
|
|
[item["display_order"] for item in iwooos_surface_bridge_statuses],
|
|
list(range(1, len(expected_iwooos_surface_ids) + 1)),
|
|
)
|
|
expected_iwooos_surface_bridge_states = [
|
|
"embedded_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"direct_bridge_visible",
|
|
"awooop_candidate_visible",
|
|
"direct_bridge_visible",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_reverse_bridge_statuses.states",
|
|
[item["reverse_bridge_state"] for item in iwooos_surface_bridge_statuses],
|
|
expected_iwooos_surface_bridge_states,
|
|
)
|
|
for item in iwooos_surface_bridge_statuses:
|
|
assert_equal(
|
|
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.display_mode",
|
|
item["display_mode"],
|
|
"reverse_bridge_status_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_coverage_groups = iwooos_projection["frontend_surface_coverage_groups"]
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_coverage_groups.ids",
|
|
[item["group_id"] for item in iwooos_coverage_groups],
|
|
expected_iwooos_coverage_group_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_coverage_groups.display_order",
|
|
[item["display_order"] for item in iwooos_coverage_groups],
|
|
list(range(1, len(expected_iwooos_coverage_group_ids) + 1)),
|
|
)
|
|
covered_surface_ids = sorted({surface_id for item in iwooos_coverage_groups for surface_id in item["surface_ids"]})
|
|
assert_equal("iwooos_projection.frontend_surface_coverage_groups.coverage", covered_surface_ids, sorted(expected_iwooos_surface_ids))
|
|
for item in iwooos_coverage_groups:
|
|
assert_equal(
|
|
f"iwooos_projection.frontend_surface_coverage_groups.{item['group_id']}.display_mode",
|
|
item["display_mode"],
|
|
"coverage_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_coverage_groups.{item['group_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_coverage_groups.{item['group_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.frontend_surface_coverage_groups.{item['group_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_conflict_controls = iwooos_projection["frontend_surface_conflict_controls"]
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_conflict_controls.ids",
|
|
[item["control_id"] for item in iwooos_conflict_controls],
|
|
expected_iwooos_conflict_control_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.frontend_surface_conflict_controls.display_order",
|
|
[item["display_order"] for item in iwooos_conflict_controls],
|
|
list(range(1, len(expected_iwooos_conflict_control_ids) + 1)),
|
|
)
|
|
for item in iwooos_conflict_controls:
|
|
assert_equal(
|
|
f"iwooos_projection.frontend_surface_conflict_controls.{item['control_id']}.display_mode",
|
|
item["display_mode"],
|
|
"conflict_control_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_conflict_controls.{item['control_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.frontend_surface_conflict_controls.{item['control_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.frontend_surface_conflict_controls.{item['control_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_journey_steps = iwooos_projection["operator_journey_steps"]
|
|
assert_equal(
|
|
"iwooos_projection.operator_journey_steps.ids",
|
|
[item["step_id"] for item in iwooos_journey_steps],
|
|
expected_iwooos_journey_step_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.operator_journey_steps.display_order",
|
|
[item["display_order"] for item in iwooos_journey_steps],
|
|
list(range(1, len(expected_iwooos_journey_step_ids) + 1)),
|
|
)
|
|
for item in iwooos_journey_steps:
|
|
assert_equal(
|
|
f"iwooos_projection.operator_journey_steps.{item['step_id']}.display_mode",
|
|
item["display_mode"],
|
|
"journey_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.operator_journey_steps.{item['step_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.operator_journey_steps.{item['step_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.operator_journey_steps.{item['step_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_evidence_readiness = iwooos_projection["owner_evidence_readiness_items"]
|
|
assert_equal(
|
|
"iwooos_projection.owner_evidence_readiness_items.ids",
|
|
[item["item_id"] for item in iwooos_evidence_readiness],
|
|
expected_iwooos_evidence_readiness_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.owner_evidence_readiness_items.display_order",
|
|
[item["display_order"] for item in iwooos_evidence_readiness],
|
|
list(range(1, len(expected_iwooos_evidence_readiness_item_ids) + 1)),
|
|
)
|
|
for item in iwooos_evidence_readiness:
|
|
assert_equal(
|
|
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"readiness_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.owner_evidence_readiness_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
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"],
|
|
)
|
|
iwooos_host_action_gates = iwooos_projection["host_action_gate_items"]
|
|
assert_equal(
|
|
"iwooos_projection.host_action_gate_items.ids",
|
|
[item["action_id"] for item in iwooos_host_action_gates],
|
|
expected_iwooos_host_action_gate_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_action_gate_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_action_gates],
|
|
list(range(1, len(expected_iwooos_host_action_gate_item_ids) + 1)),
|
|
)
|
|
for item in iwooos_host_action_gates:
|
|
assert_equal(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.display_mode",
|
|
item["display_mode"],
|
|
"gate_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.active_scan_authorized",
|
|
item["active_scan_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.credentialed_scan_authorized",
|
|
item["credentialed_scan_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.ssh_change_authorized",
|
|
item["ssh_change_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.host_update_authorized",
|
|
item["host_update_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_action_gate_items.{item['action_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_readiness = iwooos_projection["host_evidence_readiness_items"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_readiness_items.ids",
|
|
[item["item_id"] for item in iwooos_host_evidence_readiness],
|
|
expected_iwooos_host_evidence_readiness_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_readiness_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_readiness],
|
|
list(range(1, len(expected_iwooos_host_evidence_readiness_item_ids) + 1)),
|
|
)
|
|
for item in iwooos_host_evidence_readiness:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"evidence_readiness_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.active_scan_authorized",
|
|
item["active_scan_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.credentialed_scan_authorized",
|
|
item["credentialed_scan_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.ssh_change_authorized",
|
|
item["ssh_change_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.host_update_authorized",
|
|
item["host_update_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_readiness_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_collection_order = iwooos_projection["host_evidence_collection_order"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_collection_order.ids",
|
|
[item["step_id"] for item in iwooos_host_evidence_collection_order],
|
|
expected_iwooos_host_evidence_collection_step_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_collection_order.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_collection_order],
|
|
list(range(1, len(expected_iwooos_host_evidence_collection_step_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_collection_source_ids = [
|
|
"host_scope_boundary_evidence",
|
|
"host_owner_decision_record_evidence",
|
|
"host_credential_handling_evidence",
|
|
"host_maintenance_window_evidence",
|
|
"host_rollback_plan_evidence",
|
|
"host_validation_metrics_evidence",
|
|
"host_redacted_ingestion_evidence",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_collection_order.source_item_ids",
|
|
[item["source_item_id"] for item in iwooos_host_evidence_collection_order],
|
|
expected_iwooos_host_evidence_collection_source_ids,
|
|
)
|
|
expected_iwooos_host_evidence_collection_dependencies = [
|
|
[],
|
|
["collect_scope_boundary_first"],
|
|
["collect_owner_decision_second"],
|
|
["collect_owner_decision_second"],
|
|
["collect_maintenance_window_fourth"],
|
|
["collect_rollback_plan_fifth"],
|
|
["collect_validation_metrics_sixth"],
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_collection_order.depends_on_step_ids",
|
|
[item["depends_on_step_ids"] for item in iwooos_host_evidence_collection_order],
|
|
expected_iwooos_host_evidence_collection_dependencies,
|
|
)
|
|
for item in iwooos_host_evidence_collection_order:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.display_mode",
|
|
item["display_mode"],
|
|
"collection_order_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_collection_order.{item['step_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_intake_preflight = iwooos_projection["host_evidence_intake_preflight_checks"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_intake_preflight_checks.ids",
|
|
[item["check_id"] for item in iwooos_host_evidence_intake_preflight],
|
|
expected_iwooos_host_evidence_intake_preflight_check_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_intake_preflight_checks.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_intake_preflight],
|
|
list(range(1, len(expected_iwooos_host_evidence_intake_preflight_check_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_intake_preflight_rejection_lanes = [
|
|
"reject_missing_redacted_metadata_pointer",
|
|
"quarantine_dependency_skip",
|
|
"reject_scan_without_scope",
|
|
"reject_change_without_owner_decision",
|
|
"reject_plaintext_credential_or_secret_value",
|
|
"reject_raw_payload_ingestion",
|
|
"reject_frontend_counter_transition",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_intake_preflight_checks.rejection_lanes",
|
|
[item["rejection_lane"] for item in iwooos_host_evidence_intake_preflight],
|
|
expected_iwooos_host_evidence_intake_preflight_rejection_lanes,
|
|
)
|
|
for item in iwooos_host_evidence_intake_preflight:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"intake_preflight_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_intake_preflight_checks.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_review_outcome_lanes = iwooos_projection["host_evidence_review_outcome_lanes"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_evidence_review_outcome_lanes],
|
|
expected_iwooos_host_evidence_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_evidence_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_review_outcome_states = [
|
|
"candidate_only_not_received",
|
|
"needs_scope_evidence",
|
|
"needs_owner_decision_pointer",
|
|
"quarantine_dependency_skip",
|
|
"rejected_raw_payload",
|
|
"rejected_plaintext_credential",
|
|
"waiting_followup_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_evidence_review_outcome_lanes],
|
|
expected_iwooos_host_evidence_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_evidence_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.approval_record_created",
|
|
item["approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_review_handoff_packets = iwooos_projection["host_evidence_review_handoff_packets"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_handoff_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_evidence_review_handoff_packets],
|
|
expected_iwooos_host_evidence_review_handoff_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_handoff_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_review_handoff_packets],
|
|
list(range(1, len(expected_iwooos_host_evidence_review_handoff_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_review_handoff_requirements = [
|
|
"redacted_scope_boundary_summary",
|
|
"owner_decision_record_pointer",
|
|
"credential_handling_metadata_only_statement",
|
|
"maintenance_window_and_rollback_pointer",
|
|
"post_review_validation_metrics_pointer",
|
|
"redaction_attestation_metadata_only",
|
|
"followup_runtime_gate_pointer_only",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_review_handoff_packets.packet_requirements",
|
|
[item["packet_requirement"] for item in iwooos_host_evidence_review_handoff_packets],
|
|
expected_iwooos_host_evidence_review_handoff_requirements,
|
|
)
|
|
for item in iwooos_host_evidence_review_handoff_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"review_handoff_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.approval_record_created",
|
|
item["approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_review_handoff_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_reviewer_checklist = iwooos_projection["host_evidence_reviewer_checklist_items"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_checklist_items.ids",
|
|
[item["check_id"] for item in iwooos_host_evidence_reviewer_checklist],
|
|
expected_iwooos_host_evidence_reviewer_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_reviewer_checklist],
|
|
list(range(1, len(expected_iwooos_host_evidence_reviewer_checklist_item_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_reviewer_checklist_pass_conditions = [
|
|
"redacted_scope_pointer_only_no_scan_started",
|
|
"decision_pointer_only_no_approval_record_created",
|
|
"secret_value_collection_false",
|
|
"raw_payload_allowed_false",
|
|
"future_change_conditions_only_no_change_execution",
|
|
"validation_pointer_only_runtime_gate_closed",
|
|
"active_runtime_gates_zero_action_buttons_false",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_checklist_items.pass_conditions",
|
|
[item["pass_condition"] for item in iwooos_host_evidence_reviewer_checklist],
|
|
expected_iwooos_host_evidence_reviewer_checklist_pass_conditions,
|
|
)
|
|
for item in iwooos_host_evidence_reviewer_checklist:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"reviewer_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.approval_record_created",
|
|
item["approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_reviewer_checklist_items.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_evidence_reviewer_outcome_lanes = iwooos_projection["host_evidence_reviewer_outcome_lanes"]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_evidence_reviewer_outcome_lanes],
|
|
expected_iwooos_host_evidence_reviewer_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_evidence_reviewer_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_evidence_reviewer_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_evidence_reviewer_outcome_states = [
|
|
"candidate_only_not_accepted",
|
|
"needs_scope_rework",
|
|
"needs_owner_decision_refresh",
|
|
"quarantine_credential_metadata_gap",
|
|
"rejected_redaction_failed",
|
|
"needs_rollback_evidence",
|
|
"waiting_separate_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_evidence_reviewer_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_evidence_reviewer_outcome_lanes],
|
|
expected_iwooos_host_evidence_reviewer_outcome_states,
|
|
)
|
|
for item in iwooos_host_evidence_reviewer_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"reviewer_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.checklist_passed_count",
|
|
item["checklist_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.received_count",
|
|
item["received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.accepted_count",
|
|
item["accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.approval_record_created",
|
|
item["approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_evidence_reviewer_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_candidate_packets = iwooos_projection["host_owner_decision_candidate_packets"]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_candidate_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_candidate_packets],
|
|
expected_iwooos_host_owner_decision_candidate_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_candidate_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_candidate_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_candidate_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_scopes = [
|
|
"scope_boundary_hosts_networks_services_exclusions",
|
|
"observe_only_future_active_or_credentialed_scan_mode",
|
|
"metadata_only_credential_handling_boundary",
|
|
"future_maintenance_window_constraints",
|
|
"rollback_owner_and_recovery_path",
|
|
"post_check_metrics_and_baseline_pointer",
|
|
"separate_runtime_gate_requirement",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_candidate_packets.decision_scopes",
|
|
[item["decision_scope"] for item in iwooos_host_owner_decision_candidate_packets],
|
|
expected_iwooos_host_owner_decision_scopes,
|
|
)
|
|
for item in iwooos_host_owner_decision_candidate_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_candidate_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_candidate_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_review_checklist = iwooos_projection["host_owner_decision_review_checklist_items"]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_checklist_items.ids",
|
|
[item["check_id"] for item in iwooos_host_owner_decision_review_checklist],
|
|
expected_iwooos_host_owner_decision_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_review_checklist],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_review_checklist_item_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_review_guard_conditions = [
|
|
"scope_review_only_owner_decision_received_zero",
|
|
"active_scan_and_credentialed_scan_authorized_false",
|
|
"secret_value_collection_allowed_false",
|
|
"host_update_authorized_false",
|
|
"owner_approval_record_created_false",
|
|
"runtime_gate_opened_false",
|
|
"action_buttons_allowed_false_runtime_gate_separate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_checklist_items.guard_conditions",
|
|
[item["guard_condition"] for item in iwooos_host_owner_decision_review_checklist],
|
|
expected_iwooos_host_owner_decision_review_guard_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_review_checklist:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_review_checklist_items.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_review_outcome_lanes = iwooos_projection["host_owner_decision_review_outcome_lanes"]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_review_outcome_states = [
|
|
"candidate_decision_record_only",
|
|
"needs_scope_refresh",
|
|
"needs_scan_mode_scope_review",
|
|
"quarantine_credential_boundary_gap",
|
|
"needs_maintenance_window",
|
|
"needs_rollback_owner",
|
|
"waiting_separate_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.owner_decision_review_passed_count",
|
|
item["owner_decision_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_draft_packets = iwooos_projection[
|
|
"host_owner_decision_record_draft_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_draft_packets],
|
|
expected_iwooos_host_owner_decision_record_draft_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_draft_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_draft_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_draft_fields = [
|
|
"scope_statement",
|
|
"scan_mode_statement",
|
|
"credential_boundary_statement",
|
|
"maintenance_constraints_statement",
|
|
"rollback_owner_statement",
|
|
"validation_metrics_statement",
|
|
"runtime_gate_pointer_statement",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_packets.draft_fields",
|
|
[item["draft_field"] for item in iwooos_host_owner_decision_record_draft_packets],
|
|
expected_iwooos_host_owner_decision_record_draft_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_draft_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_draft_only",
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_draft_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_draft_review_checklist = iwooos_projection[
|
|
"host_owner_decision_record_draft_review_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.ids",
|
|
[item["check_id"] for item in iwooos_host_owner_decision_record_draft_review_checklist],
|
|
expected_iwooos_host_owner_decision_record_draft_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_draft_review_checklist],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_draft_review_checklist_item_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_draft_review_conditions = [
|
|
"scope_statement_metadata_complete",
|
|
"scan_mode_not_authorization_confirmed",
|
|
"credential_boundary_metadata_only_confirmed",
|
|
"maintenance_constraints_no_change_confirmed",
|
|
"rollback_owner_recovery_pointer_readable",
|
|
"validation_metrics_baseline_linked",
|
|
"runtime_gate_separate_and_closed",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.review_conditions",
|
|
[item["review_condition"] for item in iwooos_host_owner_decision_record_draft_review_checklist],
|
|
expected_iwooos_host_owner_decision_record_draft_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_draft_review_checklist:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_draft_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.decision_record_review_passed_count",
|
|
item["decision_record_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_checklist_items.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_draft_review_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_draft_review_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_record_draft_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_draft_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_draft_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_draft_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_draft_review_outcome_states = [
|
|
"candidate_decision_record_writeup_only",
|
|
"needs_scope_statement_refresh",
|
|
"needs_scan_mode_wording_refresh",
|
|
"needs_credential_boundary_metadata_refresh",
|
|
"needs_maintenance_constraints_refresh",
|
|
"needs_rollback_owner_refresh",
|
|
"waiting_separate_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_record_draft_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_draft_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_draft_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_draft_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.decision_record_review_passed_count",
|
|
item["decision_record_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_draft_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_writeup_packets = iwooos_projection[
|
|
"host_owner_decision_record_writeup_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_writeup_packets],
|
|
expected_iwooos_host_owner_decision_record_writeup_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_writeup_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_writeup_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_writeup_fields = [
|
|
"decision_summary",
|
|
"approved_scope_statement",
|
|
"scan_mode_limits_statement",
|
|
"credential_boundary_statement",
|
|
"maintenance_and_rollback_statement",
|
|
"validation_evidence_statement",
|
|
"runtime_gate_pointer_statement",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_packets.writeup_fields",
|
|
[item["writeup_field"] for item in iwooos_host_owner_decision_record_writeup_packets],
|
|
expected_iwooos_host_owner_decision_record_writeup_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_writeup_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_writeup_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.decision_record_writeup_completed_count",
|
|
item["decision_record_writeup_completed_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_writeup_review_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_writeup_review_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.ids",
|
|
[item["check_id"] for item in iwooos_host_owner_decision_record_writeup_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_writeup_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_writeup_review_checklist_items],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_writeup_review_checklist_item_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_writeup_review_conditions = [
|
|
"decision_summary_risk_acceptance_and_no_execution_statement_readable",
|
|
"scope_exclusion_observation_intent_and_expiry_complete",
|
|
"scan_mode_limits_explicit_and_not_authorization",
|
|
"credential_boundary_metadata_only_and_no_secret_collection",
|
|
"maintenance_window_constraints_rollback_and_human_contact_linked",
|
|
"validation_metrics_baseline_evidence_and_acceptance_condition_linked",
|
|
"runtime_gate_pointer_separate_and_closed",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.review_conditions",
|
|
[item["review_condition"] for item in iwooos_host_owner_decision_record_writeup_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_writeup_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_writeup_review_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_writeup_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.decision_record_writeup_review_passed_count",
|
|
item["decision_record_writeup_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.decision_record_writeup_completed_count",
|
|
item["decision_record_writeup_completed_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_checklist_items.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_writeup_review_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_writeup_review_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_record_writeup_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_writeup_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_writeup_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_writeup_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_writeup_review_outcome_states = [
|
|
"candidate_formal_decision_record_only",
|
|
"needs_decision_summary_clarification",
|
|
"needs_scope_and_expiry_refresh",
|
|
"needs_scan_mode_limit_wording_refresh",
|
|
"needs_credential_boundary_metadata_refresh",
|
|
"needs_maintenance_rollback_refresh",
|
|
"waiting_separate_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_record_writeup_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_writeup_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_writeup_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_writeup_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.decision_record_writeup_review_passed_count",
|
|
item["decision_record_writeup_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.decision_record_writeup_completed_count",
|
|
item["decision_record_writeup_completed_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_writeup_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_candidate_packets = iwooos_projection[
|
|
"host_owner_decision_record_formal_candidate_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_formal_candidate_packets],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_candidate_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_candidate_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_fields = [
|
|
"record_identity_and_version",
|
|
"decision_summary",
|
|
"approved_scope_statement",
|
|
"scan_mode_limits_statement",
|
|
"credential_boundary_statement",
|
|
"maintenance_and_rollback_statement",
|
|
"validation_and_runtime_gate_statement",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_packets.candidate_fields",
|
|
[item["candidate_field"] for item in iwooos_host_owner_decision_record_formal_candidate_packets],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_candidate_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.source_lane_id",
|
|
item["source_lane_id"],
|
|
"host_decision_record_writeup_review_ready_for_formal_record_outcome_lane",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_candidate_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.formal_record_candidate_finalized_count",
|
|
item["formal_record_candidate_finalized_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_candidate_review_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_formal_candidate_review_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.ids",
|
|
[item["check_id"] for item in iwooos_host_owner_decision_record_formal_candidate_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_candidate_review_checklist_items],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_candidate_review_checklist_item_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_conditions = [
|
|
"record_identity_version_owner_scope_and_trace_source_readable",
|
|
"decision_summary_risk_acceptance_and_no_execution_statement_readable",
|
|
"scope_exclusion_observation_intent_and_expiry_consistent",
|
|
"scan_limits_explicit_and_not_authorization",
|
|
"credential_boundary_metadata_only_masked_and_no_secret_collection",
|
|
"maintenance_window_constraints_rollback_and_human_contact_traceable",
|
|
"validation_evidence_linked_and_runtime_gate_separate_closed",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.review_conditions",
|
|
[
|
|
item["review_condition"]
|
|
for item in iwooos_host_owner_decision_record_formal_candidate_review_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_candidate_review_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_candidate_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.formal_record_candidate_review_passed_count",
|
|
item["formal_record_candidate_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.formal_record_candidate_finalized_count",
|
|
item["formal_record_candidate_finalized_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_checklist_items.{item['check_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_formal_candidate_review_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_states = [
|
|
"ready_for_separate_human_record_queue",
|
|
"record_identity_trace_missing",
|
|
"decision_summary_needs_clarification",
|
|
"scope_expiry_needs_refresh",
|
|
"scan_limits_ambiguous_not_authorization",
|
|
"credential_boundary_failed",
|
|
"maintenance_rollback_incomplete",
|
|
"waiting_separate_runtime_gate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_formal_candidate_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_candidate_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_candidate_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.formal_record_candidate_review_passed_count",
|
|
item["formal_record_candidate_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.formal_record_candidate_finalized_count",
|
|
item["formal_record_candidate_finalized_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_candidate_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_record_queue_packets = iwooos_projection[
|
|
"host_owner_decision_record_formal_record_queue_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_formal_record_queue_packets],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_record_queue_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_record_queue_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_fields = [
|
|
"record_identity_queue_packet",
|
|
"decision_summary_queue_packet",
|
|
"scope_expiry_queue_packet",
|
|
"scan_limits_queue_packet",
|
|
"credential_boundary_queue_packet",
|
|
"maintenance_rollback_queue_packet",
|
|
"validation_runtime_gate_queue_packet",
|
|
"no_execution_attestation_queue_packet",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.queue_fields",
|
|
[item["queue_field"] for item in iwooos_host_owner_decision_record_formal_record_queue_packets],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_record_queue_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.source_lane_id",
|
|
item["source_lane_id"],
|
|
"host_decision_record_formal_candidate_review_ready_for_record_queue_outcome_lane",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_record_queue_packet_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_formal_record_queue_review_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.ids",
|
|
[item["item_id"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_record_queue_review_checklist_item_ids) + 1)),
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.source_packet_ids",
|
|
[item["source_packet_id"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_packet_ids,
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_conditions = [
|
|
"identity_traceable_to_candidate_source",
|
|
"decision_summary_readable_without_approval_semantics",
|
|
"scope_expiry_current_and_bounded",
|
|
"scan_limits_not_authorization",
|
|
"credential_boundary_metadata_only",
|
|
"maintenance_rollback_pointer_linked",
|
|
"validation_runtime_gate_separate",
|
|
"no_execution_attestation_present",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.review_conditions",
|
|
[item["review_condition"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_record_queue_review_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_record_queue_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_checklist_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_formal_record_queue_review_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lane_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_states = [
|
|
"ready_for_human_record_owner_handoff",
|
|
"identity_needs_trace_refresh",
|
|
"decision_summary_needs_clarification",
|
|
"scope_expiry_needs_refresh",
|
|
"scan_limits_remain_ambiguous",
|
|
"credential_boundary_failed",
|
|
"maintenance_rollback_incomplete",
|
|
"runtime_gate_still_required",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_formal_record_queue_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_formal_record_queue_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_formal_record_queue_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_formal_record_queue_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_handoff_readiness_packets = iwooos_projection[
|
|
"host_owner_decision_record_human_handoff_readiness_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_packets],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_packets],
|
|
list(range(1, len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_packet_ids) + 1)),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_fields = [
|
|
"record_identity_and_trace",
|
|
"human_record_owner_contact_boundary",
|
|
"decision_summary_and_no_execution_statement",
|
|
"approved_scope_and_expiry_window",
|
|
"observe_only_and_future_scan_limits",
|
|
"metadata_only_credential_boundary",
|
|
"maintenance_constraints_and_rollback_owner",
|
|
"independent_runtime_gate_and_no_action_buttons",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.readiness_fields",
|
|
[item["readiness_field"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_packets],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_handoff_readiness_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_handoff_readiness_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.source_outcome_lane_id",
|
|
item["source_outcome_lane_id"],
|
|
"host_decision_record_formal_record_queue_review_ready_for_human_record_owner_handoff_outcome_lane",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_human_handoff_readiness_review_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.ids",
|
|
[item["item_id"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_items],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_items],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_item_ids) + 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_conditions = [
|
|
"identity_trace_readable",
|
|
"owner_boundary_readable",
|
|
"decision_summary_readable",
|
|
"scope_expiry_current",
|
|
"scan_limits_not_authorization",
|
|
"credential_boundary_metadata_only",
|
|
"maintenance_rollback_traceable",
|
|
"runtime_gate_separate",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.review_conditions",
|
|
[
|
|
item["review_condition"]
|
|
for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_handoff_readiness_review_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_checklist_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_human_handoff_readiness_review_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.ids",
|
|
[item["lane_id"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lane_ids) + 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_states = [
|
|
"ready_for_human_record_owner_review_candidate",
|
|
"identity_trace_needs_refresh",
|
|
"owner_boundary_needs_clarification",
|
|
"decision_summary_needs_clarification",
|
|
"scope_expiry_needs_refresh",
|
|
"scan_limits_remain_ambiguous",
|
|
"credential_boundary_failed",
|
|
"maintenance_rollback_incomplete",
|
|
"runtime_gate_still_required",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.outcome_states",
|
|
[item["outcome_state"] for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes],
|
|
expected_iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_handoff_readiness_review_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_handoff_readiness_review_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets = iwooos_projection[
|
|
"host_owner_decision_record_human_record_owner_review_candidate_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.ids",
|
|
[item["packet_id"] for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.display_order",
|
|
[item["display_order"] for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_packet_ids) + 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_fields = [
|
|
"candidate_identity_and_trace",
|
|
"human_record_owner_boundary",
|
|
"decision_summary_and_no_execution_statement",
|
|
"approved_scope_and_expiry_window",
|
|
"observe_only_and_future_scan_limits",
|
|
"metadata_only_credential_boundary",
|
|
"maintenance_constraints_and_rollback_owner",
|
|
"validation_evidence_and_independent_runtime_gate",
|
|
"no_execution_no_approval_attestation",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.review_candidate_fields",
|
|
[
|
|
item["review_candidate_field"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.source_outcome_lane_id",
|
|
item["source_outcome_lane_id"],
|
|
"host_decision_record_handoff_readiness_review_ready_for_human_record_owner_review_candidate_outcome_lane",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_record_owner_review_candidate_packet_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.human_record_owner_review_started_count",
|
|
item["human_record_owner_review_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.human_record_owner_review_ready_count",
|
|
item["human_record_owner_review_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_human_record_owner_review_candidate_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.ids",
|
|
[
|
|
item["item_id"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.display_order",
|
|
[
|
|
item["display_order"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_items
|
|
],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_item_ids)
|
|
+ 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_review_conditions = [
|
|
"candidate_identity_traceable",
|
|
"candidate_owner_boundary_readable",
|
|
"candidate_decision_summary_readable",
|
|
"candidate_scope_expiry_current",
|
|
"candidate_scan_limits_not_authorization",
|
|
"candidate_credential_boundary_metadata_only",
|
|
"candidate_maintenance_rollback_traceable",
|
|
"candidate_validation_runtime_gate_separate",
|
|
"candidate_no_execution_attestation_present",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.review_conditions",
|
|
[
|
|
item["review_condition"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_review_conditions,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_record_owner_review_candidate_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_review_check_passed_count",
|
|
item["human_record_owner_review_check_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_review_started_count",
|
|
item["human_record_owner_review_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_review_ready_count",
|
|
item["human_record_owner_review_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_checklist_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes = iwooos_projection[
|
|
"host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.ids",
|
|
[
|
|
item["lane_id"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.display_order",
|
|
[
|
|
item["display_order"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes
|
|
],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lane_ids)
|
|
+ 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_states = [
|
|
"ready_for_human_record_owner_review_preparation_candidate",
|
|
"identity_trace_needs_refresh",
|
|
"owner_boundary_needs_clarification",
|
|
"decision_summary_needs_clarification",
|
|
"scope_expiry_needs_refresh",
|
|
"scan_limits_remain_ambiguous",
|
|
"credential_boundary_failed",
|
|
"maintenance_rollback_incomplete",
|
|
"runtime_gate_still_required",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.outcome_states",
|
|
[
|
|
item["outcome_state"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_states,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_record_owner_review_candidate_outcome_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_review_check_passed_count",
|
|
item["human_record_owner_review_check_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_review_started_count",
|
|
item["human_record_owner_review_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_review_ready_count",
|
|
item["human_record_owner_review_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes.{item['lane_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets = iwooos_projection[
|
|
"host_owner_decision_record_human_record_owner_review_preparation_packets"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.ids",
|
|
[
|
|
item["packet_id"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packet_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.display_order",
|
|
[
|
|
item["display_order"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets
|
|
],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packet_ids) + 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_fields = [
|
|
"preparation_identity_trace",
|
|
"preparation_owner_boundary",
|
|
"preparation_decision_summary",
|
|
"preparation_scope_expiry",
|
|
"preparation_scan_limits",
|
|
"preparation_credential_boundary",
|
|
"preparation_maintenance_rollback",
|
|
"preparation_validation_runtime_gate",
|
|
"preparation_no_execution_attestation",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.preparation_fields",
|
|
[
|
|
item["preparation_field"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_fields,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_packets:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.source_outcome_lane_id",
|
|
item["source_outcome_lane_id"],
|
|
"host_decision_record_human_record_owner_review_candidate_ready_for_human_record_owner_review_preparation_outcome_lane",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_record_owner_review_preparation_packet_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_review_prepared_count",
|
|
item["human_record_owner_review_prepared_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_review_check_passed_count",
|
|
item["human_record_owner_review_check_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_review_started_count",
|
|
item["human_record_owner_review_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_review_ready_count",
|
|
item["human_record_owner_review_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_packets.{item['packet_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items = iwooos_projection[
|
|
"host_owner_decision_record_human_record_owner_review_preparation_checklist_items"
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.ids",
|
|
[
|
|
item["item_id"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_item_ids,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.display_order",
|
|
[
|
|
item["display_order"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items
|
|
],
|
|
list(
|
|
range(
|
|
1,
|
|
len(expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_item_ids) + 1,
|
|
)
|
|
),
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_review_conditions = [
|
|
"preparation_identity_trace_readable",
|
|
"preparation_owner_boundary_readable",
|
|
"preparation_decision_summary_readable",
|
|
"preparation_scope_expiry_current",
|
|
"preparation_scan_limits_not_authorization",
|
|
"preparation_credential_boundary_metadata_only",
|
|
"preparation_maintenance_rollback_traceable",
|
|
"preparation_validation_runtime_gate_separate",
|
|
"preparation_no_execution_attestation_present",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.review_conditions",
|
|
[
|
|
item["review_condition"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_review_conditions,
|
|
)
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_failure_routes = [
|
|
"refresh_preparation_identity_trace",
|
|
"clarify_preparation_owner_boundary",
|
|
"clarify_preparation_decision_summary",
|
|
"refresh_preparation_scope_expiry",
|
|
"clarify_preparation_scan_limits",
|
|
"quarantine_preparation_credential_boundary",
|
|
"complete_preparation_maintenance_rollback",
|
|
"keep_runtime_gate_separate",
|
|
"keep_no_execution_attestation_visible",
|
|
]
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.failure_routes",
|
|
[
|
|
item["failure_route"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_failure_routes,
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.source_preparation_packet_ids",
|
|
[
|
|
item["source_preparation_packet_id"]
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items
|
|
],
|
|
expected_iwooos_host_owner_decision_record_human_record_owner_review_preparation_packet_ids,
|
|
)
|
|
for item in iwooos_host_owner_decision_record_human_record_owner_review_preparation_checklist_items:
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.display_mode",
|
|
item["display_mode"],
|
|
"owner_decision_record_human_record_owner_review_preparation_checklist_only",
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_review_prepared_count",
|
|
item["human_record_owner_review_prepared_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_review_check_passed_count",
|
|
item["human_record_owner_review_check_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_review_started_count",
|
|
item["human_record_owner_review_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_review_ready_count",
|
|
item["human_record_owner_review_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_handoff_review_passed_count",
|
|
item["human_record_owner_handoff_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_handoff_started_count",
|
|
item["human_record_owner_handoff_started_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.human_record_owner_handoff_ready_count",
|
|
item["human_record_owner_handoff_ready_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.formal_record_queue_review_passed_count",
|
|
item["formal_record_queue_review_passed_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.formal_record_queue_enqueued_count",
|
|
item["formal_record_queue_enqueued_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.decision_record_created",
|
|
item["decision_record_created"],
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.owner_decision_received_count",
|
|
item["owner_decision_received_count"],
|
|
0,
|
|
)
|
|
assert_equal(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.owner_decision_accepted_count",
|
|
item["owner_decision_accepted_count"],
|
|
0,
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.owner_approval_record_created",
|
|
item["owner_approval_record_created"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.runtime_gate_opened",
|
|
item["runtime_gate_opened"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.raw_payload_allowed",
|
|
item["raw_payload_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.secret_value_collection_allowed",
|
|
item["secret_value_collection_allowed"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.runtime_execution_authorized",
|
|
item["runtime_execution_authorized"],
|
|
)
|
|
assert_false(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.action_buttons_allowed",
|
|
item["action_buttons_allowed"],
|
|
)
|
|
assert_true(
|
|
f"iwooos_projection.host_owner_decision_record_human_record_owner_review_preparation_checklist_items.{item['item_id']}.not_authorization",
|
|
item["not_authorization"],
|
|
)
|
|
assert_equal(
|
|
"iwooos_projection.non_blocking_lane_ids",
|
|
iwooos_projection["non_blocking_lane_ids"],
|
|
expected_low_friction_lane_ids,
|
|
)
|
|
for evidence_ref in [
|
|
"docs/security/iwooos-posture-projection.snapshot.json",
|
|
"docs/security/security-rollout-policy.snapshot.json",
|
|
"docs/security/security-mirror-status-rollup.snapshot.json",
|
|
"docs/security/source-control-owner-response-validation-rollup.snapshot.json",
|
|
"docs/security/kali-integration-status.snapshot.json",
|
|
]:
|
|
assert_contains("iwooos_projection.evidence_refs", iwooos_projection["evidence_refs"], evidence_ref)
|
|
for output in [
|
|
"display_security_posture",
|
|
"display_progress_estimate",
|
|
"display_awooop_read_only_landing_readiness",
|
|
"display_awooop_cross_session_handoff_packets",
|
|
"display_progress_hold_movement_gates",
|
|
"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_reverse_bridge_statuses",
|
|
"display_frontend_surface_coverage_matrix",
|
|
"display_frontend_surface_conflict_controls",
|
|
"display_operator_journey_steps",
|
|
"display_owner_evidence_readiness_board",
|
|
"display_host_coverage_view",
|
|
"display_host_action_gate_matrix",
|
|
"display_host_evidence_readiness_board",
|
|
"display_host_evidence_collection_order",
|
|
"display_host_evidence_intake_preflight_checks",
|
|
"display_host_evidence_review_outcome_lanes",
|
|
"display_host_evidence_review_handoff_packets",
|
|
"display_host_evidence_reviewer_checklist",
|
|
"display_host_evidence_reviewer_outcome_lanes",
|
|
"display_host_owner_decision_candidate_packets",
|
|
"display_host_owner_decision_review_checklist",
|
|
"display_host_owner_decision_review_outcome_lanes",
|
|
"display_host_owner_decision_record_draft_packets",
|
|
"display_host_owner_decision_record_draft_review_checklist",
|
|
"display_host_owner_decision_record_draft_review_outcome_lanes",
|
|
"display_host_owner_decision_record_writeup_packets",
|
|
"display_host_owner_decision_record_writeup_review_checklist",
|
|
"display_host_owner_decision_record_writeup_review_outcome_lanes",
|
|
"display_host_owner_decision_record_formal_candidate_packets",
|
|
"display_host_owner_decision_record_formal_candidate_review_checklist",
|
|
"display_host_owner_decision_record_formal_candidate_review_outcome_lanes",
|
|
"display_host_owner_decision_record_formal_record_queue_packets",
|
|
"display_host_owner_decision_record_formal_record_queue_review_checklist",
|
|
"display_host_owner_decision_record_formal_record_queue_review_outcome_lanes",
|
|
"display_host_owner_decision_record_human_handoff_readiness_packets",
|
|
"display_host_owner_decision_record_human_handoff_readiness_review_checklist",
|
|
"display_host_owner_decision_record_human_handoff_readiness_review_outcome_lanes",
|
|
"display_host_owner_decision_record_human_record_owner_review_candidate_packets",
|
|
"display_host_owner_decision_record_human_record_owner_review_candidate_checklist",
|
|
"display_host_owner_decision_record_human_record_owner_review_candidate_outcome_lanes",
|
|
"display_host_owner_decision_record_human_record_owner_review_preparation_packets",
|
|
"display_host_owner_decision_record_human_record_owner_review_preparation_checklist",
|
|
"display_evidence_refs",
|
|
"display_forbidden_actions",
|
|
"display_source_control_primary_readiness_board",
|
|
]:
|
|
assert_contains("iwooos_projection.allowed_frontend_outputs", iwooos_projection["allowed_frontend_outputs"], output)
|
|
for output in [
|
|
"add_scan_button",
|
|
"add_execute_button",
|
|
"add_repair_button",
|
|
"start_kali_scan",
|
|
"call_kali_execute_endpoint",
|
|
"create_github_repo",
|
|
"sync_git_refs",
|
|
"modify_workflow_or_secret",
|
|
"enable_runner",
|
|
"ssh_to_host",
|
|
"open_ssh_session",
|
|
"update_kali_host",
|
|
"auto_update_host",
|
|
"run_host_package_upgrade",
|
|
"credentialed_scan_host",
|
|
"mark_host_evidence_received",
|
|
"mark_host_evidence_accepted",
|
|
"ingest_raw_host_evidence",
|
|
"treat_reverse_bridge_status_as_authorization",
|
|
"create_runtime_gate_from_reverse_bridge_status",
|
|
"create_code_review_blocker_from_reverse_bridge_status",
|
|
"create_gitea_or_github_action_from_reverse_bridge_status",
|
|
"advance_host_collection_state",
|
|
"skip_host_evidence_dependency",
|
|
"accept_host_evidence_without_preflight",
|
|
"ingest_host_evidence_raw_payload",
|
|
"collect_host_credential_plaintext",
|
|
"advance_host_evidence_counters_from_frontend",
|
|
"create_host_approval_from_review_lane",
|
|
"treat_host_review_lane_as_runtime_gate",
|
|
"mark_host_review_outcome_accepted",
|
|
"treat_host_handoff_packet_as_approval",
|
|
"mark_host_handoff_packet_received",
|
|
"store_host_handoff_sensitive_payload",
|
|
"treat_host_reviewer_check_as_approval",
|
|
"mark_host_reviewer_check_passed_from_frontend",
|
|
"open_runtime_gate_from_reviewer_check",
|
|
"treat_host_reviewer_outcome_as_approval",
|
|
"mark_host_reviewer_outcome_passed",
|
|
"open_runtime_gate_from_reviewer_outcome",
|
|
"treat_host_owner_decision_candidate_as_approval",
|
|
"mark_host_owner_decision_approved",
|
|
"open_runtime_gate_from_owner_decision_candidate",
|
|
"treat_host_owner_decision_review_check_as_approval",
|
|
"mark_host_owner_decision_review_passed",
|
|
"open_runtime_gate_from_owner_decision_review_check",
|
|
"treat_host_owner_decision_review_outcome_as_approval",
|
|
"mark_host_owner_decision_review_outcome_passed",
|
|
"open_runtime_gate_from_owner_decision_review_outcome",
|
|
"create_host_owner_decision_record_from_draft",
|
|
"mark_host_owner_decision_record_created",
|
|
"open_runtime_gate_from_owner_decision_record_draft",
|
|
"treat_host_owner_decision_record_draft_review_as_approval",
|
|
"mark_host_owner_decision_record_draft_review_passed",
|
|
"create_host_owner_decision_record_from_draft_review",
|
|
"open_runtime_gate_from_owner_decision_record_draft_review",
|
|
"treat_host_owner_decision_record_draft_review_outcome_as_approval",
|
|
"mark_host_owner_decision_record_draft_review_outcome_passed",
|
|
"create_host_owner_decision_record_from_draft_review_outcome",
|
|
"open_runtime_gate_from_owner_decision_record_draft_review_outcome",
|
|
"create_host_owner_decision_record_from_writeup",
|
|
"mark_host_owner_decision_record_writeup_completed",
|
|
"mark_host_owner_decision_record_accepted_from_writeup",
|
|
"open_runtime_gate_from_owner_decision_record_writeup",
|
|
"treat_host_owner_decision_record_writeup_review_as_approval",
|
|
"mark_host_owner_decision_record_writeup_review_passed",
|
|
"mark_host_owner_decision_record_writeup_review_completed",
|
|
"create_host_owner_decision_record_from_writeup_review",
|
|
"open_runtime_gate_from_owner_decision_record_writeup_review",
|
|
"treat_host_owner_decision_record_writeup_review_outcome_as_approval",
|
|
"mark_host_owner_decision_record_writeup_review_outcome_passed",
|
|
"mark_host_owner_decision_record_writeup_review_outcome_completed",
|
|
"create_host_owner_decision_record_from_writeup_review_outcome",
|
|
"open_runtime_gate_from_owner_decision_record_writeup_review_outcome",
|
|
"treat_host_owner_decision_record_formal_candidate_as_approval",
|
|
"mark_host_owner_decision_record_formal_candidate_finalized",
|
|
"create_host_owner_decision_record_from_formal_candidate",
|
|
"accept_host_owner_decision_record_from_formal_candidate",
|
|
"open_runtime_gate_from_owner_decision_record_formal_candidate",
|
|
"treat_host_owner_decision_record_formal_candidate_review_as_approval",
|
|
"mark_host_owner_decision_record_formal_candidate_review_passed",
|
|
"mark_host_owner_decision_record_formal_candidate_review_finalized",
|
|
"create_host_owner_decision_record_from_formal_candidate_review",
|
|
"open_runtime_gate_from_owner_decision_record_formal_candidate_review",
|
|
"treat_host_owner_decision_record_formal_candidate_review_outcome_as_approval",
|
|
"mark_host_owner_decision_record_formal_candidate_review_outcome_passed",
|
|
"mark_host_owner_decision_record_formal_candidate_review_outcome_finalized",
|
|
"create_host_owner_decision_record_from_formal_candidate_review_outcome",
|
|
"open_runtime_gate_from_owner_decision_record_formal_candidate_review_outcome",
|
|
"treat_host_owner_decision_record_formal_record_queue_packet_as_approval",
|
|
"enqueue_host_owner_decision_record_formal_record_queue_from_frontend",
|
|
"create_host_owner_decision_record_from_formal_record_queue_packet",
|
|
"accept_host_owner_decision_record_from_formal_record_queue_packet",
|
|
"open_runtime_gate_from_owner_decision_record_formal_record_queue_packet",
|
|
"treat_host_owner_decision_record_formal_record_queue_review_as_approval",
|
|
"mark_host_owner_decision_record_formal_record_queue_review_passed",
|
|
"enqueue_host_owner_decision_record_from_formal_record_queue_review",
|
|
"create_host_owner_decision_record_from_formal_record_queue_review",
|
|
"open_runtime_gate_from_formal_record_queue_review",
|
|
"treat_host_owner_decision_record_formal_record_queue_review_outcome_as_approval",
|
|
"mark_host_owner_decision_record_formal_record_queue_review_outcome_passed",
|
|
"enqueue_host_owner_decision_record_from_formal_record_queue_review_outcome",
|
|
"create_host_owner_decision_record_from_formal_record_queue_review_outcome",
|
|
"open_runtime_gate_from_formal_record_queue_review_outcome",
|
|
"treat_host_owner_decision_record_handoff_readiness_as_approval",
|
|
"start_human_record_owner_handoff_from_readiness_packet",
|
|
"mark_human_record_owner_handoff_ready_from_frontend",
|
|
"create_host_owner_decision_record_from_handoff_readiness",
|
|
"open_runtime_gate_from_handoff_readiness",
|
|
"treat_host_owner_decision_record_handoff_readiness_review_as_approval",
|
|
"mark_human_record_owner_handoff_readiness_review_passed",
|
|
"start_human_record_owner_handoff_from_readiness_review",
|
|
"create_host_owner_decision_record_from_handoff_readiness_review",
|
|
"open_runtime_gate_from_handoff_readiness_review",
|
|
"treat_host_owner_decision_record_handoff_readiness_review_outcome_as_approval",
|
|
"mark_human_record_owner_handoff_readiness_review_outcome_passed",
|
|
"start_human_record_owner_handoff_from_readiness_review_outcome",
|
|
"create_host_owner_decision_record_from_handoff_readiness_review_outcome",
|
|
"open_runtime_gate_from_handoff_readiness_review_outcome",
|
|
"treat_host_owner_decision_record_human_record_owner_review_candidate_packet_as_approval",
|
|
"start_human_record_owner_review_from_candidate_packet",
|
|
"mark_human_record_owner_review_ready_from_candidate_packet",
|
|
"collect_owner_decision_from_human_record_owner_review_candidate_packet",
|
|
"create_host_owner_decision_record_from_human_record_owner_review_candidate_packet",
|
|
"open_runtime_gate_from_human_record_owner_review_candidate_packet",
|
|
"treat_host_owner_decision_record_human_record_owner_review_candidate_checklist_as_approval",
|
|
"mark_human_record_owner_review_candidate_checklist_passed",
|
|
"start_human_record_owner_review_from_candidate_checklist",
|
|
"mark_human_record_owner_review_ready_from_candidate_checklist",
|
|
"collect_owner_decision_from_human_record_owner_review_candidate_checklist",
|
|
"create_host_owner_decision_record_from_human_record_owner_review_candidate_checklist",
|
|
"open_runtime_gate_from_human_record_owner_review_candidate_checklist",
|
|
"treat_host_owner_decision_record_human_record_owner_review_candidate_outcome_as_approval",
|
|
"mark_human_record_owner_review_candidate_outcome_passed",
|
|
"start_human_record_owner_review_from_candidate_outcome",
|
|
"mark_human_record_owner_review_ready_from_candidate_outcome",
|
|
"collect_owner_decision_from_human_record_owner_review_candidate_outcome",
|
|
"create_host_owner_decision_record_from_human_record_owner_review_candidate_outcome",
|
|
"open_runtime_gate_from_human_record_owner_review_candidate_outcome",
|
|
"treat_host_owner_decision_record_human_record_owner_review_preparation_packet_as_approval",
|
|
"mark_human_record_owner_review_preparation_completed",
|
|
"start_human_record_owner_review_from_preparation_packet",
|
|
"mark_human_record_owner_review_ready_from_preparation_packet",
|
|
"collect_owner_decision_from_human_record_owner_review_preparation_packet",
|
|
"create_host_owner_decision_record_from_human_record_owner_review_preparation_packet",
|
|
"open_runtime_gate_from_human_record_owner_review_preparation_packet",
|
|
"treat_host_owner_decision_record_human_record_owner_review_preparation_checklist_as_approval",
|
|
"mark_human_record_owner_review_preparation_checklist_passed",
|
|
"mark_human_record_owner_review_prepared_from_preparation_checklist",
|
|
"start_human_record_owner_review_from_preparation_checklist",
|
|
"mark_human_record_owner_review_ready_from_preparation_checklist",
|
|
"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_awooop_landing_readiness_as_production_consumption",
|
|
"enable_awooop_execution_router_from_landing_readiness",
|
|
"mark_production_landing_enabled_from_readiness",
|
|
"create_action_button_from_awooop_landing_readiness",
|
|
"skip_guard_from_awooop_landing_readiness",
|
|
"mark_progress_changed_from_awooop_landing_readiness",
|
|
"treat_awooop_handoff_as_production_consumption",
|
|
"merge_from_awooop_handoff",
|
|
"deploy_from_awooop_handoff",
|
|
"switch_primary_from_awooop_handoff",
|
|
"modify_refs_from_awooop_handoff",
|
|
"skip_guard_from_awooop_handoff",
|
|
"mark_progress_changed_from_awooop_handoff",
|
|
"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",
|
|
"mark_owner_response_received_from_progress_acceleration_lane",
|
|
"enable_github_primary_from_progress_acceleration_lane",
|
|
"enable_production_execution_from_progress_acceleration_lane",
|
|
"treat_owner_response_focus_as_received",
|
|
"collect_owner_response_from_iwooos_focus",
|
|
"autofill_owner_response_from_iwooos_focus",
|
|
"mark_owner_response_accepted_from_iwooos_focus",
|
|
"skip_s4_9_from_owner_response_focus",
|
|
"open_runtime_gate_from_owner_response_focus",
|
|
"switch_github_primary_from_owner_response_focus",
|
|
"create_repo_from_owner_response_focus",
|
|
"treat_s4_9_preflight_as_request_sent",
|
|
"treat_s4_9_preflight_as_received",
|
|
"mark_s4_9_preflight_passed_from_frontend",
|
|
"accept_s4_9_owner_response_from_preflight",
|
|
"emit_s4_9_audit_event_from_preflight",
|
|
"open_runtime_gate_from_s4_9_preflight",
|
|
"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",
|
|
"create_github_repo_from_primary_readiness_board",
|
|
"change_repo_visibility_from_primary_readiness_board",
|
|
"sync_refs_from_primary_readiness_board",
|
|
"delete_refs_from_primary_readiness_board",
|
|
"force_push_from_primary_readiness_board",
|
|
"switch_github_primary_from_primary_readiness_board",
|
|
"collect_secret_value_from_primary_readiness_board",
|
|
"disable_gitea_from_primary_readiness_board",
|
|
"apply_runtime_blocking_control",
|
|
"switch_github_primary",
|
|
"production_deploy",
|
|
"treat_progress_as_authorization",
|
|
]:
|
|
assert_contains("iwooos_projection.forbidden_frontend_outputs", iwooos_projection["forbidden_frontend_outputs"], output)
|
|
|
|
assert_text_contains("awooop_home_page.security_mirror_panel", awooop_home_page, "SecurityMirrorPanel")
|
|
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 [
|
|
"read_only_production_landing_evidence_count=1",
|
|
"execution_router_linked=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_home_page.security_mirror_boundary", awooop_home_page, text)
|
|
for key in ["title", "subtitle", "badge", "openIwooos", "metrics", "checkpoints"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.home.securityMirror",
|
|
list(web_messages_zh["awooop"]["home"]["securityMirror"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.home.securityMirror",
|
|
list(web_messages_en["awooop"]["home"]["securityMirror"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_home_page.github_primary_panel",
|
|
awooop_home_page,
|
|
"GitHubPrimaryReadinessHomePanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_home_page.github_primary_metrics",
|
|
awooop_home_page,
|
|
"githubPrimaryReadinessMetrics",
|
|
)
|
|
assert_text_contains("awooop_home_page.github_primary_iwooos_link", awooop_home_page, 'href="/iwooos"')
|
|
for text in [
|
|
"source_control_primary_readiness_gate_v1",
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"source_control_primary_rollback_adr_v1",
|
|
"source_control_workflow_secret_name_inventory_v1",
|
|
"repo_creation_authorized=false",
|
|
"refs_mutation_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_home_page.github_primary_boundary", awooop_home_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"metrics",
|
|
"readinessRefsTitle",
|
|
"readinessRefs",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.home.githubPrimaryReadiness",
|
|
list(web_messages_zh["awooop"]["home"]["githubPrimaryReadiness"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.home.githubPrimaryReadiness",
|
|
list(web_messages_en["awooop"]["home"]["githubPrimaryReadiness"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_home_page.owner_response_validation_panel",
|
|
awooop_home_page,
|
|
"OwnerResponseValidationRollupPanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_home_page.owner_response_validation_packets",
|
|
awooop_home_page,
|
|
"ownerResponseValidationPackets",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_home_page.owner_response_validation_checks",
|
|
awooop_home_page,
|
|
"ownerResponseValidationChecks",
|
|
)
|
|
assert_text_contains("awooop_home_page.owner_response_validation_iwooos_link", awooop_home_page, 'href="/iwooos"')
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"S4.9",
|
|
"S4.10",
|
|
"S4.11",
|
|
"S4.12",
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_home_page.owner_response_validation_boundary", awooop_home_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"packetsTitle",
|
|
"validationTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"fields",
|
|
"metrics",
|
|
"packets",
|
|
"checks",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.home.ownerResponseValidation",
|
|
list(web_messages_zh["awooop"]["home"]["ownerResponseValidation"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.home.ownerResponseValidation",
|
|
list(web_messages_en["awooop"]["home"]["ownerResponseValidation"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains("awooop_work_items_page.security_mirror_item", awooop_work_items_page, "iwooosSecurityMirror")
|
|
assert_text_contains("awooop_work_items_page.github_primary_item", awooop_work_items_page, "githubPrimaryReadiness")
|
|
assert_text_contains("awooop_work_items_page.owner_response_validation_item", awooop_work_items_page, "ownerResponseValidation")
|
|
assert_text_contains(
|
|
"awooop_work_items_page.telegram_source_traditional_chinese",
|
|
awooop_work_items_page,
|
|
'source: "telegram_callback / 真相鏈鏡像"',
|
|
)
|
|
assert_text_contains(
|
|
"awooop_work_items_page.security_mirror_source",
|
|
awooop_work_items_page,
|
|
"security_mirror_status_rollup_v1 / iwooos_posture_projection_v1",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_work_items_page.github_primary_source",
|
|
awooop_work_items_page,
|
|
"source-control-primary-readiness-gate.snapshot.json / iwooos_posture_projection_v1",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_work_items_page.owner_response_validation_source",
|
|
awooop_work_items_page,
|
|
"source-control-owner-response-validation-rollup.snapshot.json / security_mirror_status_rollup_v1",
|
|
)
|
|
assert_text_contains("awooop_work_items_page.security_mirror_href", awooop_work_items_page, 'href: "/iwooos"')
|
|
assert_text_contains("awooop_work_items_page.security_mirror_status", awooop_work_items_page, 'status: "watching"')
|
|
for key in ["iwooos"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.workItems.surfaces",
|
|
list(web_messages_zh["awooop"]["workItems"]["surfaces"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.workItems.surfaces",
|
|
list(web_messages_en["awooop"]["workItems"]["surfaces"].keys()),
|
|
key,
|
|
)
|
|
for section in ["items", "gates", "evidence"]:
|
|
assert_contains(
|
|
f"web_messages.zh-TW.awooop.workItems.{section}",
|
|
list(web_messages_zh["awooop"]["workItems"][section].keys()),
|
|
"iwooosSecurityMirror",
|
|
)
|
|
assert_contains(
|
|
f"web_messages.en.awooop.workItems.{section}",
|
|
list(web_messages_en["awooop"]["workItems"][section].keys()),
|
|
"iwooosSecurityMirror",
|
|
)
|
|
assert_contains(
|
|
f"web_messages.zh-TW.awooop.workItems.{section}",
|
|
list(web_messages_zh["awooop"]["workItems"][section].keys()),
|
|
"githubPrimaryReadiness",
|
|
)
|
|
assert_contains(
|
|
f"web_messages.en.awooop.workItems.{section}",
|
|
list(web_messages_en["awooop"]["workItems"][section].keys()),
|
|
"githubPrimaryReadiness",
|
|
)
|
|
assert_contains(
|
|
f"web_messages.zh-TW.awooop.workItems.{section}",
|
|
list(web_messages_zh["awooop"]["workItems"][section].keys()),
|
|
"ownerResponseValidation",
|
|
)
|
|
assert_contains(
|
|
f"web_messages.en.awooop.workItems.{section}",
|
|
list(web_messages_en["awooop"]["workItems"][section].keys()),
|
|
"ownerResponseValidation",
|
|
)
|
|
for key in ["iwooosSecurityMirrorOwner", "iwooosSecurityMirrorBoundary"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.workItems.evidence",
|
|
list(web_messages_zh["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.workItems.evidence",
|
|
list(web_messages_en["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
for key in ["githubPrimaryOwnerResponses", "githubPrimaryWorkflowNames", "githubPrimaryBoundary"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.workItems.evidence",
|
|
list(web_messages_zh["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerResponseValidationChecks",
|
|
"ownerResponseValidationBoundary",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.workItems.evidence",
|
|
list(web_messages_zh["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.workItems.evidence",
|
|
list(web_messages_en["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.workItems.evidence",
|
|
list(web_messages_en["awooop"]["workItems"]["evidence"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_tenants_page.security_tenant_scope_panel",
|
|
awooop_tenants_page,
|
|
"SecurityTenantScopeCandidatePanel",
|
|
)
|
|
assert_text_contains("awooop_tenants_page.iwooos_link", awooop_tenants_page, 'href="/iwooos"')
|
|
for text in [
|
|
"tenant_migration_mode_changed=false",
|
|
"tenant_policy_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_tenants_page.security_tenant_boundary", awooop_tenants_page, text)
|
|
for text in [
|
|
"AWOOOI 第一租戶",
|
|
"IwoooS 資安鏡像",
|
|
"Kali 112 / 開發主機 168 / 開發主機 111",
|
|
"S4.9-S4.12 負責人回覆等待中",
|
|
]:
|
|
assert_text_contains("awooop_tenants_page.security_tenant_scope_refs", awooop_tenants_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"scopeRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"scopeRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.tenants.securityTenantScopeCandidate",
|
|
list(web_messages_zh["awooop"]["tenants"]["securityTenantScopeCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.tenants.securityTenantScopeCandidate",
|
|
list(web_messages_en["awooop"]["tenants"]["securityTenantScopeCandidate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_tenants_page.github_tenant_scope_panel",
|
|
awooop_tenants_page,
|
|
"GitHubTenantReadinessScopePanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_tenants_page.github_tenant_scope_metrics",
|
|
awooop_tenants_page,
|
|
"githubTenantReadinessMetrics",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_tenants_page.github_tenant_scope_iwooos_link",
|
|
awooop_tenants_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"AWOOOI 第一租戶原始碼管控範圍",
|
|
"S4.9 Gitea 清冊負責人證明",
|
|
"S4.10 GitHub 目標負責人決策",
|
|
"S4.12 工作流程 / 機密名稱負責人回覆",
|
|
"tenant_source_control_scope_accepted=false",
|
|
"repo_owner_response_accepted=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_mutation_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
"tenant_policy_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_tenants_page.github_tenant_scope_boundary", awooop_tenants_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"scopeRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"scopeRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.tenants.githubTenantReadinessScope",
|
|
list(web_messages_zh["awooop"]["tenants"]["githubTenantReadinessScope"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.tenants.githubTenantReadinessScope",
|
|
list(web_messages_en["awooop"]["tenants"]["githubTenantReadinessScope"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_tenants_page.owner_response_validation_scope_panel",
|
|
awooop_tenants_page,
|
|
"OwnerResponseValidationTenantScopePanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_tenants_page.owner_response_validation_refs",
|
|
awooop_tenants_page,
|
|
"ownerResponseValidationTenantRefs",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_tenants_page.owner_response_validation_iwooos_link",
|
|
awooop_tenants_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"tenant_source_control_scope_accepted=false",
|
|
"tenant_policy_mutation_authorized=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_tenants_page.owner_response_validation_boundary", awooop_tenants_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"scopeRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"scopeRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.tenants.ownerResponseValidationScope",
|
|
list(web_messages_zh["awooop"]["tenants"]["ownerResponseValidationScope"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.tenants.ownerResponseValidationScope",
|
|
list(web_messages_en["awooop"]["tenants"]["ownerResponseValidationScope"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"validationRollup",
|
|
"giteaAttestation",
|
|
"githubTarget",
|
|
"refsTruth",
|
|
"workflowSecret",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.tenants.ownerResponseValidationScope.scopeRefs",
|
|
list(web_messages_zh["awooop"]["tenants"]["ownerResponseValidationScope"]["scopeRefs"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.tenants.ownerResponseValidationScope.scopeRefs",
|
|
list(web_messages_en["awooop"]["tenants"]["ownerResponseValidationScope"]["scopeRefs"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_runs_page.security_run_state_panel",
|
|
awooop_runs_page,
|
|
"SecurityRunStateCandidatePanel",
|
|
)
|
|
assert_text_contains("awooop_runs_page.iwooos_link", awooop_runs_page, 'href="/iwooos"')
|
|
for text in [
|
|
"security_run_created=false",
|
|
"execution_router_linked=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_runs_page.security_run_boundary", awooop_runs_page, text)
|
|
for text in [
|
|
"security_mirror_run_state_candidate",
|
|
"read_only_dry_run_only",
|
|
"S4.9-S4.12 負責人回覆等待中",
|
|
"主動執行期閘門 0",
|
|
]:
|
|
assert_text_contains("awooop_runs_page.security_run_refs", awooop_runs_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"runRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"runRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runs.securityRunStateCandidate",
|
|
list(web_messages_zh["awooop"]["runs"]["securityRunStateCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runs.securityRunStateCandidate",
|
|
list(web_messages_en["awooop"]["runs"]["securityRunStateCandidate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_runs_page.github_run_boundary_panel",
|
|
awooop_runs_page,
|
|
"GitHubRunReadinessBoundaryPanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_runs_page.github_run_boundary_metrics",
|
|
awooop_runs_page,
|
|
"githubRunReadinessMetrics",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_runs_page.github_run_boundary_iwooos_link",
|
|
awooop_runs_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"source_control_primary_readiness_gate_v1",
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"source_control_workflow_secret_name_inventory_v1",
|
|
"source_control_primary_rollback_adr_v1",
|
|
"security_run_created=false",
|
|
"github_primary_run_created=false",
|
|
"execution_router_linked=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_mutation_authorized=false",
|
|
"workflow_secret_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_runs_page.github_run_boundary", awooop_runs_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"runRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"runRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runs.githubRunReadinessBoundary",
|
|
list(web_messages_zh["awooop"]["runs"]["githubRunReadinessBoundary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runs.githubRunReadinessBoundary",
|
|
list(web_messages_en["awooop"]["runs"]["githubRunReadinessBoundary"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_runs_page.owner_response_validation_run_boundary_panel",
|
|
awooop_runs_page,
|
|
"OwnerResponseValidationRunBoundaryPanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_runs_page.owner_response_validation_run_refs",
|
|
awooop_runs_page,
|
|
"ownerResponseValidationRunRefs",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_runs_page.owner_response_validation_run_iwooos_link",
|
|
awooop_runs_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"security_run_created=false",
|
|
"owner_response_validation_run_created=false",
|
|
"platform_run_creation_authorized=false",
|
|
"execution_router_linked=false",
|
|
"approval_record_created=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_runs_page.owner_response_validation_run_boundary", awooop_runs_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"runRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"runRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runs.ownerResponseValidationRunBoundary",
|
|
list(web_messages_zh["awooop"]["runs"]["ownerResponseValidationRunBoundary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runs.ownerResponseValidationRunBoundary",
|
|
list(web_messages_en["awooop"]["runs"]["ownerResponseValidationRunBoundary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"validationRollup",
|
|
"giteaAttestation",
|
|
"githubTarget",
|
|
"refsTruth",
|
|
"workflowSecret",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runs.ownerResponseValidationRunBoundary.runRefs",
|
|
list(web_messages_zh["awooop"]["runs"]["ownerResponseValidationRunBoundary"]["runRefs"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runs.ownerResponseValidationRunBoundary.runRefs",
|
|
list(web_messages_en["awooop"]["runs"]["ownerResponseValidationRunBoundary"]["runRefs"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_run_detail_page.owner_response_validation_detail_boundary_panel",
|
|
awooop_run_detail_page,
|
|
"OwnerResponseValidationDetailBoundaryPanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_run_detail_page.owner_response_validation_detail_refs",
|
|
awooop_run_detail_page,
|
|
"ownerResponseValidationDetailRefs",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_run_detail_page.owner_response_validation_detail_iwooos_link",
|
|
awooop_run_detail_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"run_detail_owner_response_linked=false",
|
|
"run_detail_approval_record_created=false",
|
|
"mcp_execution_authorized=false",
|
|
"remediation_execution_authorized=false",
|
|
"platform_run_creation_authorized=false",
|
|
"execution_router_linked=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_run_detail_page.owner_response_validation_detail_boundary", awooop_run_detail_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"detailRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"detailRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runDetail.ownerResponseValidationDetailBoundary",
|
|
list(web_messages_zh["awooop"]["runDetail"]["ownerResponseValidationDetailBoundary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runDetail.ownerResponseValidationDetailBoundary",
|
|
list(web_messages_en["awooop"]["runDetail"]["ownerResponseValidationDetailBoundary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"validationRollup",
|
|
"giteaAttestation",
|
|
"githubTarget",
|
|
"refsTruth",
|
|
"workflowSecret",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.runDetail.ownerResponseValidationDetailBoundary.detailRefs",
|
|
list(web_messages_zh["awooop"]["runDetail"]["ownerResponseValidationDetailBoundary"]["detailRefs"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.runDetail.ownerResponseValidationDetailBoundary.detailRefs",
|
|
list(web_messages_en["awooop"]["runDetail"]["ownerResponseValidationDetailBoundary"]["detailRefs"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_approval_detail_page.owner_response_validation_decision_panel",
|
|
awooop_approval_detail_page,
|
|
"OwnerResponseValidationDecisionBoundaryPanel",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_approval_detail_page.owner_response_validation_decision_refs",
|
|
awooop_approval_detail_page,
|
|
"ownerResponseValidationDecisionRefs",
|
|
)
|
|
assert_text_contains(
|
|
"awooop_approval_detail_page.owner_response_validation_decision_iwooos_link",
|
|
awooop_approval_detail_page,
|
|
'href="/iwooos"',
|
|
)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"approval_decision_owner_response_linked=false",
|
|
"owner_response_acceptance_authorized=false",
|
|
"security_approval_record_created=false",
|
|
"platform_run_creation_authorized=false",
|
|
"execution_router_linked=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains(
|
|
"awooop_approval_detail_page.owner_response_validation_decision_boundary",
|
|
awooop_approval_detail_page,
|
|
text,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"openIwooos",
|
|
"decisionRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"metrics",
|
|
"decisionRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.approvalDecision.ownerResponseValidationDecisionBoundary",
|
|
list(web_messages_zh["awooop"]["approvalDecision"]["ownerResponseValidationDecisionBoundary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.approvalDecision.ownerResponseValidationDecisionBoundary",
|
|
list(web_messages_en["awooop"]["approvalDecision"]["ownerResponseValidationDecisionBoundary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"validationRollup",
|
|
"giteaAttestation",
|
|
"githubTarget",
|
|
"refsTruth",
|
|
"workflowSecret",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.approvalDecision.ownerResponseValidationDecisionBoundary.decisionRefs",
|
|
list(
|
|
web_messages_zh["awooop"]["approvalDecision"]["ownerResponseValidationDecisionBoundary"][
|
|
"decisionRefs"
|
|
].keys()
|
|
),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.approvalDecision.ownerResponseValidationDecisionBoundary.decisionRefs",
|
|
list(
|
|
web_messages_en["awooop"]["approvalDecision"]["ownerResponseValidationDecisionBoundary"][
|
|
"decisionRefs"
|
|
].keys()
|
|
),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains("awooop_approvals_page.security_owner_response_panel", awooop_approvals_page, "SecurityOwnerResponseGatePanel")
|
|
assert_text_contains("awooop_approvals_page.iwooos_link", awooop_approvals_page, 'href="/iwooos"')
|
|
for text in [
|
|
"approval_record_created=false",
|
|
"owner_response_accepted_count=0",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_approvals_page.security_owner_response_boundary", awooop_approvals_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"ownerChecksTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"checks",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.approvals.securityOwnerResponseGate",
|
|
list(web_messages_zh["awooop"]["approvals"]["securityOwnerResponseGate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.approvals.securityOwnerResponseGate",
|
|
list(web_messages_en["awooop"]["approvals"]["securityOwnerResponseGate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_approvals_page.github_primary_boundary_panel",
|
|
awooop_approvals_page,
|
|
"GitHubPrimaryReadinessApprovalBoundaryPanel",
|
|
)
|
|
for text in [
|
|
"approval_record_created=false",
|
|
"github_primary_approval_granted=false",
|
|
"owner_response_accepted_count=0",
|
|
"repo_creation_authorized=false",
|
|
"refs_mutation_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_approvals_page.github_primary_boundary", awooop_approvals_page, text)
|
|
for text in [
|
|
"S4.9",
|
|
"S4.10",
|
|
"S4.11",
|
|
"S4.12",
|
|
"giteaOwnerAttestation",
|
|
"githubTargetOwner",
|
|
"refsTruthOwner",
|
|
"workflowSecretOwner",
|
|
]:
|
|
assert_text_contains("awooop_approvals_page.github_primary_response_lanes", awooop_approvals_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"responseLanesTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"responseLanes",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.approvals.githubPrimaryReadinessGate",
|
|
list(web_messages_zh["awooop"]["approvals"]["githubPrimaryReadinessGate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.approvals.githubPrimaryReadinessGate",
|
|
list(web_messages_en["awooop"]["approvals"]["githubPrimaryReadinessGate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_approvals_page.owner_response_validation_boundary_panel",
|
|
awooop_approvals_page,
|
|
"OwnerResponseValidationApprovalBoundaryPanel",
|
|
)
|
|
assert_text_contains("awooop_approvals_page.owner_response_validation_iwooos_link", awooop_approvals_page, 'href="/iwooos"')
|
|
for text in [
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"owner_response_validation_rejected_count=0",
|
|
"approval_record_created=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_approvals_page.owner_response_validation_boundary", awooop_approvals_page, text)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
]:
|
|
assert_text_contains("awooop_approvals_page.owner_response_validation_refs", awooop_approvals_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"reviewRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"reviewRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.approvals.ownerResponseValidationBoundary",
|
|
list(web_messages_zh["awooop"]["approvals"]["ownerResponseValidationBoundary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.approvals.ownerResponseValidationBoundary",
|
|
list(web_messages_en["awooop"]["approvals"]["ownerResponseValidationBoundary"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains("awooop_contracts_page.security_contract_candidate_panel", awooop_contracts_page, "SecurityContractCandidatePanel")
|
|
assert_text_contains("awooop_contracts_page.iwooos_link", awooop_contracts_page, 'href="/iwooos"')
|
|
assert_text_contains("awooop_contracts_page.project_header_traditional_chinese", awooop_contracts_page, "專案 ID")
|
|
assert_text_contains("awooop_contracts_page.hash_header_traditional_chinese", awooop_contracts_page, "雜湊")
|
|
assert_text_not_contains("awooop_contracts_page.project_header_english", awooop_contracts_page, "Project ID")
|
|
assert_text_not_contains("awooop_contracts_page.hash_header_english", awooop_contracts_page, ">Hash<")
|
|
for text in [
|
|
"contract_publish_authorized=false",
|
|
"contract_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.security_contract_boundary", awooop_contracts_page, text)
|
|
for text in [
|
|
"security_mirror_status_rollup_v1",
|
|
"iwooos_posture_projection_v1",
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"security_rollout_policy_v1",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.security_contract_refs", awooop_contracts_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"contractRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"contractRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.contracts.securityContractCandidate",
|
|
list(web_messages_zh["awooop"]["contracts"]["securityContractCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.contracts.securityContractCandidate",
|
|
list(web_messages_en["awooop"]["contracts"]["securityContractCandidate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_contracts_page.github_primary_readiness_candidate_panel",
|
|
awooop_contracts_page,
|
|
"GitHubPrimaryReadinessContractCandidatePanel",
|
|
)
|
|
for text in [
|
|
"repo_creation_authorized=false",
|
|
"refs_mutation_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.github_primary_boundary", awooop_contracts_page, text)
|
|
for text in [
|
|
"source_control_primary_readiness_gate_v1",
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"source_control_primary_rollback_adr_v1",
|
|
"source_control_workflow_secret_name_inventory_v1",
|
|
"iwooos_posture_projection_v1",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.github_primary_refs", awooop_contracts_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"contractRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"contractRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.contracts.githubPrimaryReadinessCandidate",
|
|
list(web_messages_zh["awooop"]["contracts"]["githubPrimaryReadinessCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.contracts.githubPrimaryReadinessCandidate",
|
|
list(web_messages_en["awooop"]["contracts"]["githubPrimaryReadinessCandidate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains(
|
|
"awooop_contracts_page.owner_response_validation_candidate_panel",
|
|
awooop_contracts_page,
|
|
"OwnerResponseValidationContractCandidatePanel",
|
|
)
|
|
for text in [
|
|
"owner_response_validation_received_count=0",
|
|
"owner_response_validation_accepted_count=0",
|
|
"approval_record_created=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.owner_response_validation_boundary", awooop_contracts_page, text)
|
|
for text in [
|
|
"source_control_owner_response_validation_rollup_v1",
|
|
"gitea_inventory_owner_attestation_response_v1",
|
|
"github_target_owner_decision_response_v1",
|
|
"source_control_ref_truth_owner_response_v1",
|
|
"source_control_workflow_secret_name_owner_response_v1",
|
|
]:
|
|
assert_text_contains("awooop_contracts_page.owner_response_validation_refs", awooop_contracts_page, text)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"badge",
|
|
"contractRefsTitle",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryDetail",
|
|
"openIwooos",
|
|
"metrics",
|
|
"contractRefs",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.awooop.contracts.ownerResponseValidationCandidate",
|
|
list(web_messages_zh["awooop"]["contracts"]["ownerResponseValidationCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.awooop.contracts.ownerResponseValidationCandidate",
|
|
list(web_messages_en["awooop"]["contracts"]["ownerResponseValidationCandidate"].keys()),
|
|
key,
|
|
)
|
|
|
|
assert_text_contains("iwooos_bridge.component", iwooos_bridge, "IwoooSReadOnlyBridge")
|
|
assert_text_contains("iwooos_bridge.testid", iwooos_bridge, 'data-testid="iwooos-read-only-bridge"')
|
|
assert_text_contains("iwooos_bridge.iwooos_link", iwooos_bridge, 'href="/iwooos"')
|
|
for text in [
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
]:
|
|
assert_text_contains("iwooos_bridge.boundary", iwooos_bridge, text)
|
|
for source_text in [
|
|
security_panel,
|
|
compliance_panel,
|
|
standalone_security_page,
|
|
standalone_compliance_page,
|
|
]:
|
|
assert_text_contains("existing_security_pages.iwooos_bridge_import", source_text, "IwoooSReadOnlyBridge")
|
|
assert_text_contains("existing_security_pages.iwooos_bridge_render", source_text, "<IwoooSReadOnlyBridge />")
|
|
for source_text in [
|
|
alerts_page,
|
|
authorizations_page,
|
|
governance_page,
|
|
errors_panel,
|
|
]:
|
|
assert_text_contains("security_control_pages.iwooos_bridge_import", source_text, "IwoooSReadOnlyBridge")
|
|
assert_text_contains("security_control_pages.iwooos_bridge_render", source_text, "<IwoooSReadOnlyBridge />")
|
|
for source_text in [
|
|
alert_operation_logs_page,
|
|
code_review_page,
|
|
]:
|
|
assert_text_contains("audit_engineering_pages.iwooos_bridge_import", source_text, "IwoooSReadOnlyBridge")
|
|
assert_text_contains(
|
|
"audit_engineering_pages.iwooos_bridge_render",
|
|
source_text,
|
|
'<IwoooSReadOnlyBridge variant="dark" />',
|
|
)
|
|
assert_text_contains("iwooos_page.surface_connection_board", iwooos_projection_page, "surfaceConnectionStatuses")
|
|
assert_text_contains("iwooos_page.surface_connection_testid", iwooos_projection_page, 'data-testid="iwooos-surface-connection-board"')
|
|
assert_text_contains("iwooos_page.surface_connection_embedded", iwooos_projection_page, "embeddedBridge")
|
|
assert_text_contains("iwooos_page.surface_connection_direct", iwooos_projection_page, "directBridge")
|
|
assert_text_contains("iwooos_page.surface_connection_awooop", iwooos_projection_page, "awooopCandidate")
|
|
assert_text_contains("iwooos_page.source_control_readiness_board", iwooos_projection_page, "sourceControlReadinessItems")
|
|
assert_text_contains(
|
|
"iwooos_page.source_control_readiness_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-source-control-readiness-board"',
|
|
)
|
|
assert_text_contains("iwooos_page.source_control_readiness_component", iwooos_projection_page, "SourceControlReadinessCard")
|
|
assert_text_contains("iwooos_page.awooop_coverage_board", iwooos_projection_page, "awooopCoverageStatuses")
|
|
assert_text_contains(
|
|
"iwooos_page.awooop_coverage_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-awooop-coverage-board"',
|
|
)
|
|
assert_text_contains("iwooos_page.awooop_coverage_component", iwooos_projection_page, "AwoooPCoverageStatusCard")
|
|
for text in [
|
|
"/awooop",
|
|
"/awooop/work-items",
|
|
"/awooop/contracts",
|
|
"/awooop/tenants",
|
|
"/awooop/runs",
|
|
"/awooop/runs/[run_id]",
|
|
"/awooop/approvals",
|
|
"/awooop/approvals/[run_id]",
|
|
"awooop_route_coverage_count=8",
|
|
"awooop_route_coverage_visible_count=8",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"secret_value_collection_allowed=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.awooop_coverage_boundary", iwooos_projection_page, text)
|
|
assert_text_contains("iwooos_page.security_convergence_steps", iwooos_projection_page, "securityConvergenceSteps")
|
|
assert_text_contains(
|
|
"iwooos_page.security_convergence_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-security-convergence-roadmap"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.security_convergence_component",
|
|
iwooos_projection_page,
|
|
"SecurityConvergenceRoadmapBoard",
|
|
)
|
|
for text in [
|
|
"phase_tightening_mode=gradual",
|
|
"initial_enforcement_level=observe_warn_only",
|
|
"blocking_controls_enabled=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"owner_response_required_before_blocking=true",
|
|
"not_authorization=true",
|
|
"kali_execute_authorized=false",
|
|
"host_update_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.security_convergence_boundary", iwooos_projection_page, text)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_collection_packets",
|
|
iwooos_projection_page,
|
|
"ownerResponseCollectionPackets",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_collection_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-collection-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_collection_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseCollectionBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_collection_packet_count=4",
|
|
"owner_response_required_template_count=22",
|
|
"owner_response_received_count=0",
|
|
"owner_response_accepted_count=0",
|
|
"owner_response_rejected_count=0",
|
|
"owner_response_collection_mode=human_intake_only",
|
|
"request_packet_visible=true",
|
|
"response_packet_created=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.owner_response_collection_boundary", iwooos_projection_page, text)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_intake_safety_rules",
|
|
iwooos_projection_page,
|
|
"ownerResponseIntakeSafetyRules",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_intake_safety_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-intake-safety-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_intake_safety_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseIntakeSafetyBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_intake_safety_rule_count=6",
|
|
"owner_response_payload_ingested_count=0",
|
|
"owner_response_quarantine_count=0",
|
|
"owner_response_rejection_count=0",
|
|
"owner_response_auto_accept_allowed=false",
|
|
"owner_response_secret_value_quarantine_required=true",
|
|
"owner_response_mutation_request_allowed=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"kali_execute_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.owner_response_intake_safety_boundary", iwooos_projection_page, text)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_review_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"ownerResponseReviewOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_review_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-review-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_review_outcome_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseReviewOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_review_outcome_lane_count=7",
|
|
"owner_response_review_ready_count=0",
|
|
"owner_response_review_accepted_count=0",
|
|
"owner_response_review_escalated_count=0",
|
|
"owner_response_review_runtime_gate_count=0",
|
|
"owner_response_review_auto_decision_allowed=false",
|
|
"owner_response_review_human_decision_required=true",
|
|
"owner_response_review_only_updates_readonly_state=true",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.owner_response_review_outcome_boundary", iwooos_projection_page, text)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_human_decision_queue_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseHumanDecisionQueueItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_human_decision_queue_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-human-decision-queue-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_human_decision_queue_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseHumanDecisionQueueBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_human_decision_queue_item_count=6",
|
|
"owner_response_human_decision_ready_count=0",
|
|
"owner_response_human_decision_approved_count=0",
|
|
"owner_response_human_decision_runtime_gate_count=0",
|
|
"owner_response_human_decision_record_created=false",
|
|
"owner_response_human_decision_auto_approval_allowed=false",
|
|
"owner_response_human_decision_requires_reviewer=true",
|
|
"owner_response_human_decision_only_prepares_packet=true",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains("iwooos_page.owner_response_human_decision_queue_boundary", iwooos_projection_page, text)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_decision_record_draft_guard_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseDecisionRecordDraftGuardItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_decision_record_draft_guard_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-decision-record-draft-guard-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_decision_record_draft_guard_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseDecisionRecordDraftGuardBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_decision_record_draft_guard_count=6",
|
|
"owner_response_decision_record_draft_created_count=0",
|
|
"owner_response_decision_record_formal_count=0",
|
|
"owner_response_decision_record_approved_count=0",
|
|
"owner_response_decision_record_runtime_gate_count=0",
|
|
"owner_response_decision_record_draft_only=true",
|
|
"owner_response_decision_record_write_authorized=false",
|
|
"owner_response_decision_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_decision_record_draft_guard_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_preflight_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordCandidatePreflightItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_preflight_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-candidate-preflight-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_preflight_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordCandidatePreflightBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_candidate_preflight_count=7",
|
|
"owner_response_formal_record_candidate_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_candidate_only=true",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_preflight_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordCandidateOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-candidate-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_outcome_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordCandidateOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_candidate_outcome_lane_count=8",
|
|
"owner_response_formal_record_candidate_ready_count=0",
|
|
"owner_response_formal_record_candidate_returned_count=0",
|
|
"owner_response_formal_record_candidate_quarantine_count=0",
|
|
"owner_response_formal_record_candidate_rejected_count=0",
|
|
"owner_response_formal_record_candidate_promoted_count=0",
|
|
"owner_response_formal_record_candidate_review_only=true",
|
|
"owner_response_formal_record_auto_promotion_allowed=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_candidate_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_packets",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerHandoffPackets",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-handoff-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerHandoffBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_handoff_packet_count=7",
|
|
"owner_response_formal_record_owner_handoff_ready_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_handoff_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerHandoffReviewItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-handoff-review-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerHandoffReviewBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_handoff_review_check_count=7",
|
|
"owner_response_formal_record_owner_handoff_review_passed_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerHandoffReviewOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-handoff-review-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_outcome_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerHandoffReviewOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_handoff_review_outcome_lane_count=8",
|
|
"owner_response_formal_record_owner_handoff_review_ready_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_returned_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_quarantine_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_rejected_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_promoted_count=0",
|
|
"owner_response_formal_record_owner_handoff_review_outcome_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_handoff_review_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_preparation_packets",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerReviewPreparationPackets",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_preparation_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-review-preparation-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_preparation_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerReviewPreparationBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_review_preparation_packet_count=8",
|
|
"owner_response_formal_record_owner_review_preparation_ready_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_review_preparation_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_preparation_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_checklist_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerReviewChecklistItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_checklist_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-review-checklist-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_checklist_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerReviewChecklistBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_review_check_count=8",
|
|
"owner_response_formal_record_owner_review_passed_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_review_checklist_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_checklist_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerReviewOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-review-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_outcome_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerReviewOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_review_outcome_lane_count=8",
|
|
"owner_response_formal_record_owner_review_outcome_ready_count=0",
|
|
"owner_response_formal_record_owner_review_outcome_returned_count=0",
|
|
"owner_response_formal_record_owner_review_outcome_quarantine_count=0",
|
|
"owner_response_formal_record_owner_review_outcome_rejected_count=0",
|
|
"owner_response_formal_record_owner_review_outcome_promoted_count=0",
|
|
"owner_response_formal_record_owner_review_outcome_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_review_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_preparation_packets",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerAssignmentPreparationPackets",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_preparation_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-assignment-preparation-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_preparation_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerAssignmentPreparationBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_assignment_preparation_packet_count=8",
|
|
"owner_response_formal_record_owner_assignment_preparation_ready_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_assignment_preparation_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_preparation_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_checklist_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerAssignmentChecklistItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_checklist_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-assignment-checklist-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_checklist_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerAssignmentChecklistBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_assignment_check_count=8",
|
|
"owner_response_formal_record_owner_assignment_check_passed_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_assignment_checklist_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_checklist_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerAssignmentOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-assignment-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_outcome_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerAssignmentOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_assignment_outcome_lane_count=8",
|
|
"owner_response_formal_record_owner_assignment_outcome_ready_count=0",
|
|
"owner_response_formal_record_owner_assignment_outcome_returned_count=0",
|
|
"owner_response_formal_record_owner_assignment_outcome_quarantine_count=0",
|
|
"owner_response_formal_record_owner_assignment_outcome_rejected_count=0",
|
|
"owner_response_formal_record_owner_assignment_outcome_promoted_count=0",
|
|
"owner_response_formal_record_owner_assignment_outcome_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_preparation_packets",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerAssignmentDecisionPreparationPackets",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_preparation_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-assignment-decision-preparation-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_preparation_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_assignment_decision_preparation_packet_count=8",
|
|
"owner_response_formal_record_owner_assignment_decision_preparation_ready_count=0",
|
|
"owner_response_formal_record_owner_assignment_decision_created_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_assignment_decision_preparation_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_preparation_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_checklist_items",
|
|
iwooos_projection_page,
|
|
"ownerResponseFormalRecordOwnerAssignmentDecisionChecklistItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_checklist_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-owner-response-formal-record-owner-assignment-decision-checklist-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_checklist_component",
|
|
iwooos_projection_page,
|
|
"OwnerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard",
|
|
)
|
|
for text in [
|
|
"owner_response_formal_record_owner_assignment_decision_check_count=8",
|
|
"owner_response_formal_record_owner_assignment_decision_check_passed_count=0",
|
|
"owner_response_formal_record_owner_assignment_decision_created_count=0",
|
|
"owner_response_formal_record_owner_assigned_count=0",
|
|
"owner_response_formal_record_created_count=0",
|
|
"owner_response_formal_record_approved_count=0",
|
|
"owner_response_formal_record_runtime_gate_count=0",
|
|
"owner_response_formal_record_owner_assignment_decision_checklist_only=true",
|
|
"owner_response_formal_record_owner_assignment_authorized=false",
|
|
"owner_response_formal_record_write_authorized=false",
|
|
"owner_response_formal_record_approval_authorized=false",
|
|
"owner_response_formal_record_execution_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.owner_response_formal_record_owner_assignment_decision_checklist_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.headline_movement_acceptance_gate_items",
|
|
iwooos_projection_page,
|
|
"headlineMovementAcceptanceGates",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.headline_movement_acceptance_gate_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-headline-movement-acceptance-gate-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.headline_movement_acceptance_gate_component",
|
|
iwooos_projection_page,
|
|
"HeadlineMovementAcceptanceGateBoard",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.operator_next_tasks_items",
|
|
iwooos_projection_page,
|
|
"operatorNextTasks",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.operator_next_tasks_board",
|
|
iwooos_projection_page,
|
|
"IwoooSOperatorNextTasksBoard",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.operator_next_tasks_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-operator-next-tasks-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.stage_completion_report_items",
|
|
iwooos_projection_page,
|
|
"stageCompletionReportItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.stage_completion_report_board",
|
|
iwooos_projection_page,
|
|
"IwoooSStageCompletionReportBoard",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.stage_completion_report_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-stage-completion-report-board"',
|
|
)
|
|
assert_text_not_contains(
|
|
"iwooos_page.stage_completion_report_stale_cd_run",
|
|
iwooos_projection_page,
|
|
"CD 3261",
|
|
)
|
|
stage_report_messages_zh = json.dumps(
|
|
web_messages_zh["iwooos"]["stageCompletionReport"],
|
|
ensure_ascii=False,
|
|
sort_keys=True,
|
|
)
|
|
stage_report_messages_en = json.dumps(
|
|
web_messages_en["iwooos"]["stageCompletionReport"],
|
|
ensure_ascii=False,
|
|
sort_keys=True,
|
|
)
|
|
assert_text_not_contains(
|
|
"iwooos_messages.stage_completion_report_stale_cd_run_zh",
|
|
stage_report_messages_zh,
|
|
"CD 3261",
|
|
)
|
|
assert_text_not_contains(
|
|
"iwooos_messages.stage_completion_report_stale_cd_run_en",
|
|
stage_report_messages_en,
|
|
"CD 3261",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_messages.stage_completion_report_deploy_marker_zh",
|
|
stage_report_messages_zh,
|
|
"deploy marker",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_messages.stage_completion_report_deploy_marker_en",
|
|
stage_report_messages_en,
|
|
"deploy marker",
|
|
)
|
|
for text in [
|
|
"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=true",
|
|
"execution_router_linked=false",
|
|
"progress_review_authorized=true",
|
|
"runtime_execution_authorized=false",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.headline_movement_acceptance_gate_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.headlineMovementAcceptanceGate",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"headlineMovementAcceptanceGate",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.headlineMovementAcceptanceGate",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"headlineMovementAcceptanceGate",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.headlineMovementAcceptanceGate.keys",
|
|
list(web_messages_zh["iwooos"]["headlineMovementAcceptanceGate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.headlineMovementAcceptanceGate.keys",
|
|
list(web_messages_en["iwooos"]["headlineMovementAcceptanceGate"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"s49OwnerResponseAccepted",
|
|
"redactedPayloadAccepted",
|
|
"runtimeGateApproved",
|
|
"githubPrimaryEvidenceReady",
|
|
"awooopProductionLandingProof",
|
|
"nextHeadlineReviewRecord",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.headlineMovementAcceptanceGate.items",
|
|
list(web_messages_zh["iwooos"]["headlineMovementAcceptanceGate"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.headlineMovementAcceptanceGate.items",
|
|
list(web_messages_en["iwooos"]["headlineMovementAcceptanceGate"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_work_order_items",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseWorkOrderItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_work_order_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-work-order-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_work_order_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseWorkOrderBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_work_order_item_count=5",
|
|
"s4_9_owner_response_required_field_count=6",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"s4_9_owner_response_rejected_count=0",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_intake_open=false",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_work_order_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseWorkOrder",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseWorkOrder",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseWorkOrder",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseWorkOrder",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseWorkOrder.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseWorkOrder"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseWorkOrder.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseWorkOrder"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"scopeGapResponse",
|
|
"endpointIdentityResponse",
|
|
"adjacentSourceResponse",
|
|
"canonicalOwnerResponse",
|
|
"legacyDispositionResponse",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseWorkOrder.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseWorkOrder"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseWorkOrder.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseWorkOrder"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_fields",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseEnvelopeFields",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-envelope-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseEnvelopeBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_envelope_field_count=6",
|
|
"s4_9_owner_response_envelope_filled_count=0",
|
|
"s4_9_owner_response_envelope_submitted_count=0",
|
|
"s4_9_owner_response_envelope_accepted_count=0",
|
|
"s4_9_owner_response_envelope_rejected_count=0",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelope",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelope",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelope",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelope",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelope.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelope"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelope.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelope"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerRoleTeam",
|
|
"decision",
|
|
"decisionReason",
|
|
"affectedScope",
|
|
"redactedEvidenceRefs",
|
|
"followupOwner",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelope.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelope"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelope.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelope"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_checks",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseEnvelopePreflightChecks",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-envelope-preflight-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseEnvelopePreflightBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_envelope_preflight_check_count=6",
|
|
"s4_9_owner_response_envelope_preflight_passed_count=0",
|
|
"s4_9_owner_response_envelope_ready_to_submit_count=0",
|
|
"s4_9_owner_response_envelope_submitted_count=0",
|
|
"s4_9_owner_response_envelope_accepted_count=0",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflight",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelopePreflight",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflight",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelopePreflight",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflight.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelopePreflight"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflight.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelopePreflight"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"fieldCompleteness",
|
|
"allowedDisposition",
|
|
"redactedEvidence",
|
|
"scopeTraceability",
|
|
"mutationRequestRejected",
|
|
"followupOwnerTrace",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflight.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelopePreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflight.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelopePreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_outcome_lanes",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseEnvelopePreflightOutcomeLanes",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-envelope-preflight-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_outcome_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseEnvelopePreflightOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_envelope_preflight_outcome_lane_count=7",
|
|
"s4_9_owner_response_envelope_preflight_ready_for_intake_count=0",
|
|
"s4_9_owner_response_envelope_preflight_quarantined_count=0",
|
|
"s4_9_owner_response_envelope_preflight_rejected_count=0",
|
|
"s4_9_owner_response_envelope_submitted_count=0",
|
|
"s4_9_owner_response_envelope_accepted_count=0",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_envelope_preflight_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflightOutcome",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelopePreflightOutcome",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflightOutcome",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseEnvelopePreflightOutcome",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflightOutcome.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelopePreflightOutcome"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflightOutcome.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelopePreflightOutcome"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"keepEnvelopeWaiting",
|
|
"requestFieldCompletion",
|
|
"requestDispositionCorrection",
|
|
"quarantineSensitiveEvidence",
|
|
"requestScopeCorrection",
|
|
"rejectMutationRequest",
|
|
"keepFollowupOwnerWaiting",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseEnvelopePreflightOutcome.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseEnvelopePreflightOutcome"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseEnvelopePreflightOutcome.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseEnvelopePreflightOutcome"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_request_draft_items",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseRequestDraftItems",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_request_draft_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-request-draft-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_request_draft_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseRequestDraftBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_request_draft_item_count=6",
|
|
"s4_9_owner_response_request_draft_ready_count=0",
|
|
"s4_9_owner_response_request_dispatch_authorized=false",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_request_sent_count=0",
|
|
"s4_9_owner_response_request_recipients_confirmed_count=0",
|
|
"s4_9_owner_response_request_audit_event_draft_count=1",
|
|
"s4_9_owner_response_request_audit_events_emitted=0",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_request_draft_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseRequestDraft",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseRequestDraft",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseRequestDraft",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseRequestDraft",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseRequestDraft.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseRequestDraft"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseRequestDraft.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseRequestDraft"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"scopeMappingDraft",
|
|
"ownerRecipientDraft",
|
|
"redactedEvidenceDraft",
|
|
"noMutationClauseDraft",
|
|
"auditTemplateDraft",
|
|
"manualDispatchGateDraft",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseRequestDraft.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseRequestDraft"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseRequestDraft.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseRequestDraft"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_dispatch_flow_steps",
|
|
iwooos_projection_page,
|
|
"s49OwnerResponseDispatchFlowSteps",
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_dispatch_flow_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-s49-owner-response-dispatch-flow-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_dispatch_flow_component",
|
|
iwooos_projection_page,
|
|
"S49OwnerResponseDispatchFlowBoard",
|
|
)
|
|
for text in [
|
|
"s4_9_owner_response_dispatch_flow_step_count=6",
|
|
"s4_9_owner_response_dispatch_flow_current_step=request_draft",
|
|
"s4_9_owner_response_dispatch_flow_completed_count=0",
|
|
"s4_9_owner_response_dispatch_flow_blocked_count=0",
|
|
"s4_9_owner_response_request_sent=false",
|
|
"s4_9_owner_response_request_sent_count=0",
|
|
"s4_9_owner_response_received_count=0",
|
|
"s4_9_owner_response_accepted_count=0",
|
|
"s4_9_owner_response_request_dispatch_authorized=false",
|
|
"owner_response_acceptance_gate_open=false",
|
|
"audit_events_emitted=0",
|
|
"progress_review_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.s49_owner_response_dispatch_flow_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"s49OwnerResponseDispatchFlow",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"s49OwnerResponseDispatchFlow",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow.keys",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseDispatchFlow"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow.keys",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseDispatchFlow"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"workOrder",
|
|
"envelope",
|
|
"preflight",
|
|
"outcome",
|
|
"requestDraft",
|
|
"manualDispatchGate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow.items",
|
|
list(web_messages_zh["iwooos"]["s49OwnerResponseDispatchFlow"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow.items",
|
|
list(web_messages_en["iwooos"]["s49OwnerResponseDispatchFlow"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_bridge_testid",
|
|
security_compliance_page,
|
|
'data-testid="security-compliance-iwooos-frontstage-bridge"',
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.authoritative_iwooos_strip_testid",
|
|
security_compliance_page,
|
|
'data-testid="security-compliance-authoritative-iwooos-strip"',
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_component",
|
|
security_compliance_page,
|
|
"SecurityComplianceFrontStage",
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_route_role_map_testid",
|
|
security_compliance_page,
|
|
'data-testid="security-compliance-frontstage-route-role-map"',
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.low_friction_rollout_ladder_testid",
|
|
security_compliance_page,
|
|
'data-testid="security-compliance-low-friction-rollout-ladder"',
|
|
)
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_boundary_codes_testid",
|
|
security_compliance_page,
|
|
'data-testid="security-compliance-frontstage-boundary-codes"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.security_compliance_frontstage_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-security-compliance-frontstage-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.security_compliance_frontstage_component",
|
|
iwooos_projection_page,
|
|
"SecurityComplianceFrontStageBoard",
|
|
)
|
|
for text in [
|
|
"security_compliance_route_preserved=true",
|
|
"security_compliance_removed=false",
|
|
"security_compliance_integration_mode=iwooos_frontstage_bridge",
|
|
"iwooos_authoritative_security_entry=true",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
]:
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_boundary",
|
|
security_compliance_page,
|
|
text,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.security_compliance_frontstage_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
for text in [
|
|
"security_compliance_frontstage_route_role_count=5",
|
|
"security_compliance_frontstage_primary_source=iwooos",
|
|
"security_compliance_frontstage_execution_entry_count=0",
|
|
"security_compliance_frontstage_links_read_only=true",
|
|
"security_compliance_authoritative_entry=iwooos",
|
|
"security_compliance_frontstage_summary_mode=compact_first",
|
|
"security_compliance_frontstage_default_detail_collapsed=true",
|
|
]:
|
|
assert_text_contains(
|
|
"security_compliance_page.frontstage_route_role_boundary",
|
|
security_compliance_page,
|
|
text,
|
|
)
|
|
for text in [
|
|
"security_compliance_rollout_phase_count=5",
|
|
"security_compliance_rollout_current_phase=observe_first",
|
|
"security_compliance_rollout_runtime_phase_enabled=false",
|
|
"security_compliance_rollout_enforcement_enabled=false",
|
|
"security_compliance_rollout_action_buttons_allowed=false",
|
|
]:
|
|
assert_text_contains(
|
|
"security_compliance_page.low_friction_rollout_boundary",
|
|
security_compliance_page,
|
|
text,
|
|
)
|
|
for text in [
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.security_compliance_frontstage_hard_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance",
|
|
list(web_messages_zh.keys()),
|
|
"securityCompliance",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance",
|
|
list(web_messages_en.keys()),
|
|
"securityCompliance",
|
|
)
|
|
for key in [
|
|
"eyebrow",
|
|
"title",
|
|
"subtitle",
|
|
"openIwooos",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
"routeRoleTitle",
|
|
"routeRoleSubtitle",
|
|
"routeLabel",
|
|
"rolloutTitle",
|
|
"rolloutSubtitle",
|
|
"phaseLabel",
|
|
"boundaryCodesSummary",
|
|
"authority",
|
|
"items",
|
|
"routeRoles",
|
|
"rolloutPhases",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.keys",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.keys",
|
|
list(web_messages_en["securityCompliance"]["frontStage"].keys()),
|
|
key,
|
|
)
|
|
for key in ["eyebrow", "title", "body", "open", "signals"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.authority.keys",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"]["authority"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.authority.keys",
|
|
list(web_messages_en["securityCompliance"]["frontStage"]["authority"].keys()),
|
|
key,
|
|
)
|
|
for key in ["source", "progress", "gate", "mode"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.authority.signals",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"]["authority"]["signals"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.authority.signals",
|
|
list(web_messages_en["securityCompliance"]["frontStage"]["authority"]["signals"].keys()),
|
|
key,
|
|
)
|
|
for key in ["routePreserved", "iwooosBridge", "dedupeNarrative", "noRuntimeControl"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.items",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.items",
|
|
list(web_messages_en["securityCompliance"]["frontStage"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"iwooosOverview",
|
|
"securityComplianceHub",
|
|
"securityMonitor",
|
|
"complianceStats",
|
|
"awooopApprovals",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.routeRoles",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"]["routeRoles"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.routeRoles",
|
|
list(web_messages_en["securityCompliance"]["frontStage"]["routeRoles"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"observe",
|
|
"evidence",
|
|
"humanReview",
|
|
"runtimeGate",
|
|
"tightening",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.securityCompliance.frontStage.rolloutPhases",
|
|
list(web_messages_zh["securityCompliance"]["frontStage"]["rolloutPhases"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.securityCompliance.frontStage.rolloutPhases",
|
|
list(web_messages_en["securityCompliance"]["frontStage"]["rolloutPhases"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityComplianceFrontStage",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"securityComplianceFrontStage",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityComplianceFrontStage",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"securityComplianceFrontStage",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "decisionLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityComplianceFrontStage.keys",
|
|
list(web_messages_zh["iwooos"]["securityComplianceFrontStage"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityComplianceFrontStage.keys",
|
|
list(web_messages_en["iwooos"]["securityComplianceFrontStage"].keys()),
|
|
key,
|
|
)
|
|
for key in ["route", "decision", "removed", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityComplianceFrontStage.summary",
|
|
list(web_messages_zh["iwooos"]["securityComplianceFrontStage"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityComplianceFrontStage.summary",
|
|
list(web_messages_en["iwooos"]["securityComplianceFrontStage"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["routePreserved", "frontStageBridge", "singleSecurityNarrative", "runtimeControls"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityComplianceFrontStage.items",
|
|
list(web_messages_zh["iwooos"]["securityComplianceFrontStage"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityComplianceFrontStage.items",
|
|
list(web_messages_en["iwooos"]["securityComplianceFrontStage"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.frontstage_security_entry_roles_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-frontstage-security-entry-roles-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.frontstage_security_entry_roles_component",
|
|
iwooos_projection_page,
|
|
"FrontstageSecurityEntryRolesBoard",
|
|
)
|
|
for text in [
|
|
"frontstage_security_entry_role_count=5",
|
|
"frontstage_security_primary_entry=iwooos",
|
|
"frontstage_security_familiar_entry=security_compliance",
|
|
"frontstage_security_execution_entry_count=0",
|
|
"frontstage_security_links_read_only=true",
|
|
"frontstage_security_operator_confusion_reduction=true",
|
|
"frontstage_security_action_buttons_allowed=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.frontstage_security_entry_roles_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.frontstageEntryRoles",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"frontstageEntryRoles",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.frontstageEntryRoles",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"frontstageEntryRoles",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "routeLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.frontstageEntryRoles.keys",
|
|
list(web_messages_zh["iwooos"]["frontstageEntryRoles"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.frontstageEntryRoles.keys",
|
|
list(web_messages_en["iwooos"]["frontstageEntryRoles"].keys()),
|
|
key,
|
|
)
|
|
for key in ["entries", "primary", "familiar", "execution"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.frontstageEntryRoles.summary",
|
|
list(web_messages_zh["iwooos"]["frontstageEntryRoles"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.frontstageEntryRoles.summary",
|
|
list(web_messages_en["iwooos"]["frontstageEntryRoles"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"iwooosOverview",
|
|
"securityComplianceHub",
|
|
"securityMonitor",
|
|
"complianceStats",
|
|
"awooopApprovals",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.frontstageEntryRoles.items",
|
|
list(web_messages_zh["iwooos"]["frontstageEntryRoles"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.frontstageEntryRoles.items",
|
|
list(web_messages_en["iwooos"]["frontstageEntryRoles"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_rollout_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-low-friction-rollout-ladder-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_rollout_component",
|
|
iwooos_projection_page,
|
|
"IwoooSLowFrictionRolloutLadderBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_rollout_phase_count=5",
|
|
"iwooos_rollout_current_phase=observe_first",
|
|
"iwooos_rollout_frontstage_source=security_compliance_s2_110",
|
|
"iwooos_rollout_runtime_phase_enabled=false",
|
|
"iwooos_rollout_enforcement_enabled=false",
|
|
"iwooos_rollout_action_buttons_allowed=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_rollout_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionRollout",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"lowFrictionRollout",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionRollout",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"lowFrictionRollout",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "phaseLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionRollout.keys",
|
|
list(web_messages_zh["iwooos"]["lowFrictionRollout"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionRollout.keys",
|
|
list(web_messages_en["iwooos"]["lowFrictionRollout"].keys()),
|
|
key,
|
|
)
|
|
for key in ["phases", "current", "runtime", "enforcement"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionRollout.summary",
|
|
list(web_messages_zh["iwooos"]["lowFrictionRollout"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionRollout.summary",
|
|
list(web_messages_en["iwooos"]["lowFrictionRollout"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["observe", "evidence", "humanReview", "runtimeGate", "tightening"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionRollout.items",
|
|
list(web_messages_zh["iwooos"]["lowFrictionRollout"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionRollout.items",
|
|
list(web_messages_en["iwooos"]["lowFrictionRollout"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_next_actions_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-low-friction-next-actions-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_next_actions_component",
|
|
iwooos_projection_page,
|
|
"IwoooSLowFrictionNextActionsBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_next_action_item_count=4",
|
|
"iwooos_next_action_allowed_mode=observe_and_evidence_only",
|
|
"iwooos_next_action_runtime_gate_required=true",
|
|
"iwooos_next_action_scan_authorized=false",
|
|
"iwooos_next_action_host_change_authorized=false",
|
|
"iwooos_next_action_deploy_authorized=false",
|
|
"iwooos_next_action_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.low_friction_next_actions_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionNextActions",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"lowFrictionNextActions",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionNextActions",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"lowFrictionNextActions",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionNextActions.keys",
|
|
list(web_messages_zh["iwooos"]["lowFrictionNextActions"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionNextActions.keys",
|
|
list(web_messages_en["iwooos"]["lowFrictionNextActions"].keys()),
|
|
key,
|
|
)
|
|
for key in ["allowed", "prep", "blocked", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionNextActions.summary",
|
|
list(web_messages_zh["iwooos"]["lowFrictionNextActions"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionNextActions.summary",
|
|
list(web_messages_en["iwooos"]["lowFrictionNextActions"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["observeInventory", "evidencePacket", "humanReviewPrep", "runtimeClosed"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.lowFrictionNextActions.items",
|
|
list(web_messages_zh["iwooos"]["lowFrictionNextActions"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.lowFrictionNextActions.items",
|
|
list(web_messages_en["iwooos"]["lowFrictionNextActions"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.progress_movement_signals_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-progress-movement-signals-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.progress_movement_signals_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProgressMovementSignalsBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_progress_movement_signal_count=5",
|
|
"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=1",
|
|
"iwooos_progress_review_authorized=true",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.progress_movement_signals_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.progressMovementSignals",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"progressMovementSignals",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.progressMovementSignals",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"progressMovementSignals",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.progressMovementSignals.keys",
|
|
list(web_messages_zh["iwooos"]["progressMovementSignals"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.progressMovementSignals.keys",
|
|
list(web_messages_en["iwooos"]["progressMovementSignals"].keys()),
|
|
key,
|
|
)
|
|
for key in ["headline", "signals", "passed", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.progressMovementSignals.summary",
|
|
list(web_messages_zh["iwooos"]["progressMovementSignals"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.progressMovementSignals.summary",
|
|
list(web_messages_en["iwooos"]["progressMovementSignals"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["ownerResponse", "redactedEvidence", "runtimeGate", "sourceControl", "awooopLanding"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.progressMovementSignals.items",
|
|
list(web_messages_zh["iwooos"]["progressMovementSignals"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.progressMovementSignals.items",
|
|
list(web_messages_en["iwooos"]["progressMovementSignals"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_work_map_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-concrete-security-work-map-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_work_map_component",
|
|
iwooos_projection_page,
|
|
"IwoooSConcreteSecurityWorkMapBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_concrete_security_workstream_count=6",
|
|
"iwooos_concrete_security_visible_workstream_count=6",
|
|
"iwooos_concrete_security_framework_only_stream_count=6",
|
|
"iwooos_concrete_security_runtime_workstream_count=0",
|
|
"iwooos_concrete_security_next_real_gate=s4_9_owner_response_accepted",
|
|
"iwooos_concrete_security_owner_response_received_count=0",
|
|
"iwooos_concrete_security_owner_response_accepted_count=0",
|
|
"iwooos_concrete_security_redacted_payload_ingested=false",
|
|
"iwooos_concrete_security_active_runtime_gate_count=0",
|
|
"iwooos_concrete_security_github_primary_ready_count=0",
|
|
"iwooos_concrete_security_kali_scan_authorized=false",
|
|
"iwooos_concrete_security_host_change_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_work_map_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityWorkMap",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"concreteSecurityWorkMap",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityWorkMap",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"concreteSecurityWorkMap",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "workLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityWorkMap.keys",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityWorkMap"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityWorkMap.keys",
|
|
list(web_messages_en["iwooos"]["concreteSecurityWorkMap"].keys()),
|
|
key,
|
|
)
|
|
for key in ["streams", "visible", "realGate", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityWorkMap.summary",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityWorkMap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityWorkMap.summary",
|
|
list(web_messages_en["iwooos"]["concreteSecurityWorkMap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"frontstageVisibility",
|
|
"hostScopeInventory",
|
|
"sourceControlMigration",
|
|
"ownerEvidenceIntake",
|
|
"reviewerHumanFlow",
|
|
"runtimeExecutionGate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityWorkMap.items",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityWorkMap"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityWorkMap.items",
|
|
list(web_messages_en["iwooos"]["concreteSecurityWorkMap"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_delivery_checklist_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-concrete-security-delivery-checklist-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_delivery_checklist_component",
|
|
iwooos_projection_page,
|
|
"IwoooSConcreteSecurityDeliveryChecklistBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_concrete_security_delivery_item_count=6",
|
|
"iwooos_concrete_security_delivery_visible_item_count=6",
|
|
"iwooos_concrete_security_delivery_framework_only_count=6",
|
|
"iwooos_concrete_security_delivery_runtime_item_count=0",
|
|
"iwooos_concrete_security_delivery_next_owner_evidence=s4_9_owner_response",
|
|
"iwooos_concrete_security_delivery_ready_for_runtime_count=0",
|
|
"iwooos_concrete_security_delivery_evidence_received_count=0",
|
|
"iwooos_concrete_security_delivery_evidence_accepted_count=0",
|
|
"iwooos_concrete_security_delivery_reviewer_queue_open=false",
|
|
"iwooos_concrete_security_delivery_git_primary_ready=false",
|
|
"iwooos_concrete_security_delivery_kali_execution_ready=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_delivery_checklist_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityDeliveryChecklist",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"concreteSecurityDeliveryChecklist",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityDeliveryChecklist",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"concreteSecurityDeliveryChecklist",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"deliverableLabel",
|
|
"deliveredLabel",
|
|
"nextLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityDeliveryChecklist.keys",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityDeliveryChecklist"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityDeliveryChecklist.keys",
|
|
list(web_messages_en["iwooos"]["concreteSecurityDeliveryChecklist"].keys()),
|
|
key,
|
|
)
|
|
for key in ["items", "framework", "blocked", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityDeliveryChecklist.summary",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityDeliveryChecklist"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityDeliveryChecklist.summary",
|
|
list(web_messages_en["iwooos"]["concreteSecurityDeliveryChecklist"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"visibilitySurface",
|
|
"hostScopeEvidence",
|
|
"sourceControlEvidence",
|
|
"s49OwnerPacket",
|
|
"reviewerPreparation",
|
|
"runtimeGate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityDeliveryChecklist.items",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityDeliveryChecklist"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityDeliveryChecklist.items",
|
|
list(web_messages_en["iwooos"]["concreteSecurityDeliveryChecklist"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_blocker_resolution_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-concrete-security-blocker-resolution-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_blocker_resolution_component",
|
|
iwooos_projection_page,
|
|
"IwoooSConcreteSecurityBlockerResolutionBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_concrete_security_blocker_count=6",
|
|
"iwooos_concrete_security_visible_blocker_count=6",
|
|
"iwooos_concrete_security_headline_blocker_count=6",
|
|
"iwooos_concrete_security_blocker_resolved_count=0",
|
|
"iwooos_concrete_security_first_resolvable_blocker=s4_9_owner_response_missing",
|
|
"iwooos_concrete_security_owner_response_required=true",
|
|
"iwooos_concrete_security_redacted_evidence_required=true",
|
|
"iwooos_concrete_security_reviewer_queue_open=false",
|
|
"iwooos_concrete_security_github_primary_ready=false",
|
|
"iwooos_concrete_security_kali_execution_ready=false",
|
|
"iwooos_concrete_security_runtime_gate_open=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.concrete_security_blocker_resolution_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityBlockerResolution",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"concreteSecurityBlockerResolution",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityBlockerResolution",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"concreteSecurityBlockerResolution",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"blockerLabel",
|
|
"whyLabel",
|
|
"unlockLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityBlockerResolution.keys",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityBlockerResolution"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityBlockerResolution.keys",
|
|
list(web_messages_en["iwooos"]["concreteSecurityBlockerResolution"].keys()),
|
|
key,
|
|
)
|
|
for key in ["blockers", "resolved", "first", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityBlockerResolution.summary",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityBlockerResolution"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityBlockerResolution.summary",
|
|
list(web_messages_en["iwooos"]["concreteSecurityBlockerResolution"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerResponseMissing",
|
|
"redactedEvidenceMissing",
|
|
"reviewerQueueClosed",
|
|
"sourceControlNotReady",
|
|
"hostEvidencePending",
|
|
"runtimeGateClosed",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.concreteSecurityBlockerResolution.items",
|
|
list(web_messages_zh["iwooos"]["concreteSecurityBlockerResolution"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.concreteSecurityBlockerResolution.items",
|
|
list(web_messages_en["iwooos"]["concreteSecurityBlockerResolution"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.three_axis_product_progress_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-three-axis-product-progress-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.three_axis_product_progress_component",
|
|
iwooos_projection_page,
|
|
"IwoooSThreeAxisProductProgressBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_three_axis_progress_headline_percent=61",
|
|
"iwooos_three_axis_progress_framework_percent=86-88",
|
|
"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=1",
|
|
"iwooos_three_axis_progress_kali_execution_authorized=false",
|
|
"iwooos_three_axis_progress_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.three_axis_product_progress_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.threeAxisProductProgress",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"threeAxisProductProgress",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.threeAxisProductProgress",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"threeAxisProductProgress",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"scopeLabel",
|
|
"currentLabel",
|
|
"nextLabel",
|
|
"boundaryLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.threeAxisProductProgress.keys",
|
|
list(web_messages_zh["iwooos"]["threeAxisProductProgress"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.threeAxisProductProgress.keys",
|
|
list(web_messages_en["iwooos"]["threeAxisProductProgress"].keys()),
|
|
key,
|
|
)
|
|
for key in ["headline", "framework", "runtime", "products"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.threeAxisProductProgress.summary",
|
|
list(web_messages_zh["iwooos"]["threeAxisProductProgress"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.threeAxisProductProgress.summary",
|
|
list(web_messages_en["iwooos"]["threeAxisProductProgress"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"awoooiCore",
|
|
"websites",
|
|
"sourceControl",
|
|
"hosts",
|
|
"toolsMonitoring",
|
|
"futureProducts",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.threeAxisProductProgress.items",
|
|
list(web_messages_zh["iwooos"]["threeAxisProductProgress"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.threeAxisProductProgress.items",
|
|
list(web_messages_en["iwooos"]["threeAxisProductProgress"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_wave_ledger_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-rollout-wave-ledger-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_wave_ledger_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductRolloutWaveLedgerBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_rollout_wave_count=6",
|
|
"iwooos_product_rollout_all_products_count=6",
|
|
"iwooos_product_rollout_current_wave=read_only_visibility",
|
|
"iwooos_product_rollout_runtime_wave_count=0",
|
|
"iwooos_product_rollout_enforcement_wave_count=0",
|
|
"iwooos_product_rollout_owner_response_accepted_count=0",
|
|
"iwooos_product_rollout_active_runtime_gate_count=0",
|
|
"iwooos_product_rollout_first_runtime_candidate=s4_9_owner_response_accepted",
|
|
"iwooos_product_rollout_all_products_read_only=true",
|
|
"iwooos_product_rollout_public_secret_exposure_allowed=false",
|
|
"iwooos_product_rollout_kali_execution_authorized=false",
|
|
"iwooos_product_rollout_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_wave_ledger_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutWaveLedger",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productRolloutWaveLedger",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutWaveLedger",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productRolloutWaveLedger",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"waveLabel",
|
|
"allowedLabel",
|
|
"beforeRuntimeLabel",
|
|
"forbiddenLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutWaveLedger.keys",
|
|
list(web_messages_zh["iwooos"]["productRolloutWaveLedger"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutWaveLedger.keys",
|
|
list(web_messages_en["iwooos"]["productRolloutWaveLedger"].keys()),
|
|
key,
|
|
)
|
|
for key in ["waves", "current", "runtime", "nextGate"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutWaveLedger.summary",
|
|
list(web_messages_zh["iwooos"]["productRolloutWaveLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutWaveLedger.summary",
|
|
list(web_messages_en["iwooos"]["productRolloutWaveLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"coreProduct",
|
|
"publicSurfaces",
|
|
"sourceControl",
|
|
"hostCoverage",
|
|
"monitoringTools",
|
|
"futureTemplate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutWaveLedger.items",
|
|
list(web_messages_zh["iwooos"]["productRolloutWaveLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutWaveLedger.items",
|
|
list(web_messages_en["iwooos"]["productRolloutWaveLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_gates_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-rollout-acceptance-gates-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_gates_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductRolloutAcceptanceGatesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_rollout_acceptance_gate_count=6",
|
|
"iwooos_product_rollout_acceptance_current_stage=read_only_acceptance",
|
|
"iwooos_product_rollout_acceptance_passed_count=0",
|
|
"iwooos_product_rollout_acceptance_failed_count=0",
|
|
"iwooos_product_rollout_acceptance_owner_response_received_count=0",
|
|
"iwooos_product_rollout_acceptance_owner_response_accepted_count=0",
|
|
"iwooos_product_rollout_acceptance_redacted_evidence_pointer_count=0",
|
|
"iwooos_product_rollout_acceptance_source_control_proof_count=0",
|
|
"iwooos_product_rollout_acceptance_host_safety_window_approved=false",
|
|
"iwooos_product_rollout_acceptance_rollback_disable_ready=false",
|
|
"iwooos_product_rollout_acceptance_runtime_gate_open=false",
|
|
"iwooos_product_rollout_acceptance_runtime_wave_count=0",
|
|
"iwooos_product_rollout_acceptance_enforcement_wave_count=0",
|
|
"iwooos_product_rollout_acceptance_public_secret_exposure_allowed=false",
|
|
"iwooos_product_rollout_acceptance_kali_execution_authorized=false",
|
|
"iwooos_product_rollout_acceptance_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_gates_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceGates",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productRolloutAcceptanceGates",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceGates",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productRolloutAcceptanceGates",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"gateLabel",
|
|
"requiredEvidenceLabel",
|
|
"acceptanceSignalLabel",
|
|
"stillClosedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceGates.keys",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceGates"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceGates.keys",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceGates"].keys()),
|
|
key,
|
|
)
|
|
for key in ["gateCount", "passed", "ownerEvidence", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceGates.summary",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceGates.summary",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"visibilityEvidence",
|
|
"ownerEvidence",
|
|
"redactionReview",
|
|
"sourceControlProof",
|
|
"hostSafetyWindow",
|
|
"rollbackDisable",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceGates.items",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceGates.items",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_outcomes_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-rollout-acceptance-outcomes-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_outcomes_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductRolloutAcceptanceOutcomesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_rollout_acceptance_outcome_lane_count=7",
|
|
"iwooos_product_rollout_acceptance_outcome_current_stage=read_only_outcome_routing",
|
|
"iwooos_product_rollout_acceptance_outcome_keep_read_only_lane_count=1",
|
|
"iwooos_product_rollout_acceptance_outcome_returned_for_evidence_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_quarantined_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_source_control_hold_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_host_safety_hold_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_human_review_candidate_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_runtime_candidate_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_owner_response_received_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_owner_response_accepted_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_redacted_evidence_accepted_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_active_runtime_gate_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_runtime_gate_open=false",
|
|
"iwooos_product_rollout_acceptance_outcome_runtime_wave_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_enforcement_wave_count=0",
|
|
"iwooos_product_rollout_acceptance_outcome_public_secret_exposure_allowed=false",
|
|
"iwooos_product_rollout_acceptance_outcome_kali_execution_authorized=false",
|
|
"iwooos_product_rollout_acceptance_outcome_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_rollout_acceptance_outcomes_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productRolloutAcceptanceOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productRolloutAcceptanceOutcomes",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"laneLabel",
|
|
"whyLabel",
|
|
"nextLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["outcomes", "accepted", "quarantine", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"keepReadOnly",
|
|
"returnEvidence",
|
|
"quarantineSensitive",
|
|
"sourceControlHold",
|
|
"hostSafetyHold",
|
|
"humanReviewCandidate",
|
|
"runtimeDenied",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.items",
|
|
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_map_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-map-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_map_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringMapBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_channel_count=6",
|
|
"iwooos_product_evidence_wiring_current_stage=read_only_evidence_wiring",
|
|
"iwooos_product_evidence_wiring_visible_channel_count=6",
|
|
"iwooos_product_evidence_wiring_connected_product_count=0",
|
|
"iwooos_product_evidence_wiring_owner_response_received_count=0",
|
|
"iwooos_product_evidence_wiring_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_monitoring_tool_payload_ingested=false",
|
|
"iwooos_product_evidence_wiring_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_map_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringMap",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringMap",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringMap",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringMap",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"channelLabel",
|
|
"evidenceLabel",
|
|
"handoffLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringMap.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringMap"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringMap.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringMap"].keys()),
|
|
key,
|
|
)
|
|
for key in ["channels", "connected", "accepted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringMap.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringMap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringMap.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringMap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"productScope",
|
|
"ownerResponse",
|
|
"redactedEvidence",
|
|
"sourceControlTruth",
|
|
"hostSafetyWindow",
|
|
"monitoringToolEvidence",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringMap.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringMap"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringMap.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringMap"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_check_count=6",
|
|
"iwooos_product_evidence_wiring_preflight_current_stage=read_only_evidence_wiring_preflight",
|
|
"iwooos_product_evidence_wiring_preflight_visible_check_count=6",
|
|
"iwooos_product_evidence_wiring_preflight_passed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_failed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_returned_for_scope_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_monitoring_tool_payload_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflight",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflight",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflight",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflight",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"checkLabel",
|
|
"checkPointLabel",
|
|
"passSignalLabel",
|
|
"failRouteLabel",
|
|
"stillClosedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflight.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflight"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflight.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflight"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "quarantine", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflight.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflight.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"scopeMetadata",
|
|
"ownerEnvelope",
|
|
"redactionBoundary",
|
|
"sourceTruth",
|
|
"hostWindow",
|
|
"toolOutput",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflight.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflight.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_outcomes_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-outcomes-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_outcomes_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightOutcomesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_outcome_lane_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_current_stage=read_only_preflight_outcome_routing",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_keep_read_only_lane_count=1",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_returned_for_scope_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_returned_for_owner_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_source_control_hold_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_host_safety_hold_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_tool_summary_hold_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_runtime_candidate_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_outcome_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_outcomes_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightOutcomes",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"outcomeLabel",
|
|
"whyLabel",
|
|
"nextLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["outcomes", "ready", "returned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"stayReadOnly",
|
|
"returnScope",
|
|
"returnOwnerEnvelope",
|
|
"quarantineSensitive",
|
|
"sourceTruthHold",
|
|
"hostWindowHold",
|
|
"toolSummaryHold",
|
|
"runtimeClosed",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightOutcomes.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_recovery_ledger_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-recovery-ledger-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_recovery_ledger_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRecoveryLedgerBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_recovery_queue_count=7",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_current_stage=read_only_recovery_ledger",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_visible_queue_count=7",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_submitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_returned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_ready_for_preflight_retry_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_recovery_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_recovery_ledger_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRecoveryLedger",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRecoveryLedger",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRecoveryLedger",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRecoveryLedger",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"queueLabel",
|
|
"ownerLabel",
|
|
"requiredLabel",
|
|
"handoffLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRecoveryLedger.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRecoveryLedger.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"].keys()),
|
|
key,
|
|
)
|
|
for key in ["queues", "submitted", "accepted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRecoveryLedger.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRecoveryLedger.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"scopePacket",
|
|
"ownerEnvelope",
|
|
"redactedEvidence",
|
|
"sourceTruth",
|
|
"hostWindow",
|
|
"toolSummary",
|
|
"runtimeGate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRecoveryLedger.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRecoveryLedger.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRecoveryLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_gates_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-gates-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_gates_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryGatesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_gate_count=6",
|
|
"iwooos_product_evidence_wiring_preflight_retry_current_stage=read_only_recovery_retry_gate",
|
|
"iwooos_product_evidence_wiring_preflight_retry_visible_gate_count=6",
|
|
"iwooos_product_evidence_wiring_preflight_retry_candidate_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_submitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_passed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_failed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_returned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_gates_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryGates",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryGates",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryGates",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryGates",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"gateLabel",
|
|
"readyLabel",
|
|
"retryLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryGates.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryGates"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryGates.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryGates"].keys()),
|
|
key,
|
|
)
|
|
for key in ["gates", "candidate", "passed", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryGates.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryGates.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"scopeReady",
|
|
"ownerReady",
|
|
"redactionReady",
|
|
"sourceReady",
|
|
"hostReady",
|
|
"toolReady",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryGates.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryGates.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_outcomes_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-outcomes-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_outcomes_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryOutcomesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_lane_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_current_stage=read_only_retry_outcome_routing",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_visible_lane_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_returned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_human_review_candidate_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_runtime_candidate_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_outcome_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_outcomes_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryOutcomes",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"outcomeLabel",
|
|
"decisionLabel",
|
|
"nextLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["outcomes", "ready", "review", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"stayCandidate",
|
|
"returnSupplement",
|
|
"quarantineSensitive",
|
|
"sourceTruthReturn",
|
|
"hostWindowPause",
|
|
"toolSummaryReturn",
|
|
"humanReviewWait",
|
|
"runtimeStillClosed",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryOutcomes.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-review-candidate-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryReviewCandidateBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_packet_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_current_stage=read_only_retry_review_candidate_preparation",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_visible_packet_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_packet_completed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_ready_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_queue_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_created_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_reviewer_assigned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_audit_event_emitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_candidate_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidate",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidate",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidate",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidate",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"packetLabel",
|
|
"requiredLabel",
|
|
"handoffLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "queue", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"candidateIdentity",
|
|
"sourceOutcomeTrace",
|
|
"ownerScopePacket",
|
|
"redactionAttestation",
|
|
"sourceControlReadiness",
|
|
"hostSafetyWindow",
|
|
"toolSummaryEvidence",
|
|
"runtimeSeparation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidate.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidate"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-review-candidate-preflight-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryReviewCandidatePreflightBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_check_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_current_stage=read_only_retry_review_candidate_preflight",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_visible_check_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_passed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_failed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_ready_for_queue_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_queue_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_candidate_created_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_reviewer_assigned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_audit_event_emitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflight",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflight",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"checkLabel",
|
|
"requirementLabel",
|
|
"passLabel",
|
|
"failLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "queue", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"candidateIdentity",
|
|
"sourceOutcomeTrace",
|
|
"ownerScope",
|
|
"redactionAttestation",
|
|
"sourceControlTruth",
|
|
"hostSafetyWindow",
|
|
"toolSummary",
|
|
"runtimeSeparation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflight.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_outcomes_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-review-candidate-preflight-outcomes-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_outcomes_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_lane_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_current_stage=read_only_retry_review_candidate_preflight_outcome_routing",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_visible_lane_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_ready_for_queue_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_returned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_candidate_created_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_reviewer_assigned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_audit_event_emitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_ready_for_connection_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_outcome_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_outcomes_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"outcomeLabel",
|
|
"decisionLabel",
|
|
"nextLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["outcomes", "ready", "queue", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"stayReadOnly",
|
|
"returnIdentity",
|
|
"returnTrace",
|
|
"returnOwnerScope",
|
|
"quarantineRedaction",
|
|
"sourceHostHold",
|
|
"readyForHumanReviewWait",
|
|
"runtimeStillClosed",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_ledger_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-review-candidate-preflight-recovery-ledger-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_ledger_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedgerBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_queue_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_current_stage=read_only_retry_review_candidate_preflight_recovery_ledger",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_visible_queue_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_submitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_rejected_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_quarantined_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_ready_for_preflight_retry_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_candidate_created_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_reviewer_assigned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_audit_event_emitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_ledger_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"queueLabel",
|
|
"ownerLabel",
|
|
"requiredLabel",
|
|
"recoveryLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"].keys()),
|
|
key,
|
|
)
|
|
for key in ["queues", "submitted", "accepted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"identitySupplement",
|
|
"traceSupplement",
|
|
"ownerScopeSupplement",
|
|
"redactionResubmission",
|
|
"sourceControlEvidence",
|
|
"hostWindowEvidence",
|
|
"toolSummarySupplement",
|
|
"runtimeAttestation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_retry_gates_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-product-evidence-wiring-preflight-retry-review-candidate-preflight-recovery-retry-gates-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_retry_gates_component",
|
|
iwooos_projection_page,
|
|
"IwoooSProductEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGatesBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_gate_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_current_stage=read_only_retry_review_candidate_preflight_recovery_retry_gate",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_visible_gate_count=8",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_candidate_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_submitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_passed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_failed_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_ready_for_preflight_retry_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_ready_for_human_review_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_candidate_created_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_reviewer_assigned_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_audit_event_emitted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_ready_for_runtime_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_owner_response_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_redacted_evidence_pointer_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_source_control_truth_accepted_count=0",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_host_safety_window_approved=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_tool_summary_ingested=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_runtime_gate_open=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_public_secret_exposure_allowed=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_kali_execution_authorized=false",
|
|
"iwooos_product_evidence_wiring_preflight_retry_review_preflight_recovery_retry_source_control_mutation_authorized=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.product_evidence_wiring_preflight_retry_review_candidate_preflight_recovery_retry_gates_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates",
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"summary",
|
|
"items",
|
|
"gateLabel",
|
|
"readyLabel",
|
|
"retryLabel",
|
|
"blockedLabel",
|
|
"boundaryTitle",
|
|
"boundaryIntro",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.keys",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.keys",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"].keys()),
|
|
key,
|
|
)
|
|
for key in ["gates", "candidates", "passed", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.summary",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.summary",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"identityGate",
|
|
"traceGate",
|
|
"ownerScopeGate",
|
|
"redactionGate",
|
|
"sourceControlGate",
|
|
"hostWindowGate",
|
|
"toolSummaryGate",
|
|
"runtimeGate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.items",
|
|
list(web_messages_zh["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates.items",
|
|
list(web_messages_en["iwooos"]["productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_progress_unlock_path_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-progress-unlock-path-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_progress_unlock_path_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstProgressUnlockPathBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_path_step_count=5",
|
|
"iwooos_first_unlock_path_current_focus=s4_9_owner_response",
|
|
"iwooos_first_unlock_path_owner_response_received_count=0",
|
|
"iwooos_first_unlock_path_owner_response_accepted_count=0",
|
|
"iwooos_first_unlock_path_redacted_evidence_pointer_count=0",
|
|
"iwooos_first_unlock_path_intake_preflight_passed_count=0",
|
|
"iwooos_first_unlock_path_headline_review_authorized=false",
|
|
"iwooos_first_unlock_path_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_progress_unlock_path_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstProgressUnlockPath",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstProgressUnlockPath",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstProgressUnlockPath",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstProgressUnlockPath",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "stepLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstProgressUnlockPath.keys",
|
|
list(web_messages_zh["iwooos"]["firstProgressUnlockPath"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstProgressUnlockPath.keys",
|
|
list(web_messages_en["iwooos"]["firstProgressUnlockPath"].keys()),
|
|
key,
|
|
)
|
|
for key in ["focus", "steps", "accepted", "headline"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstProgressUnlockPath.summary",
|
|
list(web_messages_zh["iwooos"]["firstProgressUnlockPath"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstProgressUnlockPath.summary",
|
|
list(web_messages_en["iwooos"]["firstProgressUnlockPath"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerResponseScope",
|
|
"redactedEvidencePointer",
|
|
"intakePreflight",
|
|
"reviewAcceptance",
|
|
"headlineReviewCandidate",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstProgressUnlockPath.items",
|
|
list(web_messages_zh["iwooos"]["firstProgressUnlockPath"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstProgressUnlockPath.items",
|
|
list(web_messages_en["iwooos"]["firstProgressUnlockPath"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_slot_count=5",
|
|
"iwooos_first_unlock_evidence_packet_current_focus=s4_9_owner_response",
|
|
"iwooos_first_unlock_evidence_packet_filled_count=0",
|
|
"iwooos_first_unlock_evidence_packet_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_redacted_pointer_required=true",
|
|
"iwooos_first_unlock_evidence_packet_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacket",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacket",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacket",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacket",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "slotLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacket.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacket"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacket.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacket"].keys()),
|
|
key,
|
|
)
|
|
for key in ["slots", "filled", "accepted", "payload"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacket.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacket"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacket.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacket"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerDecisionMetadata",
|
|
"scopeEvidenceRefs",
|
|
"redactionAttestation",
|
|
"preflightTrace",
|
|
"reviewAcceptanceSummary",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacket.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacket"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacket.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacket"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_preflight_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-preflight-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_preflight_outcome_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketPreflightOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_preflight_outcome_lane_count=6",
|
|
"iwooos_first_unlock_evidence_packet_preflight_ready_for_review_count=0",
|
|
"iwooos_first_unlock_evidence_packet_preflight_needs_supplement_count=0",
|
|
"iwooos_first_unlock_evidence_packet_preflight_quarantined_count=0",
|
|
"iwooos_first_unlock_evidence_packet_preflight_rejected_count=0",
|
|
"iwooos_first_unlock_evidence_packet_review_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_preflight_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketPreflightOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketPreflightOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketPreflightOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketPreflightOutcomes",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "laneLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketPreflightOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketPreflightOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "quarantine", "accepted"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketPreflightOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketPreflightOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"readyForReview",
|
|
"needsOwnerMetadata",
|
|
"needsScopeRefs",
|
|
"quarantineRawPayload",
|
|
"rejectSecretValue",
|
|
"waitingReviewer",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketPreflightOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketPreflightOutcomes.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketPreflightOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_path_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-supplement-path-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_path_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketSupplementPathBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_supplement_path_step_count=5",
|
|
"iwooos_first_unlock_evidence_packet_supplement_current_focus=owner_metadata_and_scope_refs",
|
|
"iwooos_first_unlock_evidence_packet_supplement_ready_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_blocked_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_quarantined_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_path_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPath",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPath",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPath",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPath",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "stepLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPath.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPath"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPath.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPath"].keys()),
|
|
key,
|
|
)
|
|
for key in ["steps", "ready", "submitted", "accepted"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPath.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPath"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPath.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPath"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerMetadataPatch",
|
|
"scopeRefsPatch",
|
|
"redactionPatch",
|
|
"preflightTracePatch",
|
|
"reviewerQueuePatch",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPath.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPath"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPath.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPath"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-supplement-pre-review-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketSupplementPreReviewBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_check_count=6",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_current_focus=supplement_pre_review",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_passed_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_failed_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_ready_for_review_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReview",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPreReview",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReview",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPreReview",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "checkLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReview.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReview.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "ready", "queue"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReview.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReview.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"ownerMetadataComplete",
|
|
"scopeRefsTraceable",
|
|
"redactionAttested",
|
|
"preflightTraceAttached",
|
|
"noMutationClauseHeld",
|
|
"reviewerQueueReady",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReview.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReview.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReview"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-supplement-pre-review-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_outcome_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketSupplementPreReviewOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_outcome_lane_count=6",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_ready_for_queue_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_returned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_quarantined_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_rejected_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_reviewer_assigned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_supplement_pre_review_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPreReviewOutcomes",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketSupplementPreReviewOutcomes",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "outcomeLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "returned", "assigned"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"readyForReviewerQueue",
|
|
"returnToSupplement",
|
|
"quarantineSensitiveMaterial",
|
|
"rejectMutationRequest",
|
|
"keepQueueClosed",
|
|
"waitReviewerAssignment",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketSupplementPreReviewOutcomes.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preparation_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-reviewer-assignment-preparation-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preparation_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketReviewerAssignmentPreparationBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_packet_count=6",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_current_focus=reviewer_assignment_preparation",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_ready_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_reviewer_candidate_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_reviewer_assigned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_audit_event_emitted=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_ready_for_queue_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preparation_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreparation",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreparation",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "packetLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "candidates", "assigned"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"queueStatusFreeze",
|
|
"reviewerRoleBoundary",
|
|
"scopePacket",
|
|
"evidencePointerIndex",
|
|
"conflictDisclosure",
|
|
"assignmentAuditDraft",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-reviewer-assignment-preflight-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketReviewerAssignmentPreflightBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_check_count=6",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_current_focus=reviewer_assignment_preflight",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_passed_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_failed_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_ready_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_reviewer_candidate_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_reviewer_assigned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_audit_event_emitted=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_ready_for_queue_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreflight",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreflight",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "checkLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "ready", "assigned"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"queueStillClosed",
|
|
"roleBoundaryTraceable",
|
|
"scopePacketTraceable",
|
|
"evidenceIndexRedacted",
|
|
"conflictDisclosureClear",
|
|
"auditDraftMetadataOnly",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflight.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflight"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_testid",
|
|
iwooos_projection_page,
|
|
'data-testid="iwooos-first-unlock-evidence-packet-reviewer-assignment-preflight-outcome-board"',
|
|
)
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_component",
|
|
iwooos_projection_page,
|
|
"IwoooSFirstUnlockEvidencePacketReviewerAssignmentPreflightOutcomeBoard",
|
|
)
|
|
for text in [
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_lane_count=6",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_current_focus=reviewer_assignment_preflight_outcomes",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_ready_for_candidate_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_returned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_quarantined_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_conflict_hold_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_audit_event_emitted=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_reviewer_candidate_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_reviewer_assigned_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_passed_count=0",
|
|
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preflight_ready_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
|
|
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
|
|
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
|
|
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=false",
|
|
"runtime_execution_authorized=false",
|
|
"active_runtime_gate_count=0",
|
|
"action_buttons_allowed=false",
|
|
"not_authorization=true",
|
|
"secret_value_collection_allowed=false",
|
|
"repo_creation_authorized=false",
|
|
"refs_sync_authorized=false",
|
|
"workflow_modification_authorized=false",
|
|
"github_primary_switch_authorized=false",
|
|
"gitea_disablement_authorized=false",
|
|
]:
|
|
assert_text_contains(
|
|
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preflight_outcome_boundary",
|
|
iwooos_projection_page,
|
|
text,
|
|
)
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome",
|
|
list(web_messages_zh["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome",
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome",
|
|
list(web_messages_en["iwooos"].keys()),
|
|
"firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome",
|
|
)
|
|
for key in ["title", "subtitle", "summary", "items", "outcomeLabel", "boundaryTitle", "boundaryIntro"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.keys",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.keys",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"].keys()),
|
|
key,
|
|
)
|
|
for key in ["outcomes", "candidates", "assigned", "audit"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.summary",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.summary",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"keepQueueClosed",
|
|
"returnRoleBoundary",
|
|
"returnScopePacket",
|
|
"quarantineEvidenceIndex",
|
|
"holdConflictDisclosure",
|
|
"keepAuditDraftMetadataOnly",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.items",
|
|
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome.items",
|
|
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"compactTitle",
|
|
"compactDetail",
|
|
"openIwooos",
|
|
"sourceLabel",
|
|
"sourceDetail",
|
|
"boundaryLabel",
|
|
"metrics",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.security.iwooosBridge",
|
|
list(web_messages_zh["security"]["iwooosBridge"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.security.iwooosBridge",
|
|
list(web_messages_en["security"]["iwooosBridge"].keys()),
|
|
key,
|
|
)
|
|
for key in ["overall", "framework", "runtimeGates", "actions"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.security.iwooosBridge.metrics",
|
|
list(web_messages_zh["security"]["iwooosBridge"]["metrics"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.security.iwooosBridge.metrics",
|
|
list(web_messages_en["security"]["iwooosBridge"]["metrics"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "states", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.surfaceConnections",
|
|
list(web_messages_zh["iwooos"]["surfaceConnections"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.surfaceConnections",
|
|
list(web_messages_en["iwooos"]["surfaceConnections"].keys()),
|
|
key,
|
|
)
|
|
for key in ["embeddedBridge", "directBridge", "awooopCandidate"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.surfaceConnections.states",
|
|
list(web_messages_zh["iwooos"]["surfaceConnections"]["states"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.surfaceConnections.states",
|
|
list(web_messages_en["iwooos"]["surfaceConnections"]["states"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"securityCompliance",
|
|
"legacySecurity",
|
|
"legacyCompliance",
|
|
"alerts",
|
|
"errors",
|
|
"authorizations",
|
|
"governance",
|
|
"alertOperationLogs",
|
|
"awooopApprovals",
|
|
"codeReview",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.surfaceConnections.items",
|
|
list(web_messages_zh["iwooos"]["surfaceConnections"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.surfaceConnections.items",
|
|
list(web_messages_en["iwooos"]["surfaceConnections"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "gateLabel", "guardLabel", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.sourceControlReadiness",
|
|
list(web_messages_zh["iwooos"]["sourceControlReadiness"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.sourceControlReadiness",
|
|
list(web_messages_en["iwooos"]["sourceControlReadiness"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"candidateRepos",
|
|
"primaryReady",
|
|
"ownerResponses",
|
|
"refsTruth",
|
|
"workflowSecrets",
|
|
"rollbackAdr",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.sourceControlReadiness.items",
|
|
list(web_messages_zh["iwooos"]["sourceControlReadiness"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.sourceControlReadiness.items",
|
|
list(web_messages_en["iwooos"]["sourceControlReadiness"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "routeLabel", "stageLabel", "boundaryLabel", "guardTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.awooopCoverage",
|
|
list(web_messages_zh["iwooos"]["awooopCoverage"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.awooopCoverage",
|
|
list(web_messages_en["iwooos"]["awooopCoverage"].keys()),
|
|
key,
|
|
)
|
|
for key in ["routes", "covered", "runtimeGates", "actions"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.awooopCoverage.summary",
|
|
list(web_messages_zh["iwooos"]["awooopCoverage"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.awooopCoverage.summary",
|
|
list(web_messages_en["iwooos"]["awooopCoverage"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["home", "workItems", "contracts", "tenants", "runs", "runDetail", "approvals", "approvalDecision"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.awooopCoverage.items",
|
|
list(web_messages_zh["iwooos"]["awooopCoverage"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.awooopCoverage.items",
|
|
list(web_messages_en["iwooos"]["awooopCoverage"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "movementLabel", "guardLabel", "boundaryTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityConvergenceRoadmap",
|
|
list(web_messages_zh["iwooos"]["securityConvergenceRoadmap"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityConvergenceRoadmap",
|
|
list(web_messages_en["iwooos"]["securityConvergenceRoadmap"].keys()),
|
|
key,
|
|
)
|
|
for key in ["mode", "coverage", "accepted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityConvergenceRoadmap.summary",
|
|
list(web_messages_zh["iwooos"]["securityConvergenceRoadmap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityConvergenceRoadmap.summary",
|
|
list(web_messages_en["iwooos"]["securityConvergenceRoadmap"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"visibilityFirst",
|
|
"ownerResponse",
|
|
"redactedEvidence",
|
|
"humanDecision",
|
|
"runtimeGate",
|
|
"sourceControlCutover",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.securityConvergenceRoadmap.items",
|
|
list(web_messages_zh["iwooos"]["securityConvergenceRoadmap"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.securityConvergenceRoadmap.items",
|
|
list(web_messages_en["iwooos"]["securityConvergenceRoadmap"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "packetLabel", "movementLabel", "guardLabel", "boundaryTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseCollectionBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseCollectionBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseCollectionBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseCollectionBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "templates", "received", "accepted"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseCollectionBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseCollectionBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseCollectionBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseCollectionBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in ["giteaAttestation", "githubTarget", "refsTruth", "workflowSecretNames"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseCollectionBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseCollectionBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseCollectionBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseCollectionBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "laneLabel", "ruleLabel", "guardLabel", "boundaryTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseIntakeSafetyBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseIntakeSafetyBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseIntakeSafetyBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseIntakeSafetyBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["rules", "ingested", "quarantined", "rejected"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseIntakeSafetyBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseIntakeSafetyBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseIntakeSafetyBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseIntakeSafetyBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"redactedEvidenceOnly",
|
|
"ownerScopeCompletion",
|
|
"secretValueQuarantine",
|
|
"repoMutationRequest",
|
|
"refsMutationRequest",
|
|
"runtimeExecutionRequest",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseIntakeSafetyBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseIntakeSafetyBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseIntakeSafetyBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseIntakeSafetyBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "laneLabel", "resultLabel", "guardLabel", "boundaryTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseReviewOutcomeBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseReviewOutcomeBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "accepted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseReviewOutcomeBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseReviewOutcomeBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"remainWaiting",
|
|
"needsEvidence",
|
|
"readyForHumanReview",
|
|
"quarantined",
|
|
"rejected",
|
|
"readonlyUpdate",
|
|
"humanDecisionRequired",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseReviewOutcomeBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseReviewOutcomeBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in ["title", "subtitle", "queueLabel", "prepLabel", "guardLabel", "boundaryTitle", "summary", "items"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseHumanDecisionQueueBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseHumanDecisionQueueBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseHumanDecisionQueueBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseHumanDecisionQueueBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["queueItems", "ready", "approved", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseHumanDecisionQueueBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseHumanDecisionQueueBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseHumanDecisionQueueBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseHumanDecisionQueueBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"decisionPacketDraft",
|
|
"evidenceTraceBundle",
|
|
"reviewerAssignment",
|
|
"rollbackWindowCandidate",
|
|
"runtimeGateSeparated",
|
|
"sourceControlCutoverSeparated",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseHumanDecisionQueueBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseHumanDecisionQueueBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseHumanDecisionQueueBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseHumanDecisionQueueBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"guardItemLabel",
|
|
"draftLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseDecisionRecordDraftGuardBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseDecisionRecordDraftGuardBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["guards", "drafts", "formalRecords", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseDecisionRecordDraftGuardBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseDecisionRecordDraftGuardBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"recordIdentityDraft",
|
|
"decisionScopeSnapshot",
|
|
"reviewerRolePlaceholder",
|
|
"evidenceVersionFreeze",
|
|
"approvalNotExecutionBoundary",
|
|
"followupRuntimeGatePointer",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseDecisionRecordDraftGuardBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseDecisionRecordDraftGuardBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseDecisionRecordDraftGuardBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"checkItemLabel",
|
|
"preflightLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidatePreflightBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidatePreflightBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "candidates", "formalRecords", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidatePreflightBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidatePreflightBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"candidateIdentityTrace",
|
|
"reviewerIdentityBoundary",
|
|
"evidenceVersionChain",
|
|
"scopeAndExpiry",
|
|
"riskRollbackField",
|
|
"runtimeGateSeparation",
|
|
"sourceControlSeparation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidatePreflightBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidatePreflightBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidatePreflightBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"laneLabel",
|
|
"resultLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "promoted", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"remainCandidateWaiting",
|
|
"returnToDraft",
|
|
"needsEvidenceRefresh",
|
|
"needsReviewerClarification",
|
|
"readyForRecordOwner",
|
|
"quarantineSensitivePayload",
|
|
"rejectMutationRequest",
|
|
"runtimeOrCutoverGateRequired",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordCandidateOutcomeBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordCandidateOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"packetLabel",
|
|
"handoffLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"handoffIdentityBundle",
|
|
"handoffDecisionContext",
|
|
"handoffEvidenceLock",
|
|
"handoffReviewerNotes",
|
|
"handoffRiskRollback",
|
|
"handoffRuntimeGatePointer",
|
|
"handoffSourceControlPointer",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"checkLabel",
|
|
"reviewLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"packetCompleteness",
|
|
"recordOwnerIdentityScope",
|
|
"authorityBoundaryMatch",
|
|
"evidenceVersionConfirm",
|
|
"reviewerNoteConfirm",
|
|
"mutationRequestReject",
|
|
"runtimeCutoverSeparation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"laneLabel",
|
|
"resultLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"remainReviewWaiting",
|
|
"requestPacketCompletion",
|
|
"requestOwnerScopeClarification",
|
|
"requestEvidenceRefresh",
|
|
"readyForRecordOwnerReview",
|
|
"quarantineSensitivePayload",
|
|
"rejectMutationRequest",
|
|
"runtimeOrCutoverGateRequired",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerHandoffReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"packetLabel",
|
|
"prepareLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"reviewIdentityPacket",
|
|
"handoffOutcomeSnapshot",
|
|
"ownerScopePacket",
|
|
"authorityBoundaryPacket",
|
|
"evidenceTracePacket",
|
|
"reviewerNotePacket",
|
|
"mutationRejectionPacket",
|
|
"runtimeCutoverPointer",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewPreparationBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"checkLabel",
|
|
"reviewLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"identityTraceCheck",
|
|
"handoffOutcomeCheck",
|
|
"ownerScopeCheck",
|
|
"authorityBoundaryCheck",
|
|
"evidenceTraceCheck",
|
|
"reviewerNoteCheck",
|
|
"mutationRejectionCheck",
|
|
"runtimeCutoverSeparationCheck",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewChecklistBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"laneLabel",
|
|
"resultLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"remainOwnerReviewWaiting",
|
|
"requestTraceCompletion",
|
|
"requestOwnerScopeClarification",
|
|
"requestAuthorityBoundaryFix",
|
|
"readyForManualOwnerAssignmentReview",
|
|
"quarantineSensitivePayload",
|
|
"rejectMutationRequest",
|
|
"runtimeOrPrimaryGateRequired",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerReviewOutcomeBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerReviewOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"packetLabel",
|
|
"preparationLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"assignmentIdentityCandidate",
|
|
"ownerScopeConfirmation",
|
|
"authorityBoundaryConfirmation",
|
|
"evidenceTraceConfirmation",
|
|
"reviewOutcomeReference",
|
|
"backupOwnerNote",
|
|
"mutationRejectionConfirmation",
|
|
"runtimePrimarySeparation",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentPreparationBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"checkLabel",
|
|
"confirmationLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"assignmentIdentityReadable",
|
|
"ownerScopeCurrent",
|
|
"authorityBoundaryReadable",
|
|
"evidenceTraceReadable",
|
|
"reviewOutcomeLinked",
|
|
"backupOwnerNoteReadable",
|
|
"mutationRejectionConfirmed",
|
|
"runtimePrimarySeparated",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentChecklistBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"laneLabel",
|
|
"resultLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["lanes", "ready", "assigned", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"remainAssignmentCheckWaiting",
|
|
"requestIdentityClarification",
|
|
"requestScopeRefresh",
|
|
"requestAuthorityBoundaryFix",
|
|
"readyForManualOwnerAssignmentDecision",
|
|
"quarantineSensitivePayload",
|
|
"rejectMutationRequest",
|
|
"runtimeOrPrimaryGateRequired",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentOutcomeBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentOutcomeBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"packetLabel",
|
|
"requirementLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["packets", "ready", "decisions", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"outcomeTracePacket",
|
|
"ownerIdentityPacket",
|
|
"scopeSnapshotPacket",
|
|
"authorityBoundaryPacket",
|
|
"evidenceReviewPacket",
|
|
"quarantineAndExceptionPacket",
|
|
"mutationRejectionPacket",
|
|
"runtimePrimaryGatePacket",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionPreparationBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"title",
|
|
"subtitle",
|
|
"checkLabel",
|
|
"confirmationLabel",
|
|
"guardLabel",
|
|
"boundaryTitle",
|
|
"summary",
|
|
"items",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"].keys()),
|
|
key,
|
|
)
|
|
for key in ["checks", "passed", "decisions", "runtime"]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard.summary",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard.summary",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"]["summary"].keys()),
|
|
key,
|
|
)
|
|
for key in [
|
|
"decisionTraceReadable",
|
|
"ownerIdentityConfirmable",
|
|
"scopeSnapshotCurrent",
|
|
"authorityBoundaryChecked",
|
|
"evidenceChainReadable",
|
|
"quarantineExceptionChecked",
|
|
"mutationRejectionChecked",
|
|
"runtimePrimarySeparated",
|
|
]:
|
|
assert_contains(
|
|
"web_messages.zh-TW.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard.items",
|
|
list(web_messages_zh["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
assert_contains(
|
|
"web_messages.en.iwooos.ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard.items",
|
|
list(web_messages_en["iwooos"]["ownerResponseFormalRecordOwnerAssignmentDecisionChecklistBoard"]["items"].keys()),
|
|
key,
|
|
)
|
|
|
|
owner_summary = owner_rollup["summary"]
|
|
assert_equal("owner_rollup.total_received_response_count", owner_summary["total_received_response_count"], 0)
|
|
assert_equal("owner_rollup.total_accepted_response_count", owner_summary["total_accepted_response_count"], 0)
|
|
assert_equal("owner_rollup.owner_response_evidence_routing_rule_count", owner_summary["owner_response_evidence_routing_rule_count"], 6)
|
|
assert_equal("owner_rollup.owner_response_validation_display_section_count", owner_summary["owner_response_validation_display_section_count"], 8)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_state_transition_rule_count",
|
|
owner_summary["owner_response_validation_state_transition_rule_count"],
|
|
7,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_checklist_count",
|
|
owner_summary["owner_response_validation_reviewer_checklist_count"],
|
|
9,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_outcome_lane_count",
|
|
owner_summary["owner_response_validation_reviewer_outcome_lane_count"],
|
|
7,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_event_template_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_event_template_count"],
|
|
4,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_display_section_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_display_section_count"],
|
|
5,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_collection_check_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_collection_check_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_redaction_example_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_redaction_example_count"],
|
|
5,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_retention_rule_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_retention_rule_count"],
|
|
5,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_retention_check_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_retention_check_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_handoff_packet_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_handoff_packet_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_reviewer_audit_handoff_check_count",
|
|
owner_summary["owner_response_validation_reviewer_audit_handoff_check_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_parallel_session_sync_check_count",
|
|
owner_summary["owner_response_validation_parallel_session_sync_check_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_parallel_session_conflict_lane_count",
|
|
owner_summary["owner_response_validation_parallel_session_conflict_lane_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_parallel_session_recovery_check_count",
|
|
owner_summary["owner_response_validation_parallel_session_recovery_check_count"],
|
|
6,
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.owner_response_validation_parallel_session_recovery_outcome_lane_count",
|
|
owner_summary["owner_response_validation_parallel_session_recovery_outcome_lane_count"],
|
|
7,
|
|
)
|
|
assert_false("owner_rollup.runtime_execution_authorized", owner_summary["runtime_execution_authorized"])
|
|
assert_false("owner_rollup.repo_creation_authorized", owner_summary["repo_creation_authorized"])
|
|
assert_false("owner_rollup.refs_sync_authorized", owner_summary["refs_sync_authorized"])
|
|
assert_false("owner_rollup.workflow_modification_authorized", owner_summary["workflow_modification_authorized"])
|
|
assert_false("owner_rollup.github_primary_switch_authorized", owner_summary["github_primary_switch_authorized"])
|
|
assert_false("owner_rollup.action_buttons_allowed", owner_summary["action_buttons_allowed"])
|
|
|
|
next_candidate = owner_rollup["next_collection_candidate"]
|
|
assert_equal("owner_rollup.next_collection_candidate.order", next_candidate["order"], 1)
|
|
assert_equal(
|
|
"owner_rollup.next_collection_candidate.lane_id",
|
|
next_candidate["lane_id"],
|
|
"s4_9_gitea_inventory_owner_attestation_response",
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.next_collection_candidate.display_status",
|
|
next_candidate["display_status"],
|
|
"next_owner_response_required",
|
|
)
|
|
assert_equal(
|
|
"owner_rollup.next_collection_candidate.required_response_template_count",
|
|
next_candidate["required_response_template_count"],
|
|
5,
|
|
)
|
|
assert_equal("owner_rollup.next_collection_candidate.received_response_count", next_candidate["received_response_count"], 0)
|
|
assert_equal("owner_rollup.next_collection_candidate.accepted_response_count", next_candidate["accepted_response_count"], 0)
|
|
assert_equal(
|
|
"owner_rollup.next_collection_candidate.awooop_display_mode",
|
|
next_candidate["awooop_display_mode"],
|
|
"display_next_collection_item_only",
|
|
)
|
|
assert_true("owner_rollup.next_collection_candidate.blocked_until_received", next_candidate["blocked_until_received"])
|
|
assert_false("owner_rollup.next_collection_candidate.execution_authorized", next_candidate["execution_authorized"])
|
|
assert_true("owner_rollup.next_collection_candidate.not_approval", next_candidate["not_approval"])
|
|
|
|
owner_local_validation = owner_rollup["latest_local_validation"]
|
|
assert_equal("owner_rollup.latest_local_validation.status", owner_local_validation["status"], "repo_snapshot_guard_pass")
|
|
assert_equal("owner_rollup.latest_local_validation.scope", owner_local_validation["scope"], "repo_snapshot_only")
|
|
assert_equal("owner_rollup.latest_local_validation.result", owner_local_validation["result"], "SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK")
|
|
assert_equal("owner_rollup.latest_local_validation.received_response_count", owner_local_validation["received_response_count"], 0)
|
|
assert_equal("owner_rollup.latest_local_validation.accepted_response_count", owner_local_validation["accepted_response_count"], 0)
|
|
assert_false("owner_rollup.latest_local_validation.runtime_actions_authorized", owner_local_validation["runtime_actions_authorized"])
|
|
assert_false("owner_rollup.latest_local_validation.repo_or_refs_actions_authorized", owner_local_validation["repo_or_refs_actions_authorized"])
|
|
assert_false("owner_rollup.latest_local_validation.workflow_or_secret_actions_authorized", owner_local_validation["workflow_or_secret_actions_authorized"])
|
|
assert_true("owner_rollup.latest_local_validation.not_authorization", owner_local_validation["not_authorization"])
|
|
|
|
primary_summary = primary_gate["summary"]
|
|
assert_equal("primary_gate.candidate_repo_count", primary_summary["candidate_repo_count"], 8)
|
|
assert_equal("primary_gate.in_scope_repo_count", primary_summary["in_scope_repo_count"], 7)
|
|
assert_equal("primary_gate.primary_ready_count", primary_summary["primary_ready_count"], 0)
|
|
assert_equal("primary_gate.blocked_in_scope_count", primary_summary["blocked_in_scope_count"], 7)
|
|
assert_equal("owner_rollup.total_response_template_count", owner_summary["total_response_template_count"], 22)
|
|
assert_false("primary_gate.runtime_actions_authorized", primary_summary["runtime_actions_authorized"])
|
|
assert_false("primary_gate.github_primary_switch_authorized", primary_summary["github_primary_switch_authorized"])
|
|
assert_false("primary_gate.action_buttons_allowed", primary_summary["action_buttons_allowed"])
|
|
assert_false("primary_gate.raw_secret_storage_authorized", primary_summary["raw_secret_storage_authorized"])
|
|
|
|
acceptance_ids = [item["check_id"] for item in acceptance["acceptance_checks"]]
|
|
assert_equal("acceptance.total_contracts", acceptance["summary"]["total_contracts"], manifest_count)
|
|
assert_equal(
|
|
"acceptance.ready_for_mirror_count",
|
|
acceptance["summary"]["ready_for_mirror_count"],
|
|
readiness_summary["ready_for_mirror_count"],
|
|
)
|
|
assert_contains("acceptance_checks", acceptance_ids, "PROGRESS_ESTIMATE_NOT_AUTHORIZATION")
|
|
assert_equal("acceptance.summary.acceptance_check_count", acceptance["summary"]["acceptance_check_count"], len(acceptance_ids))
|
|
assert_equal(
|
|
"acceptance.summary.blocking_check_count",
|
|
acceptance["summary"]["blocking_check_count"],
|
|
sum(1 for item in acceptance["acceptance_checks"] if item["blocking_if_failed"]),
|
|
)
|
|
assert_false("acceptance.runtime_execution_authorized", acceptance["runtime_execution_authorized"])
|
|
|
|
dry_run_summary = dry_run["summary"]
|
|
dry_run_step_ids = [item["step_id"] for item in dry_run["dry_run_steps"]]
|
|
assert_equal("dry_run.dry_run_status", dry_run["dry_run_status"], "contract_defined_not_executed")
|
|
assert_equal("dry_run.total_contracts", dry_run_summary["total_contracts"], manifest_count)
|
|
assert_equal(
|
|
"dry_run.ready_for_mirror_count",
|
|
dry_run_summary["ready_for_mirror_count"],
|
|
readiness_summary["ready_for_mirror_count"],
|
|
)
|
|
assert_equal("dry_run.acceptance_check_count", dry_run_summary["acceptance_check_count"], 8)
|
|
assert_false("dry_run.runtime_execution_authorized", dry_run["runtime_execution_authorized"])
|
|
assert_false("dry_run.runtime_actions_executed", dry_run_summary["runtime_actions_executed"])
|
|
assert_false("dry_run.payloads_ingested", dry_run_summary["payloads_ingested"])
|
|
assert_contains("dry_run_steps", dry_run_step_ids, "CHECK_PROGRESS_GUARD")
|
|
assert_contains("dry_run_steps", dry_run_step_ids, "CHECK_OWNER_RESPONSE_GUARD")
|
|
|
|
local_validation = dry_run["latest_local_validation"]
|
|
assert_equal("dry_run.latest_local_validation.status", local_validation["status"], "repo_snapshot_guard_pass")
|
|
assert_equal("dry_run.latest_local_validation.scope", local_validation["scope"], "repo_snapshot_only")
|
|
assert_equal(
|
|
"dry_run.latest_local_validation.result",
|
|
local_validation["result"],
|
|
"SECURITY_MIRROR_PROGRESS_GUARD_OK; SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK",
|
|
)
|
|
assert_contains("dry_run.latest_local_validation.validated_steps", local_validation["validated_steps"], "CHECK_PROGRESS_GUARD")
|
|
assert_contains(
|
|
"dry_run.latest_local_validation.validated_steps",
|
|
local_validation["validated_steps"],
|
|
"CHECK_OWNER_RESPONSE_GUARD",
|
|
)
|
|
assert_false("dry_run.latest_local_validation.runtime_actions_executed", local_validation["runtime_actions_executed"])
|
|
assert_false("dry_run.latest_local_validation.payloads_ingested", local_validation["payloads_ingested"])
|
|
assert_false("dry_run.latest_local_validation.production_ingestion_enabled", local_validation["production_ingestion_enabled"])
|
|
assert_true("dry_run.latest_local_validation.not_authorization", local_validation["not_authorization"])
|
|
|
|
forbidden_actions = (
|
|
set(rollup["forbidden_actions"])
|
|
| set(acceptance["forbidden_actions"])
|
|
| set(iwooos_projection["forbidden_frontend_outputs"])
|
|
)
|
|
for action in [
|
|
"start_kali_scan",
|
|
"call_kali_execute_endpoint",
|
|
"create_github_repo",
|
|
"change_repo_visibility",
|
|
"sync_git_refs",
|
|
"switch_github_primary",
|
|
"production_deploy",
|
|
]:
|
|
assert_contains("forbidden_actions", list(forbidden_actions), action)
|
|
|
|
|
|
def main() -> None:
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument(
|
|
"--root",
|
|
default=Path(__file__).resolve().parents[2],
|
|
type=Path,
|
|
help="Repository root. Defaults to the current script's repository.",
|
|
)
|
|
args = parser.parse_args()
|
|
validate(args.root.resolve())
|
|
print("SECURITY_MIRROR_PROGRESS_GUARD_OK")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|