Severity: Low (Quality H3, L2)
Five files each implement their own `getClient()` singleton pattern for Anthropic. Only `summarizer.ts` exposes `_resetClient()` for testing.
Files: `summarizer.ts`, `alerts.ts`, `briefing.ts`, `research.ts`, `mcp/server.ts`
Recommendation: Extract a shared `getAnthropicClient()` utility with `_resetClient()` for tests.
Severity: Low (Quality H3, L2)
Five files each implement their own `getClient()` singleton pattern for Anthropic. Only `summarizer.ts` exposes `_resetClient()` for testing.
Files: `summarizer.ts`, `alerts.ts`, `briefing.ts`, `research.ts`, `mcp/server.ts`
Recommendation: Extract a shared `getAnthropicClient()` utility with `_resetClient()` for tests.