fix(reboot): align stockplatform drift contract
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 51s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-02 15:34:38 +08:00
parent 955a88cbce
commit 39cdd6dc5d
2 changed files with 12 additions and 8 deletions

View File

@@ -52882,18 +52882,22 @@ production browser smoke:
**下一步**
- commit / push 到 Gitea main 後讀回 CDdeploy 後驗證 `/api/v1/agents/awoooi-priority-work-order-readback``/zh-TW/awooop/work-items` 顯示 55 個插入工作項與新增 spotlight。
## 2026-07-02 — P0 reboot Windows99 management channel CD #4402 workbench contract 修正
## 2026-07-02 — P0 reboot Windows99 management channel CD #4402/#4403 contract 修正
**完成內容**
- Gitea public queue 讀回 `aaa617f00 fix(reboot): expose windows99 management channel readback``cd.yaml` run `#4402` 狀態為 `Failure`production API 仍停在舊版,不能宣稱已部署。
- 公開 tests log 定位失敗點:`apps/api/tests/test_delivery_closure_workbench_api.py::test_delivery_closure_workbench_endpoint_returns_product_summary` 仍硬期待舊 safe next step `collect_windows99_vmware_autostart_verify_readback_then_rerun_all_host_reboot_scorecard_no_secret_no_reboot`
- 已同步 delivery closure workbench 測試 contract 到新版 reboot scorecard truthsafe next step 改為 `restore_windows99_no_secret_management_channel_or_collect_local_console_verify_readback_then_rerun_reboot_scorecard_no_reboot`active blockers 從 `13` 收斂到 `11`readiness 從 `15` 升為 `43``product_data_green=true`StockPlatform freshness / ingestion 為 `ok`drill preflight blockers 從 `9` 收斂到 `5`
- 修正重點是測試與 readback contract 補齊,不是放寬 SLO`windows99_remote_execution_channel_unavailable``windows99_vmware_autostart_readback_missing` 仍為 P0 blocker。
- `#4403` 第二輪 CD 再定位到 `apps/api/tests/test_stockplatform_public_api_runtime_readback.py::test_stockplatform_public_api_runtime_readback_blocks_live_502`:現在 committed scorecard 已是 StockPlatform freshness / ingestion `ok`,因此模擬 live 502 時 `live_drift_from_committed_scorecard=true` 才是正確判讀;已修正測試,避免未來把 live 502 regression 誤判成 no drift。
**本地驗證結果**
- `DATABASE_URL=postgresql+asyncpg://test:test@localhost/test PYTHONPATH=apps/api python3.11 -m pytest apps/api/tests/test_delivery_closure_workbench_api.py -q -p no:cacheprovider``6 passed`
- `DATABASE_URL=postgresql+asyncpg://test:test@localhost/test PYTHONPATH=apps/api python3.11 -m pytest ops/runner/test_cd_controlled_runtime_profile.py scripts/reboot-recovery/tests/test_reboot_auto_recovery_slo_scorecard.py apps/api/tests/test_reboot_auto_recovery_slo_scorecard_api.py apps/api/tests/test_awoooi_priority_work_order_readback_api.py apps/api/tests/test_delivery_closure_workbench_api.py -q -p no:cacheprovider``79 passed`
- `DATABASE_URL=postgresql+asyncpg://test:test@localhost/test PYTHONPATH=apps/api python3.11 -m pytest apps/api/tests/test_stockplatform_public_api_runtime_readback.py -q -p no:cacheprovider``5 passed`
- `DATABASE_URL=postgresql+asyncpg://test:test@localhost/test PYTHONPATH=apps/api python3.11 -m pytest ops/runner/test_cd_controlled_runtime_profile.py scripts/reboot-recovery/tests/test_reboot_auto_recovery_slo_scorecard.py apps/api/tests/test_reboot_auto_recovery_slo_scorecard_api.py apps/api/tests/test_awoooi_priority_work_order_readback_api.py apps/api/tests/test_delivery_closure_workbench_api.py apps/api/tests/test_stockplatform_public_api_runtime_readback.py -q -p no:cacheprovider``84 passed`
- `python3.11 -m py_compile apps/api/tests/test_delivery_closure_workbench_api.py scripts/reboot-recovery/windows99-management-channel-probe.py scripts/reboot-recovery/reboot-auto-recovery-slo-scorecard.py apps/api/src/services/reboot_auto_recovery_slo_scorecard.py apps/api/src/services/awoooi_priority_work_order_readback.py apps/api/src/services/delivery_closure_workbench.py`:通過。
- `python3.11 -m py_compile apps/api/tests/test_stockplatform_public_api_runtime_readback.py apps/api/src/services/stockplatform_public_api_runtime_readback.py`:通過。
- `git diff --check`:通過。
**仍維持**