Commit Graph

3 Commits

Author SHA1 Message Date
Your Name
314cb0e079 fix(test): align governance self_failure assertions with nested payload schema
Some checks failed
Code Review / ai-code-review (push) Successful in 48s
CD Pipeline / tests (push) Successful in 2m18s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Codex commits dedb1208 + b710f3f3 (governance enrich + normalize) 把
_alert("governance_self_failure", ...) 的 payload structure 重構成嵌套:
  {status, impact: {failed_checks, total_checks, errors}, remediation, actionable}
(governance_agent.py:604-624,2026-04-29 critic M6 修),
但 3 個 test 還用舊路徑 `payload["total_checks"]` 直讀,KeyError 後 RuntimeError 模擬 cascading 失敗。

修法:3 個 assertion 改為讀正確嵌套路徑:
- test_governance_agent.py:601 → payload["impact"]["total_checks"|"failed_checks"]
- test_wave8_remaining_blockers.py:223 → 同
- test_wave8_remaining_blockers.py:268 → 同

Tests: 30 passed (test_governance_agent + test_wave8_remaining_blockers 全部)

效果:解開 dedb1208 / b710f3f3 / a38d9112 三個 commit 因 governance test fail
被擋在 build-and-deploy 之前的卡點,恢復 CD 鏈通暢。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 00:05:04 +08:00
Your Name
f4998b3eee fix(test): 修 P3.4 governance_agent 加第 5 項 slo_compliance 後既有測試對齊
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 10m35s
P3.4 加入 check_slo_compliance 後:
- test_governance_agent::test_all_checks_fail_returns_all_errors: 4→5
- test_wave8_remaining_blockers::TestB8GovernanceFailureAlert: 三測試補 mock

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 15:06:58 +08:00
Your Name
6de10cb073 test(wave8-blockers): 4 餘項 BLOCKER 修復驗收(vuln #4 + B14 + B25/B26 + B8)
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
確認 critic + debugger + vuln-verifier 報告中尚未驗收的 4 修復都已實裝在 production,
並補對應 dedicated tests:

vuln #4 — fusion prompt injection 防禦:
- score_with_elephant 內 _sanitize 剔除控制字元 + 截長至 max_len
- alert_name(100) / evidence(...) / proposal(300) 三層 sanitize
- 驗證:1000 個 'A' 攻擊 payload → prompt 內 'A' < 200,控制字元 \\x00\\x1b\\x02 全剔除

debugger B14 — Gemini quota fail-closed:
- ollama_failover_manager._check_gemini_quota except branch
- Redis 異常時 return False(非 fail-open),費用安全 > 服務可用性
- best-effort 呼叫 alert_gemini_quota_exceeded 通知運維

debugger B25/B26 — auto_repair drain_pending_tasks:
- AutoRepairService._pending_tasks (set) + drain_pending_tasks(timeout=60.0)
- main.py shutdown 已接 _repair_svc.drain_pending_tasks() 呼叫
- K8s rolling restart 時 fire-and-forget tasks 不丟失

debugger B8 — governance ≥3 failures alert:
- run_self_check 後聚合 failed_checks
- ≥3 項失敗 → self._alert("governance_self_failure", ...) 觸發
- payload 含 failed_checks list + total_checks=4 + errors dict

Tests: 10/10 PASSED (vuln 3 + B14 2 + drain 2 + governance 3)

Note: 此 commit 純補測,所有 4 修復代碼上 commit 已 in production
仍待: 1167+ CD runs 確認 deploy 成功

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 08:22:47 +08:00