docs(awooop): record t147 evidence fallback [skip ci]
This commit is contained in:
@@ -1,3 +1,75 @@
|
||||
## 2026-05-24|T147 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 risk;kubectl rollout、API health、post-deploy E2E 均成功,但 ArgoCD Degraded 需要另查。
|
||||
|
||||
**目前整體進度**:
|
||||
|
||||
- AwoooP 告警可觀測鏈:99.998%。
|
||||
- 前端 AI 自動化管理介面同步:99.9996%。
|
||||
- 首頁證據卡可用性:99.3%。
|
||||
- AI route status 響應保護:92%。
|
||||
- AI provider runtime health:60%(GCP-A 仍 down,GCP-B/111 可用)。
|
||||
- Pipeline / 部署階段可觀測性:93%。
|
||||
- Deploy rollout-risk 可觀測性:96%。
|
||||
- Execution evidence / Ansible attribution:55%。
|
||||
- 完整 AI 自動化管理產品化:99.977%。
|
||||
|
||||
## 2026-05-24|T145-T146 AI route fallback evidence + bounded status API
|
||||
|
||||
**觸發**:
|
||||
|
||||
@@ -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 fallback(2026-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 evidence(coverage / recurrence / runs / ai-route-status)並立即解除 loading;`truth-chain/quality/summary` 改為第二段 lazy fetch。quality summary 失敗只讓自動修復與人工缺口顯示「品質摘要計算中,其他證據已先顯示」,不再把整張卡切成 global error。同步補 `claimChecking` / `qualityPending` / `humanGapClear` 中英文 i18n。
|
||||
- Verification:local `git diff --check` 與 i18n JSON parse pass;local 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 ready;post-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` 為 degraded;GCP-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 down,GCP-B/111 可用);Pipeline / 部署階段可觀測性約 93%;Deploy rollout-risk 可觀測性約 96%;Execution evidence / Ansible attribution 約 55%;完整 AI 自動化管理產品化約 99.977%。
|
||||
|
||||
**T145-T146 AI route fallback evidence + bounded status API(2026-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` 皆 timeout;GCP-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-B;GCP-A=離線;備援 111 -> Gemini;原因:primary(...) offline → secondary(...)`。
|
||||
|
||||
Reference in New Issue
Block a user