Cleanup commit adds the missing circuit breaker that the build needed all along

The final commit in the Gadoes feature sequence deletes 6,300 lines of accidentally-committed internal planning files, fixes a leaked Supabase URL in `.env.example`, and - buried in the cleanup - adds `circuitBreaker.ts`, a file that `clientManager.ts` has been importing since Chunk 1 but that was never committed to the branch until now.

infrastructureintegration

Circuit breaker. backend/src/lib/mcp/circuitBreaker.ts (134 lines) and circuitBreaker.test.ts (165 lines). The commit message says these were "untracked since Chunk 18 - clientManager already imported them." Chunk 18 itself never appears as a named commit on this branch. The practical consequence: any clean checkout between Chunk 1 and this commit fails to build because the import target doesn't exist. The circuit-breaker tests, added to clientManager.test.ts in a Chunk 19 commit, cover the open-circuit path (3 failures trip it, getOpenCircuitSources() returns the tripped server name, an already-open circuit returns source_unavailable without calling MCP).

EUR-Lex glyph fix. The eurlex row in backend/migrations/002_mcp_servers.sql and backend/src/lib/mcp/servers/eurLex.ts both change from EU·27 to 🇪🇺. Worth noting if you cherry-pick the EUR-Lex adapter (Chunk 13) without this commit.

Cleanup. .claude/skills/agent-browser/SKILL.md and .claude/skills/diagram/SKILL.md are deleted (accidentally landed in Chunk 12). The full data/ tree - specs, mockups, roadmap, architecture diagrams, ~6,300 lines - is deleted and .claude/, data/, and docs/ are added to .gitignore. The backend/.env.example has a real-looking Supabase URL redacted.

The cleanup has no functional effect on the MCP feature. The circuit breaker is the only substantive new code.

So what If you're importing any part of the Gadoes MCP stack, take this commit or cherry-pick `circuitBreaker.ts` and `circuitBreaker.test.ts` at the same time as Chunk 1, not at the end. The fact that the circuit-breaker code lived untracked for around 16 chunks is worth keeping in mind: the `chunk-N` commit history doesn't fully describe the working tree at any given point in this fork's development.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from Gadoes/dispumike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
e29591ef chore: remove internal planning files and fix missing circuit breaker Gadoes 2026-05-02 ↗ GitHub
commit body
- Remove .claude/skills (internal AI tooling, not project code)
- Remove data/ (specs, mockups, roadmap - internal planning docs)
- Gitignore .claude/, data/, docs/ to prevent future re-addition
- Add missing circuitBreaker.ts and circuitBreaker.test.ts (were
  untracked since Chunk 18 - clientManager already imported them)
- Redact duplicate/real Supabase URL from backend/.env.example
- Fix EUR-Lex region glyph EU·27 → 🇪🇺 in migration and server config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-29.md from inside the repo you want the changes in.

⬇ Download capture-thread-29.md