fix(api): expose credential escrow safe next step
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 16s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 16s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -254,6 +254,7 @@ def _build_payload(
|
||||
)
|
||||
if effective_missing == 0 and not blocked_items:
|
||||
status = "ready_for_escrow_marker_review"
|
||||
safe_next_step = "collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
|
||||
|
||||
payload = {
|
||||
"schema_version": _SCHEMA_VERSION,
|
||||
@@ -261,6 +262,7 @@ def _build_payload(
|
||||
"priority": "P0-005",
|
||||
"scope": "credential_escrow_evidence_intake",
|
||||
"status": status,
|
||||
"safe_next_step": safe_next_step,
|
||||
"readback": {
|
||||
"workplan_id": "P0-005",
|
||||
"workplan_title": "產品資料與備份 contract",
|
||||
@@ -270,9 +272,7 @@ def _build_payload(
|
||||
"source_backup_dr_readiness_matrix_ref": (
|
||||
"docs/evaluations/backup_dr_readiness_matrix_2026-06-04.json"
|
||||
),
|
||||
"safe_next_step": (
|
||||
"collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
|
||||
),
|
||||
"safe_next_step": safe_next_step,
|
||||
},
|
||||
"required_evidence_items": missing_items,
|
||||
"forbidden_values": forbidden_values,
|
||||
|
||||
@@ -27,6 +27,10 @@ def test_credential_escrow_evidence_intake_reports_p0_blocker():
|
||||
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["readback"]["safe_next_step"] == payload["safe_next_step"]
|
||||
assert payload["rollups"]["required_item_count"] == 5
|
||||
assert payload["rollups"]["missing_item_count"] == 5
|
||||
assert payload["rollups"]["effective_escrow_missing_count"] == 5
|
||||
@@ -56,6 +60,9 @@ 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["rollups"]["missing_item_count"] == 5
|
||||
assert data["operation_boundaries"]["restore_execution_allowed"] is False
|
||||
assert data["operation_boundaries"]["workflow_trigger_allowed"] is False
|
||||
|
||||
Reference in New Issue
Block a user