Skip to content

MCP bridge flicker stopgap: mcprestart/mcprestart-log (shipped) + McpDoctorUseCase pointer (atlas, parked) #488

Description

@Data-Wise

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):

  1. 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.
  2. Decision: atlas hosts a new McpDoctorUseCase (sibling to
    DoctorUseCase), same execute()/fix({write}) contract.
  3. 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)

  • Open PR for feature/mcprestart-stopgapdev
  • Check-in in 2-4 weeks: run mcprestart-log, compare real count
    against the "5+/month" estimate — this number is the actual
    trigger for whether McpDoctorUseCase jumps the queue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions