Skip to content

fix(mcp,studio): audit surfaces still resolve project scope case-sensitively and fail silently (fan-out of #314) #327

Closed

Description

@harshsinghmp

T-406 (#314) wired resolve-first-fail-loud into the health surfaces only. The same silent-casing class remains on every other surface that passes a user-supplied project filter straight into its gate as a raw string (exact-match compare):

MCP (src/mcp.ts): muse_tech_debt, memory_anchor_audit, memory_drift_audit, muse_bug_clusters — a project argument of the wrong casing yields a silent empty report.

Studio (src/ui.ts): /api/drift, /api/cognition/clusters, /api/cognition/debt — ?project=WRONGCASE yields a silent 200-empty payload.

Scope: wire resolveProjectName (src/health/resolve.ts, the single owner from T-406) at all seven surfaces — mixed-case resolves to the store's canonical spelling; unknown or ambiguous names fail loud (MCP isError result / Studio 404 JSON) echoing the requested name and the available projects. The gates themselves stay pure exact-canonical reporters (T-406 bar).

Deliberately out of class: recall/sync surfaces (muse_context, Muse CLI search conflicts, sync broadcast — a hypothetical new project there is not a misdiagnosis), studio client-side handling of 404s (separate follow-up), LLM-side aliasing.

Deliverable: gauntlet-loop process with a blind fresh critic; RED receipts via isolated wiring revert; full suite green; bar is the T-406 precedent.

Activity

  1. changed the title [-]fix(mcp,studsio\u2026): fix(mcp,studio): audit surfaces still resolve project scope case-sensitively and fail silently (fan-out of #314)[/-] [+]fix(mcp,studio): audit surfaces still resolve project scope case-sensitively and fail silently (fan-out of #314)[/+] on Oct 24, 2026
  2. harshsinghmp commented on Oct 25, 2026

    @harshsinghmp
    OwnerAuthor

    Resolved in PR #328 (merged to dev @ 17c0abe). All 7 audit surfaces now resolve project names case-insensitively and fail loud on unknown names. 17 new tests, CI green, landing gate RESULT: LANDED.

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