Repository navigation
Release: v3.1.1 - #324
Merged
Merged
Release: v3.1.1#324
Conversation
- Why: the release-state facts now exist on the remote — PR #318 merged at c5a141d, tag v3.1.0 pushed, GitHub release published, the back-merge brought the main-only showreel hotfix home — but the handoff still described the pre-release state ("cut the release" as the next step) and the landed-waves ledger had no release line. The closeout DOX pass runs after the gate by design, so these claims are written only now. - What: HANDOFF.md rewritten for the post-release state — release receipts with the branch-guard governance disclosure (admin merge bypassed the 1-review requirement on the principal's order; disclosed here and in current.md), next steps pointing at #313/#314 and the parked spec PRs, Verify block updated to this session's numbers. current.md gains a release bullet on the landed-waves ledger, including the quoted gate evidence, and a numbering correction: the repo's own ledger tops out at Wave 26 (the landing gate); the inherited session summary's "Wave 27" does not exist. - Verification: quoted from this session — bun test 1393 pass / 0 fail (211 files) on both the release branch and the back-merged dev tree; PR #318 CI test pass at 3m14s; check:landed → RESULT: LANDED at dev == origin/dev == c5a141d; the pre-review gate on this branch runs on the PR (branch pushed, PR open, checks green).
docs(context): record the v3.1.0 release and refresh the handoff
…tion branch - Why: two Release Invariants were factually off. Nothing required a version bump to regenerate derived artifacts, so bumping the version failed CI's claims:check with no documented cause — this was hit live on the v3.1.0 cut (claims:check failed within seconds of the bump and the branch needed a regeneration commit). And the standard still named `master` as the production branch; this repository's production branch is `main`, and the whole release pipeline that actually ran (v3.1.0, PRs #316–#319) operates on dev/main. - What: .agents/standards/git-workflow.md Release Invariants gains one bullet — any version bump runs `bun run claims:generate` in the same commit, because claims.json embeds the package version and CI runs claims:check on drift — and the staging invariant now says merge to `main` instead of `master`. - Verification: bun run docs:check — 150 relative links across 102 markdown files all resolve (link audit covers this file); the rule text matches the behavior CI already enforces (claims:check in the suite); docs-only change, no code touched, levitated through staging by explicit-path add after git status review.
…resh docs(standards): pin the derived-artifact rule and correct the production branch
#313) Why: conflicted memories (contradiction-engine verdicts — known potential falsehoods) were only rank-discounted (-0.8), never filtered, so they still surfaced into recall results, ranked candidates (kept:high_relevance), fused muse context (relevant_memories, confident_answers, route manifests, code anchors) and FTS store queries without a badge (#313 / T-405). What: one shared includeConflicted opt-in honored at every consumer gate, defaulting to exclusion — SearchOptions cascade (ContextQueryOptions → UnifiedSearchOptions); queryContext lifecycle gate (status-scoped guard + cache-key discrimination); FTS hidden-gate + overfetch connective (armed iff any post-fetch hide-gate stays active — OR, not AND); vector passesRowFilter + engine hybrid passthrough; ranking candidate veto; muse context pool choke point, anchor/route lens strips, constraint projection and withheld notice; MCP include_conflicted on both search/memory_recall schemas + auto-branch mapping; CLI --include-conflicted mirror. Temporal/as_of path unchanged (state-at-the-time semantics). Status-scoped audit queries preserved on FTS and queryContext paths. Golden recall fixture untouched (corpus carries zero conflicted entries); tests-first discipline, RED receipts in ledger. Verification: bun test 1400 pass / 0 fail across 212 files (+7 tests); tsc --noEmit clean; build clean; claims.json + derived docs regenerated (1398→1400); Fresh Critic verdict 9.5/10 with mutation-verified overfetch test (reverted connective in isolation → exactly the new test fails).
fix(retrieval): withhold conflicted memories from prompt-serving paths (#313)
Why: `memory health --project ALPHA` against a store holding `alpha` returned a silent empty report labelled with the caller's casing (#314 / T-406) — and the MCP `muse_health` tool and Studio `/api/health?project=` endpoint shared the silent-empty behavior, so scripts, agents and dashboards could not tell a typo from a store with no data. What: one resolution owner — `resolveProjectName` + `listProjectNames` + `formatAvailable` in `src/health/resolve.ts` (exact match wins; unique case-insensitive match returns the store's spelling; unknown or ambiguous stays unresolved). All three surfaces resolve first and fail loud second: CLI exits 1 with the requested name echoed plus the available list and a stderr note when canonical differs from the requested form (--json stdout stays pure JSON); MCP `muse_health` returns an isError result; Studio answers 404 with the same JSON error. `evaluateProjectHealth`/ `listForProject` stay pure exact-canonical reporters — no store rewrite, no gate change; the existing scope tests pass untouched (tests-first RED receipts in the iteration ledger; helper-first disposition noted there). Verification: bun test 1408 pass / 0 fail across 213 files (+8 tests); RED receipts: 2 pass / 6 fail pre-wiring, independently reproduced by the Fresh Critic (reverted wiring, restored byte-identical); tsc --noEmit, build, claims/docs artifacts current; secret scan clean; golden recall fixtures untouched (no retrieval change). Fresh Critic final: 9/10, integrate confirmed (note-stream verified by empirical stdout probe).
…oject fix(health): resolve project names case-insensitively, fail loud (#314)
Why: both tickets (#313, #314) are merged into `dev` (PR #321 at `e30a1b7`, PR #322 at `d3a8f6b`) but the DOX tree still described them as open `Next Up` items with stale line references. What: `.agents/context/ticket-plan.md` stamps T-405/T-406 landed with the merge SHAs, receipts (suite 1408/0 across 213 files, gates, critic verdicts 9.5/10 and 9/10) and the deliberate decisions; `current.md` drops the two landed bullets from *Next Up* and records the joint *Recently Landed* block including the follow-up ledger (ambiguous-case wording, Studio client 404 echo, silent-casing fan-out, wikilink hop-gate, get_context schema mismatch, hybrid status plumbing, superseded-gate guard); `HANDOFF.md` is refreshed with the two fix trains, the backlog priority order and the optional v3.1.1 release note. Verification: doc-only change; `bun run docs:check` (all relative links resolve) and `bun run check:landed` re-quoted at closeout; no code touched.
docs(context): close out the T-405/T-406 fix trains
Why: the two post-release defect fixes (T-405/#313 conflicted memories injected into prompts; T-406/#314 case-sensitive silent project scoping) are landed on `dev` (PR #321 at e30a1b7, PR #322 at d3a8f6b, closeout #323 at 82d290c) and carry to `main` as a SemVer patch. What: bump package.json 3.1.0 -> 3.1.1 and stamp CHANGELOG.md — the [3.1.1] block with Summary + two Fixed entries (both citing tickets, PR links, quality receipts and the deliberate decisions), compare URL v3.1.0...v3.1.1. No code changes on this branch. Verification: bun test 1408 pass / 0 fail across 213 files on this tree; tsc --noEmit clean; build clean; claims:check + docs:check current; secret scan clean; release notes derived from the stamped changelog.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SemVer patch release carrying the two post-release defect fixes from
dev:include_conflictedopt-in honored at every prompt-serving gate. Golden recall fixture untouched (corpus carries zero conflicted entries — verified). Critic 9.5/10.Both trains landed on
devwithRESULT: LANDEDreceipts (e30a1b7,d3a8f6b); closeout at82d290c.What's here (3 files, +24/−2)
package.json: 3.1.0 → 3.1.1CHANGELOG.md: stamped[3.1.1]block (Summary, two Fixed entries with tickets/PR links/receipts, compare URLv3.1.0...v3.1.1)claims.json: regenerated — the published-claims gate caught the version bump (its designed job) and the artifact now trackspackage.jsonNo other code changes since
dev@82d290c.Verification Evidence
bun test— 1408 pass / 0 fail across 213 files (on this release tree)tsc --noEmitclean ·bun run buildcleanclaims:checkup to date (post-regen) ·docs:check152 links / 108 files resolve · secret scan cleancheck:landed:prgate to be re-run after CI; tagv3.1.1+ GitHub release on mergeGovernance disclosure
The
mainbranch-guard ruleset requires one approving review; per the v3.1.0 precedent this release merge uses--adminon the principal's order (thetestcheck must be green first).