Repository navigation
STR-03: local file retrieval (shared engine, lookup index, benchmark) - #169
Merged
Merged
Conversation
added 10 commits
October 1, 2026 15:53
…line (STR-03 T01)
…gacy engine (STR-03 T02)
…t and engine selection (STR-03 T04)
…evision-aware hints (STR-03 T05)
…l v2 passes its gates (STR-03 T06)
…nd cell validity (STR-03 T07)
…e-retrieval # Conflicts: # .frame/STRUCTURE.json
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.
The search hook and
find-moduleonly knew files that belong to a concept group: 121 of 435 files in this repository. This adds one shared retrieval engine, a compact index the worker keeps current, a frozen benchmark, and the instrument for measuring real agent effort.What changes
scripts/structure-retrieval.js(new) — one engine for the CLI and the hook.legacyRetrievereproduces today's behavior exactly; it is the rollback path.lookup.json— published after every working-view update (130 KB against the 662 KB map), recording source and curation signatures. A stale index is never trusted.find-module—--json(frame.lookup/1;unavailableexits 1,no-matchexits 0),--limit, and--retrieval=legacy|v2orproject.retrieval.engine. A lookup no longer runs Git or a full--check.scripts/eval/retrieval-cases.json: 194 frozen queries, development/held-out split by family, 35 Turkish, 39 negatives.run-retrieval.jsruns them through the real CLI and the Claude and Codex hook adapters.run-eval.js --retrieval-arms(no-hint / legacy / v2, repeats, seeded order, cell validity);score.jscounts tokens including cache, from the final result only, with unknown ≠ 0.Results (held-out, run once)
The default stays
legacy, as decided before the run: v2 is better everywhere but misses 4 gates. It is opt-in throughproject.retrieval.engine: "v2". Failure analysis and next-round candidates (validated on a new held-out split) are inscripts/eval/README.md. The paid S8 run is pending, and no token saving is claimed.Tests
npm test: 1169 passing. New:structureRetrieval,findModule,retrievalEval. Extended:module-hint,structureLifecycle,projectAgnostic,scriptsProjectRoot.Spec:
.frame/specs/str-03-local-file-retrieval/. Separate fix: #168 (the commit-hook hang).