Repository navigation
perf(projects): read a large document once, not once per matching lane - #1676
Merged
Merged
Conversation
…e (PERF-51) A record too large to share a page is read alone. When another lane had already returned it, gathering still read its whole text again and only then dropped it as found: on the released Memo 0.79.0, one 95,200-byte document matched by five lanes charged 476,300 bytes (cli-testing#178). Its page already moves past it, so the lane is now recorded on the known reference without the second read. take() and this path share again(). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour
force-pushed
the
perf/evidence-skip-known-large
branch
from
October 20, 2026 10:00
bb1664d to
a30d703
Compare
Merged
leemour
added a commit
that referenced
this pull request
Oct 20, 2026
Release 0.369.0 from main d09d394: #1676 (project gathering reads a large document once, not once per matching lane). Only package.json and the CHANGELOG heading change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour
added a commit
to WireCatLabs/cli-memo
that referenced
this pull request
Oct 20, 2026
Bumps `@wirecat/cli-core` 0.367.0 → 0.369.0 and releases 0.80.0. - 0.369.0 ([cli-core#1676](WireCatLabs/cli-core#1676)): `memo projects evidence` reads a large document once, not once per matching search (measured 476,300 charged bytes for one 95,200-byte document on 0.79.0, [cli-testing#178](WireCatLabs/cli-testing#178)). - 0.368.0 ([cli-core#1670](WireCatLabs/cli-core#1670)) comes along: left-chat reads. No Memo code change. Full suite 592 passed. Typecheck, lint, `lint:commands`, `contracts:check`, `docs:check`, `docs:lint`, `test:matrix:check`, `generate:check` and `release:check` pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour
added a commit
to WireCatLabs/cli-testing
that referenced
this pull request
Oct 20, 2026
## Why [#178](#178) showed the fixed release finding the large document, but charging 476,300 bytes for one 95,200-byte document: each of its five matching lanes read it again. [cli-core#1676](WireCatLabs/cli-core#1676) (Core 0.369.0, Memo 0.80.0) skips that read. Did it work on the released packages? ## Results Same script and invented document, exact registry Memo 0.80.0 / Core 0.369.0 / Base 0.47.1: | | Memo 0.79.0 | Memo 0.80.0 | | --- | --- | --- | | Charged bytes | 476,300 | 95,260 | | Reads | 10 | 6 | | Found / complete | 1 / true | 1 / true | ## What - `result-read-once.json` with the new run. - `after-fix.mjs` now pins Memo 0.80.0 / Core 0.369.0. The README says which commit produced the 0.79.0 result. - README table, index line and changelog. ## Testing Ran the commands in the README. lint, `docs:check`, `docs:lint`, `docs:spell` and `standards:check` pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.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.
Why
The rerun of the large-document reproduction on Memo 0.79.0 (cli-testing#178) found the document, but charged 476,300 bytes for one 95,200-byte document. Each of its five matching lanes read the whole text again and only then dropped it as already found.
What
take()and this path share oneagain(ref, lane)helper, so a lane is recorded the same way.PROJECT-GATHERING.mdand the changelog.Testing
docs:check,docs:lintand the Bun smoke pass.🤖 Generated with Claude Code