b9cc7f0ae1
ShadowLogger (runtime_checkable Protocol) — PR-B 가 DBShadowLogger 구현 시 준수해야 할 인터페이스. record_would_route(*, doc_id, decision, actual_model_used, prompt_version, policy_version, extra=None) → None. InMemoryShadowLogger — 테스트 전용 in-memory 구현. records/count/clear inspection helpers. Protocol 호환 (isinstance 통과). PR-B 책임: app/services/policy_shadow_writer.py::DBShadowLogger(ShadowLogger) 구현 — analyze_events 에 INSERT. DB write 실패 시 WARN 로그만, 본 파이프라인 중단 금지 (shadow 기간 제품 영향 0). plan: ~/.claude/plans/wise-gliding-hippo.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>