Skip to content

Release: v3.1.2 - #330

Merged
harshsinghmp merged 8 commits into
mainfrom
release/v3.1.2
Oct 25, 2026
Merged

harshsinghmp merged 8 commits into
mainfrom
release/v3.1.2

Conversation

@harshsinghmp

Copy link
Copy Markdown
Owner

Summary

SemVer patch release carrying the silent-casing fan-out (#328/#327) that
landed on dev after v3.1.1.

Changes since v3.1.1

Verification

  • bun test: 1425 tests / 9 pre-existing env failures / 0 new
  • tsc --noEmit: clean
  • build: clean
  • claims:check: current
  • docs:check: clean
  • secret scan: RC=0

harshsinghmp and others added 8 commits October 24, 2026 23:54
chore: back-merge main after v3.1.1
Why: v3.1.1 shipped to `main` (PR #324 at 5f97870, tag + GitHub release
published, back-merge #325 re-synced dev at ebf4040) but the DOX tree
still described the release as pending.

What: current.md gains the v3.1.1 Recently-Landed block with the governance
disclosure (--admin on the principal's order), the standing npm-publish
blocker (CI token E404, same as v3.1.0's tag) and the CI delivery-gate
false positive on the back-merge PR; HANDOFF.md moves the release from
Next Up to done and puts the npm token repair at the top of the backlog.

Verification: doc-only; docs:check (relative links resolve) and the
landing gate re-quoted at closeout; no code touched.
…t surfaces (fan-out of #314)

Why: #314/T-406 fixed `memory health` (CLI + MCP `muse_health` + studio
`/api/health`) to resolve project names case-insensitively and fail loud on
unknown names. The same silent-casing defect remained on the audit surfaces
that also accept an optional `project` filter: MCP `memory_anchor_audit`,
`memory_drift_audit`, `muse_bug_clusters`, `muse_tech_debt`, and studio
`/api/cognition/anchors`, `/api/cognition/debt`, `/api/cognition/clusters`.
An `ALPHA` against a store holding `alpha` returned an empty report labelled
`ALPHA` — the project scope lied about what it filtered.

What:
- Route every audit surface through the existing `resolveProjectName()` owner
  (T-406) instead of passing the raw caller string. Canonical store spelling
  is what reaches the gate/audit engines; the gates themselves stay exact.
- Unknown project names now fail loud on all seven surfaces: MCP tools return
  a tool error naming the available projects; studio endpoints return 404 with
  the same message. `--json`/machine output stays clean (note goes to stderr
  where applicable).
- Add 17 tests in test/project_resolution_fanout.test.ts covering all 7
  surfaces x (case-insensitive resolve, unknown-name loud failure, canonical
  identity) plus 3 cross-surface identity pins.

Verification: bun test (1425 pass / 9 pre-existing env failures, 0 new),
bunx tsc --noEmit (clean), bun run build (clean), claims:check (current),
docs:check (clean), secret scan (RC=0). Golden recall fixtures untouched.

Closes #327.
fix(mcp,studio): resolve project scope case-insensitively across audit surfaces (fan-out of #314)
docs(context): close out the silent-casing fan-out train
@harshsinghmp
harshsinghmp merged commit d7e875b into main Oct 25, 2026
1 check passed
@harshsinghmp
harshsinghmp deleted the release/v3.1.2 branch October 25, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant