feat(config+main): aider-watch v2 settings + router + lifespan register

- Add 4 settings to config.py: AIDER_WEBHOOK_SECRET, AIDER_EVENTS_STREAM_KEY, AIDER_PATTERN_EXTRACT_INTERVAL_HOURS, USE_AIDER_FEEDBACK (ADR-091)
- Import aider_events_v1 router in main.py imports (alphabetical after ai_slo_v1)
- Register aider_events_v1.router in include_router block (after alert_operation_logs_v1)
- Register run_aider_event_processor_loop() in lifespan (after compliance_scanner_loop)
- All 65 tests pass (24 action_parsing + 41 aider-watch tests)

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Your Name
2026-04-20 08:50:41 +08:00
parent 40771cda6d
commit e1539a813e
2 changed files with 37 additions and 0 deletions

View File

@@ -62,6 +62,28 @@ class Settings(BaseSettings):
description="Phase 24: True=新 AIRouter 路由, False=舊 openclaw.py fallback chain",
)
# ==========================================================================
# aider-watch v2 integration (2026-04-20 ADR-091)
# 整合 Mac aider CLI 監控進 awoooi 飛輪events → incident → ai_router feedback
# 回滾kubectl set env deployment/awoooi-api USE_AIDER_FEEDBACK=false
# ==========================================================================
AIDER_WEBHOOK_SECRET: str = Field(
default="",
description="HMAC secret for /api/v1/aider/events webhook verification",
)
AIDER_EVENTS_STREAM_KEY: str = Field(
default="signals:aider:events",
description="Redis stream key for aider event ingestion",
)
AIDER_PATTERN_EXTRACT_INTERVAL_HOURS: float = Field(
default=24.0,
description="Aider event pattern extraction interval (future use)",
)
USE_AIDER_FEEDBACK: bool = Field(
default=False,
description="Phase 24 A8: True=ai_router.route() 讀 aider 成功率調權重, False=不讀(預設)",
)
# Phase 22: OpenClaw + Nemotron 協作 (ADR-044)
# 2026-03-31 Claude Code: 統帥批准實作
#