Skip to content

fix(recall): resolve which-year leftover covering from as-of durations - #141

Merged
cursor[bot] merged 2 commits into
devfrom
pr/locomo-180-p25-1e9e
Aug 25, 2026
Merged

cursor[bot] merged 2 commits into
devfrom
pr/locomo-180-p25-1e9e

Conversation

@sdntsng

@sdntsng sdntsng commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Which-year leftover covering returned the as-of calendar year from lines like for N years as of DATE instead of the start year (asOf.Year()-N). Generic reader rewrite, not a LoCoMo-named rule.

Skip-ingest 180 pin: 111/180 (0.617), +1 / −0 vs P24 110/180. Temporal 28→29. Named recovery: conv-49-q25 health start year 2021. MH/OD/SH held 18/4/60. Ledger RETRIEVAL 29→28 (item was labeled RETRIEVAL); READER held 9; WRITE held 4.

Weak leftover tokens year / years so the question word does not bind covering over the event (a packet with both a yoga-2020 line and a health duration otherwise lets the duration steal yoga which-year).

Does not name LoCoMo. Does not merge #133. "destress" stays denylisted. Do not treat Phuket meditation retreat as a diving place. Does not replace README 11.4% / 70% 1×30.

Standing owner approval: FF dest and main after a net-positive 180.

Changes

  • internal/memory/recall.go
    • leftoverCoveringFinish / leftoverCoveringRelativeStartYear rewrite for N years as of DATE to the start year on looksYearQuery.
    • leftoverCoveringYearMissesEvent: an as-of duration answer yields to a resolved start year.
    • year / years added to leftoverCoverWeakToken.
  • internal/memory/recall_test.go
    • TestLeftoverCoveringWhichYearResolvesRelativeDuration: health query → 2021; yoga query in the same packet still 2020.
  • Pin: locomo-s0-diag-mh-135-p25-20260825.md (locomo-s0-diag-mh-135-p25-product-recall-s1-732148). Product SHA 86d87d6. Cycle-closeout 2026-08-25 — P25. Handover + benchmarks README updated.

Test plan

  • gofmt -l clean on touched files
  • go test ./internal/memory/ -run 'TestLeftoverCovering|TestPreferUnwind|TestLocation'
  • go vet ./internal/memory/ ./cmd/api ./cmd/worker
  • Live /recall probes on frozen diag-mh-135: 0/26 fails (health-year gain 2021 + P24 holds including art-show April, community-center 2022, August teammates, destress pottery, Boston garage, James girlfriend April 2022)
  • Skip-ingest 180 --run-prefix locomo-s0-diag-mh-135-p25 vs P24 139aa5: 111/180, gained conv-49-q25, lost none

Linear / tracking

  • ENG-176 (MH), parent ENG-168.

Risk / follow-ups

  • Isolated leftover covering is saturating. Remaining mass is SH PROOF 20 + RETRIEVAL 28 (gold not in top-k). Ranking/compiler next; no fusion fishing.
  • Jolene yoga year (conv-48-q50) cannot be recovered by relative-year rewrite — 2020 is not in the leftover packet.
  • 111/180 is not 80% (144) and not 90% (162).
  • Fair Mem0 180 waits on quota 2026-09-01.
  • OpMem 13/13 and marketing 17/17 last pin not re-run this increment.
Open in Web Open in Cursor 

sdntsng and others added 2 commits August 25, 2026 04:40
Which-year leftover covering returned the as-of calendar year from
"for N years as of DATE" instead of the start year. Rewrite that form
to asOf.Year()-N. Weak leftover tokens year/years so the question word
does not bind covering over the event.

Co-authored-by: aria <aria@engramhq.com>
Skip-ingest 180 on frozen diag-mh-135 is 111/180 (+1 / -0 vs P24). Temporal
28→29. Named recovery: which-year leftover covering from for-N-years-as-of
to the start year.

Co-authored-by: aria <aria@engramhq.com>
@sdntsng
sdntsng marked this pull request as ready for review August 25, 2026 04:54
@cursor
cursor Bot merged commit e179ce6 into dev Aug 25, 2026
2 checks passed
@sdntsng
sdntsng deployed to dev - brainy-worker-staging August 25, 2026 04:54 — with Render Active
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