Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions .agents/artifacts/HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# HANDOFF — 2026-10-24T16:19:41Z
branch: `dev` | phase: **T-405 + T-406 fix trains landed on `dev`** — v3.1.0 on `main`, release train empty
branch: `dev` | phase: **v3.1.1 released to `main`; release train empty** — tag `v3.1.1`, GitHub release published, npm publish blocked (principal-only)

## Next Step
The two filed issues (#313, #314) are landed — see *Fix trains, this session*
below. Backlog in priority order:
The two filed issues (#313, #314) are **released in v3.1.1** (`main` @ `5f97870`,
tag pushed, GitHub release up; `dev` re-synced at `ebf4040`). Backlog in
priority order:

1. **Optional patch release `v3.1.1`** — both trains are behavior fixes on
`dev`; cut via the 11-phase release engine when the principal says go
(same governance disclosure would apply on `main`).
2. **Production-Grade Showcase Demo** — re-record the terminal demo (see
0. **npm publish is blocked** — the tag-triggered `npm-publish` workflow fails
with E404 `PUT musememory@3.1.1` exactly like v3.1.0's tag did (v3.0.1/v3.0.2
succeeded on Oct 22); the CI npm token no longer owns the package. The
principal publishes with owner credentials + 2FA, or rotates the token.
1. **Production-Grade Showcase Demo** — re-record the terminal demo (see
`current.md` → *Next Up*).
3. **Wave 24 remainder** — T-316 (Hebbian co-activation edges, unblocked),
T-318 (ROI auto-tuner, unblocked); T-317 stays blocked on T-178.
Expand Down
23 changes: 23 additions & 0 deletions .agents/context/current.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,29 @@ on any blocking failure, so CI runs it. Report:
---

## 🏁 Recently Landed Waves (Verified on `dev`)
- [x] **Released: v3.1.1** (2026-10-24) — the two post-release defect fixes shipped to `main`:
- PR #324 merged at `5f97870` (*"Release: v3.1.1"*); annotated tag
[`v3.1.1`](https://github.com/harshsinghmp/musememory/releases/tag/v3.1.1)
pushed on the release merge; GitHub release published with notes derived
from the stamped changelog. `package.json` is `3.1.1` and `[Unreleased]`
is empty again.
- Governance disclosure: the `main` branch-guard ruleset requires one
approving review; the merge used `--admin` on the principal's order to
cut the release (the `test` check was green on the release branch first:
1408 / 0 across 213 files).
- Back-merge reunited `main` with `dev` (PR #325; `dev` push CI green,
3·m·12s). Post-merge `check:landed` → **RESULT: LANDED** at `ebf4040`.
- Standing blocker disclosed again: the `npm-publish` workflow failed on the
tag with the same E404 as v3.1.0's tag (query history: v3.0.1/v3.0.2
published fine on Oct 22; v3.1.0 + v3.1.1 both 404 on `PUT musememory@…`,
so the CI npm token lost owner rights to the package between Oct 22 and
Oct 24). npm publishing stays **principal-only** (owner credentials + 2FA)
until the token is repaired.
- CI false positive filed: the #325 back-merge PR's delivery-gate step
failed `check-landed --pr --branch main` because the gate greps for an
*open* PR at the head branch and the run's queue lag let the merge close
it first (`RESULT: NOT REVIEWABLE` on identical, separately-green
content). Fence in the gate's head-branch semantics for back-merge PRs.
- [x] **Fix trains: T-405 + T-406** (2026-10-24) — issues #313/#314, delivered through the gauntlet-loop + code-review engines (contract-frozen scope, blind Fresh Critic, mutation-verified tests):
- **T-405** ([#313](https://github.com/harshsinghmp/musememory/issues/313)): PR #321 merged at `e30a1b7`. Conflicted memories are now excluded **by default** from every prompt-serving retrieval path — queryContext lifecycle gate (hidden_count-aware, status-scoped-guarded), FTS store gate with the overfetch connective armed iff any post-fetch hide-gate stays active, vector row gate + engine passthrough, ranking candidate veto before scoring, muse-context pool choke point + anchor/route lens strips + constraint projection + withheld notice — all sharing one `includeConflicted` opt-in (`SearchOptions` cascade; MCP `include_conflicted` schema symmetry on both search/memory_recall tools; CLI `--include-conflicted`). The frozen golden recall fixture was deliberately untouched — the eval corpus carries zero conflicted entries (verified, not assumed); new tests use a self-contained corpus (T-143 promotion discipline respected). RED receipts real (conflicted entry served `kept:high_relevance` into `confident_answers`); critic verdict **9.5/10** with a mutation-verified overfetch test. As-of/temporal queries deliberately keep serving state-at-the-time (documented decision).
- **T-406** ([#314](https://github.com/harshsinghmp/musememory/issues/314)): PR #322 merged at `d3a8f6b`. Project names resolve case-insensitively (`resolveProjectName`/`listProjectNames`/`formatAvailable`, `src/health/resolve.ts`) on all three health surfaces, failing **loud** (CLI exit 1 · MCP isError · Studio 404) with the requested name echoed and the available list; resolved-with-case-diff surfaces the canonical label plus a note naming the requested form; `--json` stdout stays pure JSON (probe-verified). The gate stays a pure exact-canonical reporter — `git diff test/health_project_scope.test.ts` empty. Final critic verdict **9/10**.
Expand Down
Loading