Your Name
|
f1e4e3949e
|
fix(web): show source mismatch reason in status chain
CD Pipeline / tests (push) Successful in 1m19s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 3m23s
CD Pipeline / post-deploy-checks (push) Successful in 1m51s
|
2026-05-31 17:06:26 +08:00 |
|
Your Name
|
dc4ef7ed34
|
fix(web): 加速 IwoooS 資安進度可視化
CD Pipeline / tests (push) Successful in 1m20s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 4m33s
CD Pipeline / post-deploy-checks (push) Successful in 2m1s
|
2026-05-31 16:28:45 +08:00 |
|
Your Name
|
497e36ba9d
|
fix(awooop): surface ansible apply proof
CD Pipeline / tests (push) Successful in 1m28s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-05-31 16:19:07 +08:00 |
|
Your Name
|
3d8b395032
|
fix(alerts): 補齊處置結果與人工通知契約
CD Pipeline / tests (push) Failing after 45s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
Code Review / ai-code-review (push) Successful in 12s
|
2026-05-31 15:46:07 +08:00 |
|
Your Name
|
50c9d51df9
|
feat(web): 整合 IwoooS 安全合規菜單
Ansible Lint / lint (push) Successful in 30s
CD Pipeline / tests (push) Successful in 1m18s
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / build-and-deploy (push) Successful in 5m15s
CD Pipeline / post-deploy-checks (push) Successful in 2m43s
|
2026-05-31 15:03:32 +08:00 |
|
Your Name
|
15f9d3aff5
|
fix(web): wrap incident flow evidence on mobile
CD Pipeline / tests (push) Successful in 1m19s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 4m6s
CD Pipeline / post-deploy-checks (push) Successful in 1m27s
|
2026-05-26 11:01:18 +08:00 |
|
Your Name
|
55d1df24e7
|
feat(web): render automation blueprint diagrams
CD Pipeline / tests (push) Successful in 1m20s
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / build-and-deploy (push) Successful in 3m44s
CD Pipeline / post-deploy-checks (push) Successful in 2m1s
|
2026-05-26 10:15:07 +08:00 |
|
Your Name
|
9e15fd08b3
|
feat(web): land iwooos security posture surfaces
CD Pipeline / tests (push) Successful in 1m39s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 5m19s
CD Pipeline / post-deploy-checks (push) Successful in 2m11s
|
2026-05-25 20:35:52 +08:00 |
|
Your Name
|
48a31ea2b9
|
feat(web): surface awooop agent evidence chain
CD Pipeline / tests (push) Successful in 1m22s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 3m28s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-25 15:57:56 +08:00 |
|
Your Name
|
67296746c0
|
feat(awooop): surface ai route repair evidence
CD Pipeline / tests (push) Successful in 1m24s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 3m53s
CD Pipeline / post-deploy-checks (push) Successful in 1m48s
|
2026-05-25 14:21:25 +08:00 |
|
Your Name
|
ed3e658578
|
feat(awooop): surface degraded ai route lanes
CD Pipeline / tests (push) Successful in 1m25s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 3m37s
CD Pipeline / post-deploy-checks (push) Successful in 1m44s
|
2026-05-25 13:24:53 +08:00 |
|
Your Name
|
0423c43b84
|
fix(web): repair automation evidence runtime detail jsx
CD Pipeline / tests (push) Failing after 3m58s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
Code Review / ai-code-review (push) Successful in 12s
|
2026-05-24 15:16:46 +08:00 |
|
Your Name
|
1322216f73
|
feat(awooop): expose ansible runtime readiness
CD Pipeline / tests (push) Failing after 51s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
Code Review / ai-code-review (push) Successful in 12s
|
2026-05-24 15:01:51 +08:00 |
|
Your Name
|
dc09dac4d4
|
feat(awooop): surface execution backend evidence
CD Pipeline / tests (push) Successful in 5m49s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 4m5s
CD Pipeline / post-deploy-checks (push) Successful in 1m46s
|
2026-05-24 14:35:42 +08:00 |
|
Your Name
|
df922e8c67
|
fix(web): keep evidence visible when quality fails
CD Pipeline / tests (push) Successful in 4m56s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 3m57s
CD Pipeline / post-deploy-checks (push) Successful in 1m46s
|
2026-05-24 13:18:57 +08:00 |
|
Your Name
|
54f227c597
|
fix(web): render evidence card before quality summary
CD Pipeline / tests (push) Successful in 5m57s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 3m57s
CD Pipeline / post-deploy-checks (push) Successful in 1m46s
|
2026-05-24 13:02:44 +08:00 |
|
Your Name
|
df06c025ff
|
fix(web): show ai route fallback evidence
CD Pipeline / tests (push) Successful in 5m57s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 3m56s
CD Pipeline / post-deploy-checks (push) Successful in 1m34s
|
2026-05-24 12:15:02 +08:00 |
|
Your Name
|
9bac5718da
|
feat(health): expose ollama provider chain
CD Pipeline / tests (push) Successful in 6m8s
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / build-and-deploy (push) Successful in 4m38s
CD Pipeline / post-deploy-checks (push) Successful in 1m42s
|
2026-05-24 11:44:37 +08:00 |
|
Your Name
|
f322781798
|
ci(cd): expose build and post-deploy stages
CD Pipeline / tests (push) Successful in 9m16s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 4m47s
CD Pipeline / post-deploy-checks (push) Successful in 1m20s
|
2026-05-21 20:35:09 +08:00 |
|
Your Name
|
4bdb012caa
|
feat(awooop): surface cicd rollout evidence
CD Pipeline / tests (push) Successful in 4m1s
Code Review / ai-code-review (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Successful in 3m27s
CD Pipeline / post-deploy-checks (push) Successful in 1m49s
|
2026-05-21 20:06:26 +08:00 |
|
Your Name
|
53a3c846e5
|
feat(awooop): surface source evidence flow
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m54s
CD Pipeline / build-and-deploy (push) Successful in 4m29s
CD Pipeline / post-deploy-checks (push) Successful in 1m50s
|
2026-05-21 13:00:59 +08:00 |
|
Your Name
|
efb38cf6af
|
feat(awooop): verify source correlation links in status chain
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 6m9s
CD Pipeline / build-and-deploy (push) Successful in 4m39s
CD Pipeline / post-deploy-checks (push) Successful in 1m55s
|
2026-05-21 10:51:20 +08:00 |
|
Your Name
|
ef95d1ef6b
|
feat(awooop): show incident source correlation evidence
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 4m4s
CD Pipeline / build-and-deploy (push) Successful in 3m58s
CD Pipeline / post-deploy-checks (push) Successful in 1m55s
|
2026-05-20 20:19:36 +08:00 |
|
Your Name
|
3aa90b8ecf
|
feat(awooop): expose source refs on incidents
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m58s
CD Pipeline / build-and-deploy (push) Successful in 3m36s
CD Pipeline / post-deploy-checks (push) Successful in 1m20s
|
2026-05-20 15:35:13 +08:00 |
|
Your Name
|
d4573cd00a
|
feat(awooop): expose execution evidence on incidents
Code Review / ai-code-review (push) Successful in 17s
CD Pipeline / tests (push) Successful in 3m27s
CD Pipeline / build-and-deploy (push) Successful in 4m6s
CD Pipeline / post-deploy-checks (push) Successful in 1m33s
|
2026-05-20 15:19:48 +08:00 |
|
Your Name
|
c426b1ce7b
|
feat(awooop): expose mcp evidence details on incidents
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m31s
CD Pipeline / build-and-deploy (push) Successful in 4m12s
CD Pipeline / post-deploy-checks (push) Successful in 2m1s
|
2026-05-20 15:01:52 +08:00 |
|
Your Name
|
2eaffe07aa
|
feat(web): surface incident automation evidence counts
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m52s
CD Pipeline / build-and-deploy (push) Successful in 3m26s
CD Pipeline / post-deploy-checks (push) Successful in 1m53s
|
2026-05-20 14:40:53 +08:00 |
|
Your Name
|
5bc346b97e
|
feat(web): drive incident flow summaries from status chain
Code Review / ai-code-review (push) Successful in 16s
CD Pipeline / tests (push) Successful in 4m12s
CD Pipeline / build-and-deploy (push) Successful in 4m34s
CD Pipeline / post-deploy-checks (push) Successful in 1m48s
|
2026-05-20 12:11:41 +08:00 |
|
Your Name
|
0c1f126479
|
fix(web): clarify incident flow stage on dashboard
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m57s
CD Pipeline / build-and-deploy (push) Successful in 3m42s
CD Pipeline / post-deploy-checks (push) Successful in 1m49s
|
2026-05-20 11:43:23 +08:00 |
|
Your Name
|
739a8e0f78
|
feat(governance): link work items to event history
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 3m35s
CD Pipeline / build-and-deploy (push) Successful in 3m50s
CD Pipeline / post-deploy-checks (push) Successful in 1m42s
|
2026-05-20 11:03:52 +08:00 |
|
Your Name
|
61d82b3ad3
|
feat(web): surface automation evidence on homepage
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 5m54s
CD Pipeline / build-and-deploy (push) Successful in 4m37s
CD Pipeline / post-deploy-checks (push) Successful in 1m28s
|
2026-05-19 18:22:37 +08:00 |
|
Your Name
|
10f2f1abaf
|
fix(web): stabilize homepage live status
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m8s
CD Pipeline / build-and-deploy (push) Successful in 3m30s
CD Pipeline / post-deploy-checks (push) Successful in 1m22s
|
2026-05-19 11:12:09 +08:00 |
|
Your Name
|
784ebf49ef
|
feat(awooop): surface status chain in operator console
Code Review / ai-code-review (push) Successful in 9s
CD Pipeline / tests (push) Successful in 1m16s
CD Pipeline / build-and-deploy (push) Successful in 3m31s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-19 10:13:33 +08:00 |
|
Your Name
|
64b34828a7
|
feat(drift): record remediation evidence
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m10s
CD Pipeline / build-and-deploy (push) Successful in 3m42s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-19 09:13:58 +08:00 |
|
Your Name
|
69ed35fb5e
|
fix(drift): render interpretation objects safely
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / build-and-deploy (push) Successful in 3m37s
CD Pipeline / post-deploy-checks (push) Successful in 1m28s
|
2026-05-19 00:56:16 +08:00 |
|
Your Name
|
0b5268a666
|
feat(drift): surface fingerprint state handoff
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m14s
CD Pipeline / build-and-deploy (push) Successful in 3m46s
CD Pipeline / post-deploy-checks (push) Successful in 1m35s
|
2026-05-19 00:39:49 +08:00 |
|
Your Name
|
8ca875e6ad
|
fix(web): keep navigation shell before hydration
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m17s
CD Pipeline / build-and-deploy (push) Successful in 3m53s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-18 14:22:55 +08:00 |
|
Your Name
|
69f2ec5ec9
|
feat(awooop): add incident evidence headers
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / build-and-deploy (push) Successful in 3m40s
CD Pipeline / post-deploy-checks (push) Successful in 1m28s
|
2026-05-17 23:37:53 +08:00 |
|
Your Name
|
475f2e452d
|
feat(frontend): expand incident timeline event details
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / build-and-deploy (push) Successful in 3m37s
CD Pipeline / post-deploy-checks (push) Successful in 1m23s
|
2026-05-14 23:09:12 +08:00 |
|
Your Name
|
809bc9670b
|
feat(governance): surface adr100 slo states
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m0s
CD Pipeline / build-and-deploy (push) Successful in 4m0s
CD Pipeline / post-deploy-checks (push) Successful in 1m55s
|
2026-05-14 19:57:32 +08:00 |
|
OG T
|
682c0b9995
|
fix(web): render AwoooP index directly
CD Pipeline / post-deploy-checks (push) Blocked by required conditions
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m12s
CD Pipeline / build-and-deploy (push) Successful in 3m36s
|
2026-05-06 12:46:24 +08:00 |
|
Your Name
|
a2c4b3d47e
|
fix(awooop): align console with flywheel execution metrics
Code Review / ai-code-review (push) Has been cancelled
CD Pipeline / tests (push) Successful in 2m22s
CD Pipeline / build-and-deploy (push) Successful in 3m54s
CD Pipeline / post-deploy-checks (push) Successful in 1m17s
|
2026-05-06 00:46:08 +08:00 |
|
Your Name
|
e45b055e0e
|
feat(governance): AI 治理事件處理鏈四軌交付(C/D/B/A)
Code Review / ai-code-review (push) Successful in 48s
run-migration / migrate (push) Failing after 45s
CD Pipeline / tests (push) Successful in 3m46s
Type Sync Check / check-type-sync (push) Successful in 2m8s
CD Pipeline / build-and-deploy (push) Failing after 31m14s
CD Pipeline / post-deploy-checks (push) Has been skipped
【十二人專家團隊全景掃描 + 並行四軌實施】
統帥質疑「有讓 12-agent 一起協作嗎」後,依照團隊規則完成全鏈路交付:
onboarder + critic + db-expert + debugger + frontend-designer 並行掃描,
找到 6 大 Gap,再由 fullstack-engineer × 4、refactor-specialist 協作落地。
【Track C — trust_drift 雙寫整併】
兩條獨立寫 event_type=trust_drift 路徑互不呼叫,下游 consumer 拿到雙份資料
無法判定 source-of-truth。整併保留 governance_agent.check_trust_drift(功能
更全:auto-deprecate + Telegram + PG),TrustDriftDetector 降為純統計 lib,
W-6 watchdog 改呼叫 governance_agent。新增 TestSinglePgWritePerDriftScenario
驗證同一 drift 場景只觸發一次 PG 寫入。
變更:
- apps/api/src/services/trust_drift_detector.py(lib only,不再寫 PG)
- apps/api/tests/test_trust_drift_watchdog.py(W-6 改 mock governance_agent)
【Track D — governance_remediation_dispatch 派遣表】
ai_governance_events 是不可變 Event Sourcing,不能塞執行狀態。新建派遣表
作為投影層:1 event → 0..N dispatches,狀態可變、可重試、可審計。
- PgEnum 5 種 event_type + 7 階段狀態機(pending → dispatched → executing →
succeeded/failed/cancelled/skipped)
- 失敗重試 INSERT 新 row(不改舊 row 的 status,保留審計痕跡)
- Partial unique index ux_grd_one_active_per_event 強制「同事件唯一活躍」
- 4 個複合 index 支援 worker poll、去重查詢、觀測面板
- FK 對應 ai_governance_events / playbooks / incidents / approval_records
全部 SET NULL(avoid cascade lock,但 governance_event 用 RESTRICT)
變更:
- apps/api/src/db/models.py(GovernanceRemediationDispatch ORM class)
- apps/api/migrations/governance_remediation_dispatch_2026-05-03.sql
- apps/api/src/repositories/governance_remediation_dispatch_repo.py
(6 個 async 函式 + 3 個自訂例外:DispatchAlreadyActive /
InvalidStatusTransition / DispatchNotFound)
- apps/api/src/models/governance_dispatch.py(DecisionContextV1 等 4 schema)
- apps/api/tests/test_governance_remediation_dispatch.py(29 tests)
【Track B — /governance 頁面】
後端 PR1 三個 endpoint + 前端 PR2-5 完整三 Tab。
PR1 後端:
- GET /api/v1/ai/governance/events(events_tab,含 event_type/severity/
狀態/時間範圍篩選 + 分頁)
- GET /api/v1/ai/governance/queue(queue_tab,含 graceful fallback:
dispatch 表不存在時回 table_pending=True 不拋 500)
- GET /api/v1/ai/governance/summary(slo_tab 30d 違反時序圖)
- severity 映射規則寫死(critic 建議未來移 settings)
PR2-5 前端:
- /governance 路由 + AppLayout + Compliance Badge 橫幅 + PageTabs
- SLO Tab:3 KPI 卡片(Syne 28px + StatusOrb + 7d sparkline)+
30d 違反 stacked BarChart
- Events Tab:篩選列 + 表格 + inline 展開行(JSON / 修復建議 / 派遣記錄)
- Queue Tab:HITL 待辦卡片 + 信任度進度條 + 批准/拒絕按鈕(本 PR console.log)
- Sidebar 加入「AI 治理」入口(ShieldCheck icon)
- i18n 雙語完整(governance namespace + nav.governance)
- 7 個新元件:slo-kpi-card / slo-violation-chart / events-table /
events-filter-bar / event-detail-drawer / queue-item-card / queue-history-tabs
變更:
- apps/api/src/api/v1/ai_governance.py(router)
- apps/api/src/services/governance_query_service.py
- apps/api/src/models/governance.py(Pydantic V2 schemas)
- apps/api/tests/test_ai_governance_endpoints.py(21 tests)
- apps/web/src/app/[locale]/governance/(page + 3 tabs)
- apps/web/src/components/governance/(7 元件)
- apps/web/messages/{zh-TW,en}.json(governance namespace)
- apps/web/src/components/layout/sidebar.tsx(+1 行)
- apps/api/src/main.py(router include)
【Track A — GovernanceDispatcher 決策融合】
把治理事件接到 remediation 執行器,走北極星方向決策融合(LLM × Playbook trust
× MCP),符合「禁寫死規則」鐵律。
- 設計鐵律:DecisionFusionAdapter 是新增 wrapper,**不修改任何 Tier 3 檔**
(decision_manager / learning_service / trust_engine),只 consume 既有 API
- 三維融合公式:confidence = 0.4×llm + 0.3×playbook_trust + 0.3×mcp_consistency
(權重加 TODO 標明未來由 AI 自學調整)
- 三分支決策路徑:
confidence ≥ 0.85 → auto_dispatch(status=dispatched)
0.65 ≤ confidence < 0.85 → pending_approval(HITL)
confidence < 0.65 → skip + log
- decision_context JSONB 完整記錄三維輸入快照(給未來 fine-tune 用)
- poll 30s 掃 unresolved 事件,仿 governance loop 模式
- 重複事件擋去重(呼叫 get_active_for_event)
變更:
- apps/api/src/services/governance_dispatcher.py
- apps/api/src/services/decision_fusion_adapter.py
- apps/api/tests/test_governance_dispatcher.py(14 tests)
- apps/api/src/main.py(lifespan task 接 run_governance_dispatcher_loop)
【驗證】
1836 個 unit test 全過(29 skipped 為既有 PG integration env 問題)
【調度教訓 — 已記入 memory】
- vuln-verifier 應在 fullstack-engineer **之前**跑(避免並行讀到已修代碼誤判)
- critic 雙輪審查不可省(第二輪抓到 NaN sentinel + Prom rule 連鎖)
- 北極星「禁寫死規則」搭配 decision-fusion 確實實施
【未動 Tier 3 — 已驗證】
git diff 確認本 commit 完全沒改 decision_manager.py / learning_service.py /
trust_engine.py,只新增 wrapper service consume 既有 API。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-03 12:42:40 +08:00 |
|
Your Name
|
f1362fcc8d
|
fix(governance): 修治理告警 4 個 silent failure + Prom sentinel 連鎖
Code Review / ai-code-review (push) Successful in 49s
CD Pipeline / tests (push) Successful in 2m9s
CD Pipeline / build-and-deploy (push) Failing after 31m11s
CD Pipeline / post-deploy-checks (push) Has been skipped
【全景檢測:12-agent 並行掃描定位 4 大 bug 與 1 個 P0 連鎖回歸】
Bug 1(P0 silent failure)— governance_agent.check_trust_drift
原 `await db.commit()` 縮排錯在 async with 區塊外(8 空格 vs 12),
session 已 auto-commit 關閉,二次 commit 拋 InvalidRequestError 被吞,
governance_trust_drift_auto_deprecated log 從不出現。修:commit/log 移回 with 內。
附 AST regression guard test 擋退化。
Bug 2 — flywheel_stats_service / W-3 fresh deploy 假告警
Redis 空時 total_exec=0 → rate=0.0 → watchdog `< 0.30` 立即觸發
「飛輪成功率 0%」假告警。修:total_exec < FLYWHEEL_MIN_SAMPLE(10) 回 None,
watchdog 判 None 跳過 W-3。Prometheus sentinel 用 NaN(非 -1.0)
避免觸發 ops/monitoring/alerts.yml:775 等 3 份 prom rule 的 `< 0.1`
條件造成 2h 後假告警連鎖。前端 type 同步 number | null。
Bug 3 — failover_alerter dedup key
原 key 只看 event_type 不看 payload,trust_drift 4→25 IDs 變動全被
1h dedup 吞掉。修:dedup key 加 sha256(impact subdict)[:8],event_type
sanitize 防特殊字元污染 Redis key。
Bug 4 — ai_slo_watchdog_job W-4 evolver 全封存初始化誤報
原邏輯 approved==0 即告警,未排除「playbooks 表初始化中」場景。
修:_count_approved_playbooks 回 (approved, total),total==0 → skip。
【執行結果】
- 39 個相關 unit test 全過(test_failover_alerter / test_governance_agent /
test_trust_drift_watchdog / test_check_trust_drift_commit_outside_context_poc)
- 6 個關鍵路徑實測:NaN sentinel / float 渲染 / hash 區分性 / dedup 同 impact
相同 hash / datetime 容錯 / 4 檔 py_compile 全過
【調度教訓 — 留作未來改進】
- 12-agent 並行調度時,vuln-verifier 與 fullstack-engineer 競態
導致 vuln-verifier 讀到已修代碼誤判 NOT REPRODUCIBLE。
未來:vuln-verifier 應在 fullstack 之前執行,或用 git show HEAD~1 對比修復前。
- fullstack-engineer 引入 P0 regression(f-string 內嵌 ternary 非法 format spec),
critic 抓到 + Prom sentinel 連鎖 — 證明 critic 審查必要不可省。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-03 00:18:57 +08:00 |
|
Your Name
|
4a57c2d04f
|
feat(flywheel): expose incident processing timeline
CD Pipeline / build-and-deploy (push) Successful in 10m56s
|
2026-04-29 23:38:30 +08:00 |
|
Your Name
|
1096da12ae
|
feat(p2.5): aiops 時序前端面板 — Incident 6 階段視覺化
Wave 6 P2.5 frontend-designer 工業級視覺化(拒絕 AI slop):
新增(1824 行):
- apps/web/src/app/[locale]/aiops/timeline/page.tsx
- apps/web/src/components/aiops/timeline/
· AiopsTimelinePanel.tsx (413) — 主面板組件
· TimelineStage.tsx (279) — 6 階段時序卡片
· TimelineStageDetails.tsx (359) — 階段細節展開
· EvidenceViewer.tsx (144) — Evidence Snapshot 檢視
· TimelineFilter.tsx (109) — incident_id / severity / 時段 過濾器
· types.ts (118) — TS 型別定義
· mock-data.ts (357) — 開發 mock fallback
· index.ts (7) — barrel export
- i18n: messages/en.json + messages/zh-TW.json — Timeline 翻譯
設計原則:
- 拒絕 AI slop(無泛用 emoji/漸層,採工業 dashboard 風格)
- 後端 endpoint 接通 /api/v1/aiops/timeline(critic B4 修復)
- mock 模式 fallback 防 endpoint 暫時不可達
對應後端: a3b4595e(aiops_timeline.py + aiops_timeline_service.py)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: frontend-designer agent (Wave 6) <noreply@anthropic.com>
|
2026-04-27 08:11:40 +08:00 |
|
Your Name
|
d0591c54b0
|
fix(security): 體健修復 — 7項 Critical/Major 安全問題全修
CD Pipeline / build-and-deploy (push) Failing after 35s
## Critical 修復 (C1-C5)
- C1: git rm --cached 03-secrets.yaml(CHANGE_ME 模板不再追蹤)
- C2: git rm --cached awoooi.db + .gitignore 加 *.db(SQLite HARD_RULES 違規)
- C3: sentry-tunnel SENTRY_HOST 改為 process.env fallback
- C4: config.py DATABASE_URL 移除 changeme default,改為必填
- C5: run_migration.py 改為 os.environ["DATABASE_URL"]
## Major 修復 (M1-M4)
- M1: auto_repair /execute 加 CSRF 保護 + AutoRepairPanel.tsx 同步
- M2: drift /rollback /adopt 加 CSRF 保護(/internal/scan 保持無 CSRF)
- M3: terminal /intent 加 CSRF 保護 + terminal.store.ts 同步
- M4: live-dashboard HOST_IPS + host-grid VIP 改為 env var
## 其他
- 新增 apps/web/.env.example(6 個 env var 說明)
- K8s deployment-web 補入 3 個新 env var
- 整合測試:新增 aider_event_repository + ai_router_feedback 真實 DB 測試
- test_terminal.py CSRF dependency override 修復
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-22 01:27:39 +08:00 |
|
OG T
|
65a5220e16
|
feat(flywheel-c2-c3): C2 hasType4接真實API + C3 WebSocket指數退避重連
CD Pipeline / build-and-deploy (push) Failing after 3m41s
C2: flywheel_stats_service 加 type4_count query → API 回傳
flywheel-diagram.tsx hasType4 改由 type4Count prop 驅動(非 false)
flywheel-kpi-card.tsx 傳入 type4Count={flowData?.type4_count}
C3: WebSocket onclose 加指數退避重連 (1s→2s→4s→最大30s)
cancelled 旗標確保 unmount 後不重連
wsRetryTimer 加入 cleanup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-12 18:45:40 +08:00 |
|
OG T
|
9b1812cdef
|
feat(c4): ADR-073-C C4 — 飛輪人工介入路徑視覺化
CD Pipeline / build-and-deploy (push) Successful in 14m5s
新增 FlywheelDiagram SVG 元件:
- 六節點流程圖(監控→去重→診斷→推理→執行→學習)
- TYPE-3 觸發時:紅色虛線 推理→人工處理中心
- TYPE-4 觸發時:橙色虛線 推理→根因確認
- 活躍節點高亮 + incident 計數徽章
- 整合進 FlywheelKPICard(消費 /api/v1/stats/flywheel)
2026-04-12 ogt (ADR-073-C C4)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-12 15:41:33 +08:00 |
|
OG T
|
0c2892ac19
|
feat(c3): ADR-073-C C3 — WebSocket 飛輪即時推送
後端:
- stats.py 新增 @router.websocket('/flywheel/ws')
- 每 10 秒推送 flywheel_summary JSON
前端 FlywheelKPICard:
- WebSocket 優先,WS 斷線自動降級到 30s HTTP 輪詢
- onopen 時停止 HTTP polling,onclose 時恢復
2026-04-12 ogt (ADR-073-C C3)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-12 15:40:20 +08:00 |
|