feat(runner): use deploy snapshot for closure fallback

This commit is contained in:
Your Name
2026-06-29 10:48:19 +08:00
parent 7191193c71
commit 5e3e5c7aea
6 changed files with 158 additions and 5 deletions

View File

@@ -1,3 +1,12 @@
## 2026-06-29 — 10:44 non-110 CD closure verifier snapshot fallback
**完成內容**
- `ops/runner/verify-awoooi-non110-cd-closure.py` 在未提供 fresh readiness file 時,會退回 committed production deploy snapshot 內的 sanitized non-110 readiness 欄位,輸出 `non110_runner_readiness_source=committed_production_deploy_snapshot`
- 補測試覆蓋缺 readiness file 但有 deploy snapshot 時的 fail-closed 結果;狀態會是 `blocked_non110_runner_not_ready`,不再只停在 `blocked_missing_non110_readiness_readback`
- 更新 production deploy snapshot / README將 verifier command 明確包含 `--production-deploy-snapshot-json-file`;刷新 source readback 觀測 SHA 為 `7191193c71e`
**邊界**:只改 committed source / snapshot / tests / docs未使用 GitHub未讀 token / `.runner` 內容 / cookie / session / secret未操作 host / Docker / K8s / runner service未 workflow_dispatch。snapshot fallback 只代表 source-level fail-closed evidence不代表 live host proof。
## 2026-06-29 — 10:31 non-110 CD closure verifier contract
**完成內容**

View File

@@ -1,12 +1,12 @@
{
"schema_version": "awoooi_production_deploy_readback_blocker_v1",
"generated_at": "2026-06-29T10:31:17+08:00",
"generated_at": "2026-06-29T10:44:45+08:00",
"status": "blocked_waiting_authorized_gitea_workflow_dispatch_and_runner_queue",
"priority": "P0",
"scope": "awoooi_production_truth",
"readback": {
"observed_source_control_main_sha": "76071f21a811fe3c28998fa384e5beacd412c2f7",
"observed_source_control_main_short_sha": "76071f21a811",
"observed_source_control_main_sha": "7191193c71e5c82d6ae703a9c530d676862aa178",
"observed_source_control_main_short_sha": "7191193c71e",
"governance_closure_merge_sha": "27b96f0450d0e3ca6651d6b5f274a341dd727ef2",
"governance_closure_commit_sha": "9e3e7fbb6ba3ffd324b45abf3ad1e7b6ec826b22",
"production_image_tag_sha": "af45811e876fda322ee63c036fbc39c9f07ffd76",
@@ -30,7 +30,7 @@
"public_actions_queue_readback_schema_version": "awoooi_public_gitea_actions_queue_readback_v1",
"public_actions_queue_readback_verifier": "ops/runner/read-public-gitea-actions-queue.py --json",
"non110_runner_cd_closure_verifier_schema_version": "awoooi_non110_cd_closure_verifier_v1",
"non110_runner_cd_closure_verifier": "ops/runner/verify-awoooi-non110-cd-closure.py --readiness-file <sanitized-non110-readiness.txt> --queue-json-file <public-actions-queue.json> --production-workbench-json-file <delivery-closure-workbench.json> --json",
"non110_runner_cd_closure_verifier": "ops/runner/verify-awoooi-non110-cd-closure.py --production-deploy-snapshot-json-file docs/operations/awoooi-production-deploy-readback-blocker.snapshot.json --readiness-file <sanitized-non110-readiness.txt> --queue-json-file <public-actions-queue.json> --production-workbench-json-file <delivery-closure-workbench.json> --json",
"non110_runner_cd_closure_status": "blocked_non110_runner_not_ready",
"non110_runner_cd_closure_required": true,
"current_main_cd_run_visible": false,