Repository navigation
0.31.2–0.31.4: bug-hunt batches B (recall), D (dashboard) and E (housekeeping) - #82
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSnY9UQPcd6a4DCMpXD
…leting it (#37) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSnY9UQPcd6a4DCMpXD
…ing (#38) A failed or unanswered summary model call now releases the marker with attempts+1 and notBefore = now + 1h doubling per attempt (cap 24h); session-pending list skips markers still waiting, and the fifth failed attempt drops the marker with one activity line. Old markers parse as attempts 0; session-pending write starts again at 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSnY9UQPcd6a4DCMpXD
…en first by design (#39) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSnY9UQPcd6a4DCMpXD
The yesterday check ran first and matched the phrase; check the two-day form first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
…ry facade (#7) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
… the 500 newest (#19) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
…oom (#26) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
getSynonyms now returns the canonicals and synonyms of every group a word belongs to, deduped in group order; normalizeQuery keeps a single canonical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
… recall token cap (#12) A word in several synonym groups (push: deploy + git) now expands to 12+ tokens, so a flat expansion let it crowd later query words and its own second meaning out of the 12-term FTS cap and the 6-term fact fallback. expandedTokens now lists the literal query words first and then takes one variant from each synonym group of each word in turn (new getSynonymGroups in synonyms.ts). The token set is unchanged; only the order differs. The FTS cap stays 12, as decided for #26. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSpuvDs1ukDqG5dKSZu
…; comments name the back-off (#38) Follow-up to the review of the #38 fix: a marker whose notBefore is more than 24 hours ahead (a clock that jumped back after a failed attempt, or a hand edit) was hidden from listSessionPending for as long as it said, so it was never retried or dropped. Such a wait is now treated as due. The finishSessionSummaries comment and the bin/memories.ts usage line describe the back-off and release --failed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSnY9UQPcd6a4DCMpXD
A filter change that overlapped an earlier /api/memories request could let the older reply land last and overwrite the table with the older filter's rows; pickTagFromSheet always raced (untagged first-open load, then the tagged one). loadMemories now numbers each request and drops stale replies and stale errors silently. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
renderKnowledgeControls rebuilt the note on every render, replacing the Clear button and dropping keyboard focus on each live event. Rebuild only when the note's text or Clear presence changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
…queue (#30) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
…#31) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
…ckfilling to 10 (#31) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
recallMemory now sets star.lastRecalled to the live event's timestamp (carried on the spark) or to now, beside the recall count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSrn4zdhsS2cocxtA3V
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSobwTXWVRg7fVZcKYo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSobwTXWVRg7fVZcKYo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSobwTXWVRg7fVZcKYo
…ed flag (#38) tests/session.test.ts releasesOf took the last argument as the session id; a failed model call now releases with 'release <root> <id> --failed', so it read '--failed'. It now takes the last non-flag argument, and SESSION.1.a4 checks that only the lost model call is released as failed. claude plugin test: 544 pass, 0 fail. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M2ePSobwTXWVRg7fVZcKYo
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.
Brings in PRs 78, 79 and 80 with their own commits, so GitHub shows them as merged, plus the release bookkeeping and one harness test fix. Each batch is its own release in the CHANGELOG.
Fixes #19
Fixes #7
Fixes #12
Fixes #17
Fixes #26
Fixes #9
Fixes #23
Fixes #20
Fixes #22
Fixes #29
Fixes #30
Fixes #31
Fixes #32
Fixes #33
Fixes #36
Fixes #37
Fixes #38
Fixes #39
Releases
18.12.3-mnemosyne.18, withengine/UPSTREAM.mdchanges 34–40 taken from PR 78's upstream notes, plus a Builds row. [medium] Words in several synonym groups are remapped to the last group #12 and [low] Query word expansion truncated to 12 terms drops later words #26 both changerecall.ts; the batch session reconciled them and kept the 12-term FTS cap.adm-zipadvisories) was reviewed and stays open: they are not reachable at runtime, and moving theonnxruntime-nodepin from 1.26.0 to 1.31.1 would clear all 8 (see PR 80).typed-memory.tswas changed by both batch C ([low] Event pattern has leading space inside group after word boundary #24) and batch B ([low] Confidence boosters match as raw substrings (e.g. 'at', 'on') #23). It merged cleanly, and both specs pass.Harness test fix (05b10ee)
#38 releases a marker whose model call failed with
release <root> <id> --failed.tests/session.test.ts'sreleasesOfread the last argument as the id, so it got--failed(SESSION.1.a4). It now takes the last non-flag argument, and the spec checks that only the lost call is released as failed. The batch session could not run theclaude plugin testharness.Decisions accepted (details in each PR)
These are conservative choices: #19 does a linear cosine scan over embedded rows, #17 no longer fires on
recently, and #38 backs off 1h, doubling to a 24h cap, giving up after 5 failed model calls with an activity line.Tests
claude plugin test .: 544 pass, 0 fail.bun test ./tests/bun ./engine/test: 1778 pass, 2 skip, 9 fail. Those are the same 9 as onmainin this container.engine-diffok (build.18).Generated by Claude Code