docs(security): add owner response display sections
This commit is contained in:
@@ -101,6 +101,7 @@ def validate(root: Path) -> None:
|
||||
"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",
|
||||
]
|
||||
assert_equal(
|
||||
"progress_delta_ledger.delta_ids",
|
||||
@@ -135,6 +136,7 @@ def validate(root: Path) -> None:
|
||||
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_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"])
|
||||
|
||||
@@ -276,6 +276,17 @@ EXPECTED_ROLLUP_EVIDENCE_ROUTING_RULES = [
|
||||
"evidence-routing-accepted-metadata",
|
||||
]
|
||||
|
||||
EXPECTED_ROLLUP_DISPLAY_SECTIONS = [
|
||||
"display-validation-summary",
|
||||
"display-missing-response-lanes",
|
||||
"display-owner-response-collection-order",
|
||||
"display-next-collection-candidate",
|
||||
"display-cross-packet-acceptance-checks",
|
||||
"display-evidence-routing-rules",
|
||||
"display-quarantine-and-forbidden-actions",
|
||||
"display-latest-local-validation",
|
||||
]
|
||||
|
||||
|
||||
def load_json(path: Path) -> dict[str, Any]:
|
||||
return json.loads(path.read_text(encoding="utf-8"))
|
||||
@@ -318,6 +329,11 @@ def validate(root: Path) -> None:
|
||||
rollup_summary["owner_response_evidence_routing_rule_count"],
|
||||
len(EXPECTED_ROLLUP_EVIDENCE_ROUTING_RULES),
|
||||
)
|
||||
assert_equal(
|
||||
"rollup.owner_response_validation_display_section_count",
|
||||
rollup_summary["owner_response_validation_display_section_count"],
|
||||
len(EXPECTED_ROLLUP_DISPLAY_SECTIONS),
|
||||
)
|
||||
assert_true("rollup.quarantine_required", rollup_summary["quarantine_required"])
|
||||
assert_equal("rollup.primary_ready_count", rollup_summary["primary_ready_count"], 0)
|
||||
|
||||
@@ -686,6 +702,34 @@ def validate(root: Path) -> None:
|
||||
)
|
||||
assert_true(f"owner_response_evidence_routing_rules.{item['rule_id']}.not_approval", item["not_approval"])
|
||||
|
||||
display_sections = rollup["owner_response_validation_display_sections"]
|
||||
assert_equal(
|
||||
"owner_response_validation_display_sections.ids",
|
||||
[item["section_id"] for item in display_sections],
|
||||
EXPECTED_ROLLUP_DISPLAY_SECTIONS,
|
||||
)
|
||||
assert_equal(
|
||||
"owner_response_validation_display_sections.display_order",
|
||||
[item["display_order"] for item in display_sections],
|
||||
list(range(1, len(EXPECTED_ROLLUP_DISPLAY_SECTIONS) + 1)),
|
||||
)
|
||||
for item in display_sections:
|
||||
assert_equal(
|
||||
f"owner_response_validation_display_sections.{item['section_id']}.section_status",
|
||||
item["section_status"],
|
||||
"display_contract_only",
|
||||
)
|
||||
assert_equal(
|
||||
f"owner_response_validation_display_sections.{item['section_id']}.awooop_display_mode",
|
||||
item["awooop_display_mode"],
|
||||
"display_validation_section_only",
|
||||
)
|
||||
assert_false(
|
||||
f"owner_response_validation_display_sections.{item['section_id']}.execution_authorized",
|
||||
item["execution_authorized"],
|
||||
)
|
||||
assert_true(f"owner_response_validation_display_sections.{item['section_id']}.not_approval", item["not_approval"])
|
||||
|
||||
first_lane = LANES[0]
|
||||
first_collection_item = collection_order_by_id[first_lane["lane_id"]]
|
||||
first_missing_lane = missing_lane_by_id[first_lane["lane_id"]]
|
||||
|
||||
Reference in New Issue
Block a user