Skip to content

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

Closed

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-stopgap → dev
  • 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

Activity

  1. Data-Wise commented on Jul 5, 2026

    @Data-Wise
    OwnerAuthor

    Cross-link: atlas-side spec filed as Data-Wise/atlas#70.

  2. Data-Wise commented on Sep 5, 2026

    @Data-Wise
    OwnerAuthor

    Closing — the flow-cli half is shipped and there is nothing left to do in this repo.

    mcprestart and mcprestart-log merged 2026-07-07 via PR #496 (merge commit 94d9bde7, ancestor of dev); both are live in zsh/functions.zsh (:620 and :638).

    The remaining piece — the McpDoctorUseCase pointer built on atlas/src/use-cases/registry/DoctorUseCase.js's report-first + --fix pattern — belongs to the atlas repo and is parked, as this issue's own title records. Tracking it here would leave a permanently-open flow-cli issue for work that cannot be done in flow-cli; if it gets revived, it should be filed against atlas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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