fix(api): ignore stale cd failure after production 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 38s
CD Pipeline / build-and-deploy (push) Successful in 6m11s
CD Pipeline / post-deploy-checks (push) Successful in 1m55s

This commit is contained in:
ogt
2026-07-01 21:16:19 +08:00
parent 140d8142fd
commit 3c9f648963
3 changed files with 225 additions and 33 deletions

View File

@@ -25,6 +25,27 @@
**下一步**:照 P0 繼續收斂剩餘 WARN先處理 MOMO source freshness / current-month confirmation 與 110 `backup-all` failed components另開受控設計把高頻全量 pg_dump 改成專用 backup role + 分層備份,避免下一次重啟或 cron 再製造 DB/IO 壓力。
## 2026-07-01 — 21:20 P0-006 production readback 不再重開舊 CD failure
**照主線修正的問題**
- Gitea CD `#4293``87512d32f5` 已 Successproduction priority readback 也讀到 `latest_successful_deployed_source_sha=87512d32f5a73849b2d8090092677a745c85f9a8``production_readback_verified`;但 AI Loop current blocker queue 仍把舊 `#4258 Failure` / deploy-marker readback requirement 寫回 active blocker 與 `next_execution_order`
- `apply_ai_loop_current_blocker_execution_queue` 現在會在 production source truth 已 verified 時,把舊 CD failure / deploy-marker requirement 保留在 `historical_*` evidence但 active 欄位改為 `production_readback_verified`,且不再把 `deploy_marker_readback_required_after_registry_ready` / `current_cd_failure_after_registry_ready` 加回 active blockers。
- P0-006 仍維持 blocked剩餘主線 blocker 是 AI Loop current blocker execution queue / 110 control-path readback不把 deploy marker 成功誤宣稱為 reboot SLO closure。
**驗證**
- `python3.11 -m py_compile apps/api/src/services/awoooi_priority_work_order_readback.py apps/api/tests/test_awoooi_priority_work_order_readback_api.py`:通過。
- `DATABASE_URL=sqlite+aiosqlite:////tmp/awoooi-codex-api-test.db PYTHONPATH=apps/api python3.11 -m pytest apps/api/tests/test_awoooi_priority_work_order_readback_api.py -q``12 passed`
- `DATABASE_URL=sqlite+aiosqlite:////tmp/awoooi-codex-api-test.db PYTHONPATH=apps/api python3.11 -m pytest ops/runner/test_cd_controlled_runtime_profile.py apps/api/tests/test_awoooi_priority_work_order_readback_api.py apps/api/tests/test_reboot_auto_recovery_slo_scorecard_api.py apps/api/tests/test_delivery_closure_workbench_api.py -q``61 passed`
- `git diff --check`:通過。
**仍維持**
- 沒有使用 GitHub / `gh` / GitHub API / GitHub Actions。
- 沒有讀 secret / token / `.env` / raw sessions / SQLite / auth。
- 沒有重啟主機,沒有 Docker / Nginx / K3s / DB / firewall restart沒有 workflow_dispatch沒有 runtime write。
**下一步**
- 正常 push Gitea `main`,等 CD 完成後讀回 `/api/v1/agents/awoooi-priority-work-order-readback`;預期 active P0 仍是 `P0-006`,但 summary/current blocker 的 CD status 應為 `production_readback_verified``next_execution_order` 不再包含 `P0-006-CD-DEPLOY-MARKER-READBACK`
## 2026-07-01 — 20:34 P0-006 reboot SLO machine-readback source closure
**照主線修正的問題**