Your Name
|
b50614528e
|
feat(awooop): surface recurrence repair work items
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m20s
CD Pipeline / build-and-deploy (push) Successful in 3m31s
CD Pipeline / post-deploy-checks (push) Successful in 1m32s
|
2026-05-18 20:30:43 +08:00 |
|
Your Name
|
7fa06731da
|
feat(awooop): link recurring alerts to repair work
Code Review / ai-code-review (push) Successful in 9s
CD Pipeline / tests (push) Successful in 1m21s
CD Pipeline / build-and-deploy (push) Successful in 4m2s
CD Pipeline / post-deploy-checks (push) Successful in 1m45s
|
2026-05-18 19:50:12 +08:00 |
|
Your Name
|
94f8c68b77
|
feat(awooop): show recurring alert links
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m6s
CD Pipeline / build-and-deploy (push) Successful in 3m55s
CD Pipeline / post-deploy-checks (push) Successful in 1m57s
|
2026-05-18 19:23:37 +08:00 |
|
Your Name
|
213523c77d
|
feat(awooop): surface source dossier coverage
Code Review / ai-code-review (push) Successful in 9s
CD Pipeline / tests (push) Successful in 1m8s
CD Pipeline / build-and-deploy (push) Successful in 3m52s
CD Pipeline / post-deploy-checks (push) Successful in 1m34s
|
2026-05-18 19:01:28 +08:00 |
|
Your Name
|
08a75f4b5a
|
feat(awooop): search callback reply evidence
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m8s
CD Pipeline / build-and-deploy (push) Successful in 3m44s
CD Pipeline / post-deploy-checks (push) Successful in 1m31s
|
2026-05-18 16:17:05 +08:00 |
|
Your Name
|
f3494e0bfb
|
feat(awooop): filter runs by callback reply state
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m9s
CD Pipeline / build-and-deploy (push) Successful in 3m53s
CD Pipeline / post-deploy-checks (push) Successful in 1m40s
|
2026-05-18 15:54:21 +08:00 |
|
Your Name
|
20d62ee0cf
|
feat(awooop): surface callback replies on run list
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m25s
CD Pipeline / build-and-deploy (push) Successful in 3m35s
CD Pipeline / post-deploy-checks (push) Successful in 1m50s
|
2026-05-18 15:24:39 +08:00 |
|
Your Name
|
1a16e083e7
|
feat(awooop): show callback reply states in timeline
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m8s
CD Pipeline / build-and-deploy (push) Successful in 3m24s
CD Pipeline / post-deploy-checks (push) Successful in 1m17s
|
2026-05-18 14:54: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
|
9d02ab8080
|
feat(awooop): surface mcp investigation evidence
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m6s
CD Pipeline / build-and-deploy (push) Successful in 3m30s
CD Pipeline / post-deploy-checks (push) Successful in 2m12s
|
2026-05-18 13:55:27 +08:00 |
|
Your Name
|
daf672aa1e
|
feat(awooop): show automation claim on work items
Code Review / ai-code-review (push) Failing after 1s
CD Pipeline / tests (push) Successful in 1m2s
CD Pipeline / build-and-deploy (push) Successful in 3m25s
CD Pipeline / post-deploy-checks (push) Successful in 1m14s
|
2026-05-18 10:12:51 +08:00 |
|
Your Name
|
902593f775
|
feat(awooop): surface legacy mcp evidence in run detail
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m10s
CD Pipeline / build-and-deploy (push) Successful in 4m7s
CD Pipeline / post-deploy-checks (push) Successful in 1m57s
|
2026-05-18 09:16:59 +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
|
76c302ab5f
|
feat(awooop): expose incident evidence links
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m1s
CD Pipeline / build-and-deploy (push) Successful in 3m26s
CD Pipeline / post-deploy-checks (push) Successful in 1m20s
|
2026-05-17 22:49:55 +08:00 |
|
Your Name
|
6868a9a93d
|
feat(awooop): link telegram alerts to incident runs
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Failing after 1m58s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
|
2026-05-17 22:17:21 +08:00 |
|
Your Name
|
665e72ba33
|
feat(awooop): filter runs by remediation evidence
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m4s
CD Pipeline / build-and-deploy (push) Successful in 4m9s
CD Pipeline / post-deploy-checks (push) Successful in 1m26s
|
2026-05-17 21:13:54 +08:00 |
|
Your Name
|
64fc19b4d5
|
fix(awooop): align run list evidence table columns
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m18s
CD Pipeline / build-and-deploy (push) Successful in 3m21s
CD Pipeline / post-deploy-checks (push) Successful in 1m19s
|
2026-05-17 20:36:05 +08:00 |
|
Your Name
|
0592402779
|
feat(awooop): surface remediation evidence in run lists
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m9s
CD Pipeline / build-and-deploy (push) Successful in 4m1s
CD Pipeline / post-deploy-checks (push) Successful in 1m54s
|
2026-05-17 20:26:03 +08:00 |
|
Your Name
|
5af7108b18
|
fix(awooop): avoid run timeline hydration mismatch
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / build-and-deploy (push) Successful in 3m20s
CD Pipeline / post-deploy-checks (push) Successful in 1m17s
|
2026-05-15 05:09:08 +08:00 |
|
Your Name
|
bc89940564
|
feat(awooop): link remediation evidence to run timeline
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m12s
CD Pipeline / build-and-deploy (push) Successful in 4m14s
CD Pipeline / post-deploy-checks (push) Successful in 1m54s
|
2026-05-15 02:31:46 +08:00 |
|
Your Name
|
65001da0d8
|
fix(telegram): preserve incident history html output
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m1s
CD Pipeline / build-and-deploy (push) Successful in 3m27s
CD Pipeline / post-deploy-checks (push) Successful in 1m29s
|
2026-05-14 23:33:43 +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
|
392cfb9025
|
feat(governance): surface remediation dry run history
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m1s
CD Pipeline / build-and-deploy (push) Successful in 3m45s
CD Pipeline / post-deploy-checks (push) Successful in 1m39s
|
2026-05-14 22:56:51 +08:00 |
|
Your Name
|
6aaaf87ade
|
feat(governance): persist remediation dry run history
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m4s
CD Pipeline / build-and-deploy (push) Successful in 3m44s
CD Pipeline / post-deploy-checks (push) Successful in 1m24s
|
2026-05-14 22:38:42 +08:00 |
|
Your Name
|
04fdaee83a
|
feat(governance): add remediation dry run entrypoint
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m5s
CD Pipeline / build-and-deploy (push) Successful in 3m43s
CD Pipeline / post-deploy-checks (push) Successful in 1m33s
|
2026-05-14 22:20:34 +08:00 |
|
Your Name
|
44f7471b21
|
fix(awooop): keep work items telemetry from blocking
Code Review / ai-code-review (push) Successful in 9s
CD Pipeline / tests (push) Successful in 1m3s
CD Pipeline / build-and-deploy (push) Successful in 3m21s
CD Pipeline / post-deploy-checks (push) Successful in 1m28s
|
2026-05-14 21:56:54 +08:00 |
|
Your Name
|
aa63ae5eca
|
feat(governance): surface verification remediation queue
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m0s
CD Pipeline / build-and-deploy (push) Successful in 3m25s
CD Pipeline / post-deploy-checks (push) Successful in 1m16s
|
2026-05-14 21:45:33 +08:00 |
|
Your Name
|
bad48dee04
|
feat(governance): explain verifier failures
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m21s
CD Pipeline / build-and-deploy (push) Successful in 3m23s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-14 20:49:20 +08:00 |
|
Your Name
|
485c58d085
|
feat(governance): surface verification coverage
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m9s
CD Pipeline / build-and-deploy (push) Successful in 3m49s
CD Pipeline / post-deploy-checks (push) Successful in 1m17s
|
2026-05-14 20:28:53 +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 |
|
Your Name
|
e8c4512a40
|
feat(awooop): surface automation work chain
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m33s
CD Pipeline / build-and-deploy (push) Successful in 4m3s
CD Pipeline / post-deploy-checks (push) Successful in 1m51s
|
2026-05-14 18:08:13 +08:00 |
|
Your Name
|
77aace7515
|
feat(awooop): show inbound event dossiers
Code Review / ai-code-review (push) Successful in 17s
CD Pipeline / tests (push) Successful in 1m19s
CD Pipeline / build-and-deploy (push) Successful in 3m30s
CD Pipeline / post-deploy-checks (push) Successful in 1m34s
|
2026-05-13 21:59:16 +08:00 |
|
Your Name
|
e4203060f3
|
feat(awooop): surface automation quality overview
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m15s
CD Pipeline / build-and-deploy (push) Successful in 3m25s
CD Pipeline / post-deploy-checks (push) Successful in 1m15s
|
2026-05-13 16:23:47 +08:00 |
|
Your Name
|
c486087294
|
feat(awooop): surface gateway summary in details
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m4s
CD Pipeline / build-and-deploy (push) Successful in 3m47s
CD Pipeline / post-deploy-checks (push) Successful in 1m16s
|
2026-05-13 11:49:37 +08:00 |
|
Your Name
|
2df36b11e2
|
fix(awooop): record approval decisions in run timeline
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 58s
CD Pipeline / build-and-deploy (push) Successful in 3m28s
CD Pipeline / post-deploy-checks (push) Successful in 1m21s
|
2026-05-07 10:01:58 +08:00 |
|
Your Name
|
3df23112ef
|
fix(awooop): reconnect approval decisions to run timeline
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 59s
CD Pipeline / build-and-deploy (push) Successful in 3m45s
CD Pipeline / post-deploy-checks (push) Successful in 1m17s
|
2026-05-07 09:37:45 +08:00 |
|
Your Name
|
beba668a4c
|
feat(awooop): add run detail action panel
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / build-and-deploy (push) Successful in 3m27s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-07 09:25:49 +08:00 |
|
Your Name
|
f960a4a19b
|
fix(awooop): localize run detail timeline
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m2s
CD Pipeline / build-and-deploy (push) Successful in 3m36s
CD Pipeline / post-deploy-checks (push) Successful in 1m22s
|
2026-05-07 05:46:31 +08:00 |
|
Your Name
|
66e22e26cb
|
feat(awooop): add run detail timeline
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m18s
CD Pipeline / build-and-deploy (push) Successful in 3m58s
CD Pipeline / post-deploy-checks (push) Successful in 1m25s
|
2026-05-07 03:55:01 +08:00 |
|
Your Name
|
251554c044
|
fix(awooop): record grouped alert events
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m6s
CD Pipeline / build-and-deploy (push) Successful in 3m48s
CD Pipeline / post-deploy-checks (push) Successful in 1m25s
|
2026-05-07 01:35:09 +08:00 |
|
Your Name
|
7f4f5b24ba
|
fix(awooop): clarify operator disposition lanes
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 1m5s
CD Pipeline / build-and-deploy (push) Successful in 3m43s
CD Pipeline / post-deploy-checks (push) Successful in 1m32s
|
2026-05-06 22:24:28 +08:00 |
|
Your Name
|
ea5ad040da
|
fix(telegram): clarify automation notification state
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m16s
CD Pipeline / build-and-deploy (push) Successful in 3m39s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
|
2026-05-06 20:59:58 +08:00 |
|
OG T
|
c696b99ccf
|
fix(awooop): authenticate approval decisions
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 1m3s
CD Pipeline / build-and-deploy (push) Successful in 3m28s
CD Pipeline / post-deploy-checks (push) Successful in 1m25s
|
2026-05-06 13:05:51 +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
|
2221fd3256
|
fix(ops): persist host resource guardrails
CD Pipeline / tests (push) Successful in 5m25s
Code Review / ai-code-review (push) Successful in 25s
Deploy Alert Rules / Deploy Prometheus Alert Rules (push) Successful in 37s
CD Pipeline / build-and-deploy (push) Successful in 7m31s
CD Pipeline / post-deploy-checks (push) Successful in 5m10s
|
2026-05-05 16:13:19 +08:00 |
|
Your Name
|
e22b8e7ab2
|
feat(awooop): Operator Console API + 前端(leWOOOgo 積木化修復)
Code Review / ai-code-review (push) Successful in 42s
後端:
- 新增 platform_operator_service.py(DB 存取集中 Service 層)
- Router 層移除 Depends(get_db),改呼叫 Service 函數
- tenants/contracts/operator_runs 三個 Router 符合 leWOOOgo 規範
- __init__.py 整合四個 platform router
前端:
- apps/web/src/app/[locale]/awooop/ 完整建立(7 個頁面)
- layout.tsx:四分頁導覽(tenants/contracts/runs/approvals)
- 全部使用 @/i18n/routing(Link/usePathname/useRouter)避免 i18n 路徑問題
- approvals page:10s 自動刷新、timeout 倒數、緊急紅色高亮
ADR-106/107/112/114/115/116
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-05 11:00:20 +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
|
639bb64788
|
feat(flywheel): surface ai automation and code review
Code Review / ai-code-review (push) Successful in 31s
CD Pipeline / build-and-deploy (push) Failing after 5m23s
|
2026-04-30 00:09:25 +08:00 |
|