fix(recall): resolve which-year leftover covering from as-of durations - #141
Merged
Merged
Conversation
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>
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
Which-year leftover covering returned the as-of calendar year from lines like
for N years as of DATEinstead 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-q25health 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/yearsso 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.goleftoverCoveringFinish/leftoverCoveringRelativeStartYearrewritefor N years as of DATEto the start year onlooksYearQuery.leftoverCoveringYearMissesEvent: an as-of duration answer yields to a resolved start year.year/yearsadded toleftoverCoverWeakToken.internal/memory/recall_test.goTestLeftoverCoveringWhichYearResolvesRelativeDuration: health query →2021; yoga query in the same packet still2020.locomo-s0-diag-mh-135-p25-product-recall-s1-732148). Product SHA86d87d6. Cycle-closeout 2026-08-25 — P25. Handover + benchmarks README updated.Test plan
gofmt -lclean on touched filesgo test ./internal/memory/ -run 'TestLeftoverCovering|TestPreferUnwind|TestLocation'go vet ./internal/memory/ ./cmd/api ./cmd/worker/recallprobes on frozendiag-mh-135: 0/26 fails (health-year gain2021+ P24 holds including art-show April, community-center 2022, August teammates, destress pottery, Boston garage, James girlfriend April 2022)--run-prefix locomo-s0-diag-mh-135-p25vs P24139aa5: 111/180, gainedconv-49-q25, lost noneLinear / tracking
Risk / follow-ups
conv-48-q50) cannot be recovered by relative-year rewrite — 2020 is not in the leftover packet.