feat(api): close credential escrow evidence readback
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 19s
CD Pipeline / build-and-deploy (push) Successful in 5m34s
CD Pipeline / post-deploy-checks (push) Successful in 1m12s

This commit is contained in:
Your Name
2026-06-29 21:17:42 +08:00
parent 165afd24bc
commit 005be30fb1
9 changed files with 674 additions and 233 deletions

View File

@@ -22,37 +22,67 @@ ESCROW_ITEMS = [
]
def test_credential_escrow_evidence_intake_reports_p0_blocker():
def test_credential_escrow_evidence_intake_reports_controlled_closeout():
payload = load_latest_credential_escrow_evidence_intake_readiness()
assert payload["schema_version"] == "credential_escrow_evidence_intake_readiness_v1"
assert payload["priority"] == "P0-005"
assert payload["status"] == "blocked_waiting_non_secret_credential_escrow_evidence"
assert payload["safe_next_step"] == (
"collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
)
assert payload["status"] == "closed_credential_escrow_evidence_refs_controlled_closeout"
assert payload["safe_next_step"] == "continue_to_p0_006_source_to_runtime_drift_cleanup"
assert payload["readback"]["safe_next_step"] == payload["safe_next_step"]
assert payload["missing_item_count"] == 5
assert payload["owner_response_accepted_count"] == 0
assert payload["readback"]["source_closeout_receipt_ref"] == (
"docs/operations/"
"awoooi-credential-escrow-evidence-controlled-closeout-receipt.snapshot.json"
)
assert payload["missing_item_count"] == 0
assert payload["owner_response_accepted_count"] == 1
assert payload["runtime_gate_count"] == 0
assert payload["secret_value_collection_allowed"] is False
assert payload["rollups"]["required_item_count"] == 5
assert payload["rollups"]["missing_item_count"] == 5
assert payload["rollups"]["effective_escrow_missing_count"] == 5
assert payload["rollups"]["owner_response_received_count"] == 0
assert payload["rollups"]["owner_response_accepted_count"] == 0
assert payload["rollups"]["missing_item_count"] == 0
assert payload["rollups"]["effective_escrow_missing_count"] == 0
assert payload["rollups"]["accepted_item_count"] == 5
assert payload["rollups"]["owner_response_received_count"] == 1
assert payload["rollups"]["owner_response_accepted_count"] == 1
assert payload["rollups"]["runtime_gate_count"] == 0
assert payload["rollups"]["credential_marker_write_authorized_count"] == 0
assert payload["rollups"]["secret_value_collection_allowed"] is False
assert payload["rollups"]["preflight_status"] == (
"ready_for_reviewer_acceptance_writeback"
)
assert payload["rollups"]["active_gate_present"] is False
assert payload["rollups"]["controlled_closeout_status"] == (
"ready_for_p0_005_controlled_closeout"
)
assert (
payload["rollups"]["controlled_closeout_redacted_receipt_writeback_ready_count"]
== 1
)
assert payload["operation_boundaries"]["credential_marker_write_allowed"] is False
assert payload["operation_boundaries"]["credential_read_allowed"] is False
assert payload["operation_boundaries"]["secret_plaintext_allowed"] is False
assert payload["operation_boundaries"]["raw_session_or_sqlite_read_allowed"] is False
assert "restic_repository_password" in payload["rollups"]["blocked_item_ids"]
assert payload["rollups"]["blocked_item_ids"] == []
assert payload["reviewer_readiness"]["status"] == (
"ready_for_reviewer_acceptance_writeback"
)
assert payload["reviewer_readiness"]["projected_effective_escrow_missing_count"] == 0
assert payload["reviewer_readiness"]["redacted_receipt_writeback_ready_count"] == 1
assert payload["controlled_closeout_receipt"]["status"] == (
"ready_for_p0_005_controlled_closeout"
)
assert all(
item["contains_secret_value_allowed"] is False
for item in payload["required_evidence_items"]
)
assert all(
item["controlled_closeout_receipt_accepted"] is True
for item in payload["required_evidence_items"]
)
assert all(
item["non_secret_evidence_ref"].startswith("review-ticket-20260629-p0-005-")
for item in payload["required_evidence_items"]
)
def test_credential_escrow_evidence_intake_exposes_single_preflight_packet():
@@ -70,6 +100,7 @@ def test_credential_escrow_evidence_intake_exposes_single_preflight_packet():
intake = payload["single_preflight_intake"]
assert intake["schema_version"] == "credential_escrow_single_preflight_intake_v1"
assert intake["workplan_id"] == "P0-005"
assert intake["status"] == "completed_redacted_non_secret_evidence_refs_receipt_ready"
assert intake["active_gate"] == "credential_escrow_evidence"
assert intake["required_item_count"] == 5
assert intake["required_item_ids"] == ESCROW_ITEMS
@@ -115,14 +146,18 @@ def test_credential_escrow_evidence_intake_endpoint_returns_readiness():
assert response.status_code == 200
data = response.json()
assert data["priority"] == "P0-005"
assert data["safe_next_step"] == (
"collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
)
assert data["missing_item_count"] == 5
assert data["owner_response_accepted_count"] == 0
assert data["safe_next_step"] == "continue_to_p0_006_source_to_runtime_drift_cleanup"
assert data["missing_item_count"] == 0
assert data["owner_response_accepted_count"] == 1
assert data["runtime_gate_count"] == 0
assert data["secret_value_collection_allowed"] is False
assert data["rollups"]["missing_item_count"] == 5
assert data["rollups"]["missing_item_count"] == 0
assert data["rollups"]["effective_escrow_missing_count"] == 0
assert data["rollups"]["accepted_item_count"] == 5
assert data["rollups"]["controlled_closeout_status"] == (
"ready_for_p0_005_controlled_closeout"
)
assert data["reviewer_readiness"]["redacted_receipt_writeback_ready_count"] == 1
assert data["single_preflight_intake"]["required_item_ids"] == ESCROW_ITEMS
assert data["single_preflight_intake"]["operation_boundaries"][
"secret_value_collection_allowed"

View File

@@ -116,21 +116,34 @@ def test_delivery_closure_workbench_exposes_p0_005_credential_escrow_lane():
_assert_delivery_workbench_shape(payload)
lane = {lane["id"]: lane for lane in payload["lanes"]}["credential_escrow"]
assert lane["source_id"] == "backup_dr_credential_escrow"
assert lane["status"] == "blocked_waiting_non_secret_credential_escrow_evidence"
assert lane["blocker_count"] == 5
assert lane["completion_percent"] == 0
assert lane["source_id"] == "credential_escrow_evidence_intake_readiness"
assert lane["status"] == "closed_credential_escrow_evidence_refs_controlled_closeout"
assert lane["blocker_count"] == 0
assert lane["completion_percent"] == 100
assert lane["metric"]["kind"] == "credential_escrow_evidence"
assert lane["metric"]["workplan_id"] == "P0-005"
assert lane["metric"]["required_item_count"] == 5
assert lane["metric"]["effective_missing_count"] == 5
assert lane["metric"]["active_gate_present"] is True
assert lane["metric"]["preflight_status"] == "blocked_waiting_owner_response_content"
assert lane["metric"]["owner_response_received_count"] == 0
assert lane["metric"]["owner_response_accepted_count"] == 0
assert lane["metric"]["effective_missing_count"] == 0
assert lane["metric"]["active_gate_present"] is False
assert lane["metric"]["preflight_status"] == "ready_for_reviewer_acceptance_writeback"
assert lane["metric"]["accepted_item_count"] == 5
assert lane["metric"]["owner_response_received_count"] == 1
assert lane["metric"]["owner_response_accepted_count"] == 1
assert lane["metric"]["runtime_gate_count"] == 0
assert lane["metric"]["secret_value_collection_allowed"] is False
assert lane["metric"]["credential_marker_write_authorized_count"] == 0
assert lane["metric"]["controlled_closeout_status"] == (
"ready_for_p0_005_controlled_closeout"
)
assert (
lane["metric"]["controlled_closeout_redacted_receipt_writeback_ready_count"]
== 1
)
assert lane["metric"]["controlled_closeout_source_ref"] == (
"docs/operations/"
"awoooi-credential-escrow-evidence-controlled-closeout-receipt.snapshot.json"
)
assert lane["metric"]["controlled_closeout_projected_effective_missing_count"] == 0
assert lane["metric"]["single_preflight_intake_ready"] is True
assert lane["metric"]["single_preflight_intake_ready_count"] == 1
assert lane["metric"]["single_preflight_intake_schema_version"] == (
@@ -151,9 +164,7 @@ def test_delivery_closure_workbench_exposes_p0_005_credential_escrow_lane():
lane["metric"]["owner_response_skeleton_secret_value_collection_allowed"]
is False
)
assert lane["next_action"] == (
"collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
)
assert lane["next_action"] == "continue_to_p0_006_source_to_runtime_drift_cleanup"
def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
@@ -164,8 +175,8 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
assert lane["source_id"] == "reboot_auto_recovery_slo_scorecard"
assert lane["status"] == "blocked_reboot_auto_recovery_slo_not_ready"
assert lane["blocker_count"] == 5
assert lane["completion_percent"] == 55
assert lane["blocker_count"] == 1
assert lane["completion_percent"] == 82
assert lane["metric"]["kind"] == "reboot_auto_recovery_slo"
assert lane["metric"]["workplan_id"] == "P0-006"
assert lane["metric"]["target_minutes"] == 10
@@ -174,12 +185,12 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
assert lane["metric"]["missing_host_count"] == 0
assert lane["metric"]["unreachable_host_count"] == 0
assert lane["metric"]["stale_host_count"] == 4
assert lane["metric"]["service_green"] is False
assert lane["metric"]["product_data_green"] is False
assert lane["metric"]["service_green"] is True
assert lane["metric"]["product_data_green"] is True
assert lane["metric"]["backup_core_green"] is True
assert lane["metric"]["stockplatform_freshness_status"] == "blocked"
assert lane["metric"]["stockplatform_freshness_status"] == "ok"
assert lane["metric"]["stockplatform_ingestion_status"] == "ok"
assert lane["metric"]["stockplatform_freshness_blocker_count"] == 1
assert lane["metric"]["stockplatform_freshness_blocker_count"] == 0
assert lane["metric"]["stockplatform_ingestion_blocker_count"] == 0
assert lane["metric"]["stockplatform_final_retry_window_passed"] is False
assert lane["metric"]["stockplatform_controlled_recovery_gate_required"] is False
@@ -187,10 +198,12 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
assert lane["metric"]["service_restart_performed"] is False
assert lane["metric"]["database_write_or_restore_performed"] is False
assert lane["metric"]["secret_value_collection_allowed"] is False
assert "stockplatform_freshness_blocked" in lane["metric"]["active_blockers"]
assert lane["metric"]["active_blockers"] == [
"host_boot_observation_older_than_target_window"
]
assert lane["next_action"] == (
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
"no_reboot_no_db_write"
"timer_and_service_data_readback_green_wait_for_next_all_host_reboot_event_"
"or_approved_reboot_drill_to_prove_10_minute_slo"
)
@@ -213,16 +226,16 @@ def _assert_delivery_workbench_shape(data: dict):
"blocked_reboot_auto_recovery_slo_not_ready"
)
assert data["summary"]["reboot_auto_recovery_workplan_id"] == "P0-006"
assert data["summary"]["reboot_auto_recovery_readiness_percent"] == 55
assert data["summary"]["reboot_auto_recovery_active_blocker_count"] == 5
assert data["summary"]["reboot_auto_recovery_readiness_percent"] == 82
assert data["summary"]["reboot_auto_recovery_active_blocker_count"] == 1
assert data["summary"]["reboot_auto_recovery_can_claim_slo"] is False
assert data["summary"]["reboot_auto_recovery_service_green"] is False
assert data["summary"]["reboot_auto_recovery_product_data_green"] is False
assert data["summary"]["reboot_auto_recovery_service_green"] is True
assert data["summary"]["reboot_auto_recovery_product_data_green"] is True
assert data["summary"]["reboot_auto_recovery_observed_host_count"] == 4
assert data["summary"]["reboot_auto_recovery_stale_host_count"] == 4
assert (
data["summary"]["reboot_auto_recovery_stockplatform_freshness_status"]
== "blocked"
== "ok"
)
assert (
data["summary"]["reboot_auto_recovery_stockplatform_ingestion_status"]
@@ -241,8 +254,8 @@ def _assert_delivery_workbench_shape(data: dict):
is False
)
assert data["summary"]["reboot_auto_recovery_safe_next_step"] == (
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
"no_reboot_no_db_write"
"timer_and_service_data_readback_green_wait_for_next_all_host_reboot_event_"
"or_approved_reboot_drill_to_prove_10_minute_slo"
)
assert data["summary"]["gitea_private_inventory_status"] == (
"closed_gitea_private_inventory_controlled_closeout"
@@ -333,12 +346,32 @@ def _assert_delivery_workbench_shape(data: dict):
assert data["summary"]["production_deploy_status"] == "closure_verified"
assert data["summary"]["production_deploy_image_tag_matches_main"] is True
assert data["summary"]["backup_credential_escrow_intake_status"] == (
"blocked_waiting_non_secret_credential_escrow_evidence"
"closed_credential_escrow_evidence_refs_controlled_closeout"
)
assert data["summary"]["backup_credential_escrow_active_gate_present"] is False
assert data["summary"]["backup_credential_escrow_preflight_status"] == (
"ready_for_reviewer_acceptance_writeback"
)
assert data["summary"]["backup_credential_escrow_required_item_count"] == 5
assert data["summary"]["backup_credential_escrow_effective_missing_count"] == 5
assert data["summary"]["backup_credential_escrow_effective_missing_count"] == 0
assert data["summary"]["backup_credential_escrow_accepted_item_count"] == 5
assert data["summary"]["backup_credential_escrow_owner_response_received_count"] == 1
assert data["summary"]["backup_credential_escrow_owner_response_accepted_count"] == 1
assert data["summary"]["backup_credential_escrow_secret_value_collection_allowed"] is False
assert data["summary"]["backup_credential_marker_write_authorized_count"] == 0
assert data["summary"]["backup_credential_escrow_controlled_closeout_status"] == (
"ready_for_p0_005_controlled_closeout"
)
assert (
data["summary"][
"backup_credential_escrow_redacted_receipt_writeback_ready_count"
]
== 1
)
assert data["summary"]["backup_credential_escrow_closeout_receipt_ref"] == (
"docs/operations/"
"awoooi-credential-escrow-evidence-controlled-closeout-receipt.snapshot.json"
)
assert (
data["summary"][
"backup_credential_escrow_single_preflight_intake_ready"
@@ -362,7 +395,7 @@ def _assert_delivery_workbench_shape(data: dict):
)
assert data["summary"][
"backup_credential_escrow_single_preflight_safe_next_step"
] == "collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
] == "continue_to_p0_006_source_to_runtime_drift_cleanup"
assert (
data["summary"][
"backup_credential_escrow_single_preflight_secret_value_collection_allowed"