docs(awooop): record t147 evidence fallback [skip ci]

This commit is contained in:
Your Name
2026-05-24 13:34:30 +08:00
parent bca493e83c
commit 82e471a7f2
2 changed files with 80 additions and 0 deletions

View File

@@ -1,3 +1,75 @@
## 2026-05-24T147 homepage evidence card lazy quality fallback
**觸發**
- T145-T146 已讓首頁「AI 自動化證據鏈」看得到 provider route truth並把 `/api/v1/platform/ai-route-status` 加上 12s timeout guard。
- 但 production browser 驗證顯示整張證據卡仍被 `truth-chain/quality/summary` 約 19.5s 拖住;若 quality summary 慢或失敗Operator 仍會先看到 loading無法即時知道來源入庫、重複收斂、MCP 調查與模型路由狀態。
**修正**
- `apps/web/src/components/dashboard/automation-evidence-card.tsx`
- 先平行讀取 fast evidence`events/dossier/coverage``events/dossier/recurrence``runs/list``ai-route-status`
- fast evidence 回來後立即 `setSnapshot()` 並解除 loading讓首頁先顯示來源入庫、重複收斂、MCP 調查、人工缺口與模型路由。
- `truth-chain/quality/summary` 改為第二段 lazy fetch該 endpoint 失敗只讓自動修復 / 人工缺口顯示「品質摘要計算中,其他證據已先顯示」,不再把整張卡切成 global error。
- `hasData` 納入 `route``runs.length`,避免沒有 quality summary 時誤判成無資料。
- `apps/web/messages/zh-TW.json` / `en.json`
-`claimChecking``qualityPending``humanGapClear` i18n 文案。
**Verification**
```text
Local:
git diff --check -> pass
messages zh-TW/en JSON parse -> pass
pnpm --filter @awoooi/web typecheck -> local node_modules lacks tsc; covered by Gitea Docker build
T147a Gitea/CD:
54f227c5 fix(web): render evidence card before quality summary
#2889 tests/build-and-deploy/post-deploy-checks -> success
#2890 AI code review -> success
deploy marker 05dd8450 chore(cd): deploy 54f227c [skip ci]
T147b Gitea/CD:
df922e8c fix(web): keep evidence visible when quality fails
#2894 tests/build-and-deploy/post-deploy-checks -> success
#2895 AI code review -> success
deploy marker bca493e8 chore(cd): deploy df922e8 [skip ci]
Production:
awoooi-api image=192.168.0.110:5000/awoooi/api:df922e8c... ready=2/2
awoooi-web image=192.168.0.110:5000/awoooi/web:df922e8c... ready=2/2
awoooi-worker image=192.168.0.110:5000/awoooi/api:df922e8c... ready=1/1
Gitea #2894 post-deploy smoke -> E2E 5 passed, CI/CD success notification mirrored through AWOOI API
Browser fault-injection:
quality summary endpoint intentionally aborted
homepage evidence card still shows:
來源入庫 100 / 重複收斂 8/16 / MCP 調查 28 / 自動修復 -- / 人工缺口 15 / 模型路由 --
品質摘要計算中,其他證據已先顯示
路由檢查失敗route status timed out after 12s
global 證據鏈讀取失敗 absent
consoleErrors=[] except the intentional aborted resource
```
**判讀**
- T147 完成的是「首頁證據卡降級可用」quality summary 慢或失敗時Operator 仍能先看到事件來源、重複收斂、MCP 調查、人工缺口與模型路由,不再被單一慢 endpoint 擋住。
- 本段沒有修復 GCP-A也沒有修復 `ai-route-status` 仍偶發 12s timeout 的 provider probing 問題;但 timeout 現在會被呈現在模型路由欄位,而不是拖死整張首頁證據卡。
- production `/api/v1/health` 仍為 `degraded`,原因是 `ollama_gcp_a=down timeout`GCP-B / 111 仍可用Gemini 仍只作 final fallback未新增 paid probe。
- CD 仍記錄 ArgoCD top-level `health=Degraded` rollout riskkubectl rollout、API health、post-deploy E2E 均成功,但 ArgoCD Degraded 需要另查。
**目前整體進度**
- AwoooP 告警可觀測鏈99.998%。
- 前端 AI 自動化管理介面同步99.9996%。
- 首頁證據卡可用性99.3%。
- AI route status 響應保護92%。
- AI provider runtime health60%GCP-A 仍 downGCP-B/111 可用)。
- Pipeline / 部署階段可觀測性93%。
- Deploy rollout-risk 可觀測性96%。
- Execution evidence / Ansible attribution55%。
- 完整 AI 自動化管理產品化99.977%。
## 2026-05-24T145-T146 AI route fallback evidence + bounded status API
**觸發**

View File

@@ -2665,6 +2665,14 @@ Phase 6 完成後
- 判讀T135 已把 runner ownership 從雙 runner 搶工收斂到 host runner 單一主控;下一段不要重新啟用 Docker-wrapped runner而是做 runner pool / repo label 隔離、API image `apt-get` / `chown -R` 分層、Web build cache/offload、Playwright apt source-list hygiene。
- 目前進度更新AwoooP 告警可觀測鏈約 99.998%Incident-level source correlation 可見性約 98.8%Source correlation apply 狀態鏈可驗證性約 99.72%Source correlation freshness / rolling gate 約 98.2%;前端 AI 自動化管理介面同步約 99.999%Dashboard snapshot / SSE console noise 收斂約 99.2%CI/CD runner hygiene 約 99.2%Runner ownership 收斂約 96%Build host pressure治理約 82%;完整 AI 自動化管理產品化約 99.960%。
**T147 homepage evidence card lazy quality fallback2026-05-24 台北)**
- 觸發T145-T146 已讓首頁「AI 自動化證據鏈」看得到 provider route truth`ai-route-status` 有 12s timeout guard但整張證據卡仍被 `truth-chain/quality/summary` 約 19.5s 拖住。若 quality summary 慢或失敗Operator 仍先看到 loading無法即時掌握來源入庫、重複收斂、MCP 調查與模型路由。
- 修正:`AutomationEvidenceCard` 先平行讀取 fast evidencecoverage / recurrence / runs / ai-route-status並立即解除 loading`truth-chain/quality/summary` 改為第二段 lazy fetch。quality summary 失敗只讓自動修復與人工缺口顯示「品質摘要計算中,其他證據已先顯示」,不再把整張卡切成 global error。同步補 `claimChecking` / `qualityPending` / `humanGapClear` 中英文 i18n。
- Verificationlocal `git diff --check` 與 i18n JSON parse passlocal web typecheck 因 temp worktree 缺 `node_modules/tsc` 未跑,由 Gitea Docker build 覆蓋。T147a `54f227c5 fix(web): render evidence card before quality summary`Gitea #2889 tests/build/post-deploy success、#2890 code review success、deploy marker `05dd8450`。T147b `df922e8c fix(web): keep evidence visible when quality fails`Gitea #2894 tests/build/post-deploy success、#2895 code review success、deploy marker `bca493e8`。Production API/Web image 均為 `df922e8c...` 2/2 ready、Worker 1/1 readypost-deploy E2E `5 passed`CI/CD success notification mirrored through AWOOI API。
- Browser fault-injection刻意 abort `truth-chain/quality/summary` 後,首頁仍顯示 `來源入庫 100``重複收斂 8/16``MCP 調查 28``自動修復 --``人工缺口 15``模型路由 --`並顯示「品質摘要計算中其他證據已先顯示」與「路由檢查失敗route status timed out after 12s」global「證據鏈讀取失敗」未出現。
- 判讀T147 完成的是「首頁證據卡降級可用」,不是修復 GCP-A 或 provider probing 偶發 timeout。`ai-route-status` timeout 現在會被呈現在模型路由欄位而不是拖死整張首頁證據卡。Production `/api/v1/health` 仍因 `ollama_gcp_a=down timeout` 為 degradedGCP-B / 111 可用Gemini 仍只作 final fallback 且未新增 paid probe。ArgoCD top-level `health=Degraded` rollout risk 仍需另查。
- 目前進度更新AwoooP 告警可觀測鏈約 99.998%;前端 AI 自動化管理介面同步約 99.9996%;首頁證據卡可用性約 99.3%AI route status 響應保護約 92%AI provider runtime health 約 60%GCP-A downGCP-B/111 可用Pipeline / 部署階段可觀測性約 93%Deploy rollout-risk 可觀測性約 96%Execution evidence / Ansible attribution 約 55%;完整 AI 自動化管理產品化約 99.977%。
**T145-T146 AI route fallback evidence + bounded status API2026-05-24 台北)**
- 觸發T144 後 `/api/v1/health` 已能顯示 GCP-A / GCP-B / 111 provider chain但首頁「AI 自動化證據鏈」仍沒有把 AI Router 實際 selected provider、fallback chain、route reason 與 provider health 白話呈現。Live 查證同時確認 GCP-A `34.143.170.20` 從 Mac / 110 / 121 / 111 對 `22``11434` 皆 timeoutGCP-B `34.21.145.224` 與 111 可通。GCP CLI 目前缺 `compute.instances.get/list` 與 firewall list IAM不能直接確認 VM state / firewall / public IP drift。
- 修正:首頁 `AutomationEvidenceCard` 擴充 `AiRouteStatusResponse`,顯示 `GCP-A/GCP-B/111/Gemini` 易讀 provider label、primary health、fallback chain、route reason 與 route error中英文 i18n 補齊,不寫硬編 UI 文案。Production browser 回讀證明首頁可見 `模型路由 / GCP-B / gemma3:4b目前 GCP-BGCP-A=離線;備援 111 -> Gemini原因primary(...) offline → secondary(...)`