feat(hermes-complete): Hermes NL 三項補強 + ConsensusEngine + ADR 收尾
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 9m32s

## Hermes NL 補強(nl_gateway.py)
- T1 hermes_dispatch_log DB 寫入(asyncio.create_task 非阻擋)
- T2 Redis 速率限制:per-chat_id 20 req/min,fail-open
- T3 Multi-turn session:hermes:session:{chat_id}:{user_id} TTL=300s,最近 3 輪

## ConsensusEngine(ADR-095 宣告式設計)
- consensus_engine.py: CONSENSUS_WEIGHTS class 屬性
  security=0.4 鎖定,9 個 Claude Code agent 分配 0.6
- config.py: ENABLE_12AGENT_CONSENSUS=False feature flag

## ADR 狀態
- ADR-093/094/095: Proposed → 🟡 批准實作中
- 各 ADR 加 v1.1 變更紀錄

## K8s ConfigMap
- prod 04-configmap.yaml: 加 3 個 feature flags(均 false)
- dev 02-configmap.yaml: 同步加入

## LOGBOOK
- 記錄 WS0–WS6 + 補強完成,feature flags 啟用指引

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Your Name
2026-04-25 02:22:15 +08:00
parent ad0e5cbbbc
commit 86ee013cdf
9 changed files with 221 additions and 12 deletions

View File

@@ -357,6 +357,28 @@ class ConsensusEngine:
- 分歧意見會降低共識分數
"""
# ADR-095 2026-04-25 ogt + Claude Sonnet 4.6: 12-Agent Claude Code weights
# 僅在 ENABLE_12AGENT_CONSENSUS=True 時參與投票(預設 False
# security=0.4 永遠最高ADR-009 鐵律)
CONSENSUS_WEIGHTS: dict[str, float] = {
# ADR-009 原始三核心
"SecurityAgent": 0.4, # 資安永遠最高,不可降
"BlastRadiusAgent": 0.15, # 原 0.3 → 0.15
"ActionPlannerAgent": 0.15, # 原 0.3 → 0.15
# ADR-095 新增 9 個 Claude Code agent按需投票
"critic": 0.06,
"debugger": 0.06,
"db-expert": 0.04,
"vuln-verifier": 0.04,
"planner": 0.02,
"fullstack-engineer": 0.02,
"refactor-specialist":0.02,
"migration-engineer": 0.02,
"tool-expert": 0.02,
# onboarder / frontend-designer / web-researcher 不參與投票(諮詢型)
# sum = 1.0
}
def __init__(self):
self._agents: list[ExpertAgent] = [
SREAgent(),