Summary
Ships a zero-engineering stopgap for the MCP bridge flicker/degradation
pattern (documented failure mode: 4-min timeout stall, or instant
"tool not found" death — fix is always quit+relaunch Claude Desktop,
never incremental retry).
Branch: feature/mcprestart-stopgap (pushed, ready for PR)
What shipped
mcprestart — one command, quit+relaunch Claude Desktop
mcprestart-log — tail of recent restarts + this-month count
Both added to zsh/functions.zsh (Category 11). Live-verified via
zsh -ic before commit — zero syntax errors, both resolve correctly
in an interactive shell.
Context / spec pointer
Full design context lives in ADR-001 (drafted this session,
docs-standards repo — not yet committed as a standalone file, notes
below are the complete spec):
Decision history (this session):
- Investigated whether
craft, atlas, or a new repo should own
MCP/config/MLX drift-audit tooling. Found atlas/src/use-cases/registry/DoctorUseCase.js
already implements the exact report-first + --fix-flag pattern
for the Project Settings Contract (.STATUS/CLAUDE.md/.obs/sync.yml).
Found craft/governance/ already implements a fixture-tested
(good/bad pairs) policy-as-code engine, scoped to skills only.
Found workspace-auditor is a paused (~10%) stub whose own CLAUDE.md
already flagged this exact atlas-vs-new-repo question — recommend
formal retirement.
- Decision: atlas hosts a new
McpDoctorUseCase (sibling to
DoctorUseCase), same execute()/fix({write}) contract.
- Grilled the plan hard before committing engineering time:
- Confirmed flicker frequency is real: 5+/month (measured
recall, not yet logged — that's what mcprestart-log now fixes).
- Dashboard-tile idea was floated then explicitly dropped — user
caught it as "avoiding a decision" rather than a real requirement.
CLI-only, no dashboard mechanism.
- Fixture format gap identified: MCP flicker is a sequence
(success → timeout → timeout), not a static snapshot — craft's
existing good/bad fixture pattern doesn't cover this as-is.
Decision: design a sequence-aware fixture format before writing
the check — not deferred, not skipped.
- Priority check:
McpDoctorUseCase is confirmed not this
week's actual priority — genuinely parked, not abandoned.
Cross-repo
Pointer issue filed in atlas with the full McpDoctorUseCase spec
(same content, atlas-side framing) — see: [link added after atlas issue is created]
Follow-up (this repo)
Summary
Ships a zero-engineering stopgap for the MCP bridge flicker/degradation
pattern (documented failure mode: 4-min timeout stall, or instant
"tool not found" death — fix is always quit+relaunch Claude Desktop,
never incremental retry).
Branch:
feature/mcprestart-stopgap(pushed, ready for PR)What shipped
mcprestart— one command, quit+relaunch Claude Desktopmcprestart-log— tail of recent restarts + this-month countBoth added to
zsh/functions.zsh(Category 11). Live-verified viazsh -icbefore commit — zero syntax errors, both resolve correctlyin an interactive shell.
Context / spec pointer
Full design context lives in ADR-001 (drafted this session,
docs-standards repo — not yet committed as a standalone file, notes
below are the complete spec):
Decision history (this session):
craft,atlas, or a new repo should ownMCP/config/MLX drift-audit tooling. Found
atlas/src/use-cases/registry/DoctorUseCase.jsalready implements the exact report-first +
--fix-flag patternfor the Project Settings Contract (
.STATUS/CLAUDE.md/.obs/sync.yml).Found
craft/governance/already implements a fixture-tested(
good/badpairs) policy-as-code engine, scoped toskillsonly.Found
workspace-auditoris a paused (~10%) stub whose own CLAUDE.mdalready flagged this exact atlas-vs-new-repo question — recommend
formal retirement.
McpDoctorUseCase(sibling toDoctorUseCase), sameexecute()/fix({write})contract.recall, not yet logged — that's what
mcprestart-lognow fixes).caught it as "avoiding a decision" rather than a real requirement.
CLI-only, no dashboard mechanism.
(success → timeout → timeout), not a static snapshot — craft's
existing
good/badfixture pattern doesn't cover this as-is.Decision: design a sequence-aware fixture format before writing
the check — not deferred, not skipped.
McpDoctorUseCaseis confirmed not thisweek's actual priority — genuinely parked, not abandoned.
Cross-repo
Pointer issue filed in
atlaswith the fullMcpDoctorUseCasespec(same content, atlas-side framing) — see: [link added after atlas issue is created]
Follow-up (this repo)
feature/mcprestart-stopgap→devmcprestart-log, compare real countagainst the "5+/month" estimate — this number is the actual
trigger for whether
McpDoctorUseCasejumps the queue