feat(delivery): add GitHub private backup evidence gate

This commit is contained in:
ogt
2026-06-26 23:37:38 +08:00
parent f3181feedd
commit 2d8d12e750
5 changed files with 538 additions and 5 deletions

View File

@@ -17,7 +17,7 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
data = response.json()
assert data["schema_version"] == "delivery_closure_workbench_v1"
assert data["summary"]["source_count"] == 5
assert 4 <= data["summary"]["loaded_source_count"] <= 5
assert data["summary"]["loaded_source_count"] == 5
assert data["summary"]["runtime_execution_authorized"] is False
assert data["summary"]["remote_write_authorized"] is False
assert data["summary"]["repo_creation_authorized"] is False
@@ -35,10 +35,13 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
assert lanes["gitea"]["metric"]["kind"] == "workflow_count"
assert lanes["runtime"]["metric"]["kind"] == "surface_count"
assert lanes["backup"]["metric"]["kind"] == "readiness_row_count"
if sources["github_private_backup"]["loaded"] is False:
assert lanes["github"]["blocker_count"] == 1
assert lanes["github"]["status"] == "blocked_github_private_backup_source_missing"
assert sources["github_private_backup"]["missing_reason"]
assert sources["github_private_backup"]["loaded"] is True
assert sources["github_private_backup"]["schema_version"] == "github_target_private_backup_evidence_gate_v1"
assert sources["github_private_backup"]["missing_reason"] == ""
assert lanes["github"]["blocker_count"] == 9
assert lanes["github"]["status"] == "blocked_public_visibility_and_safe_credential_evidence_required"
assert lanes["github"]["metric"]["verified"] == 0
assert lanes["github"]["metric"]["total"] == 9
assert all(0 <= lane["completion_percent"] <= 100 for lane in lanes.values())
assert all(lane["tone"] in {"ok", "warn", "danger"} for lane in lanes.values())