feat: navigate every checkout from one binding, with Dart and larger caps - #36
Merged
Merged
Conversation
…caps Raise the navigation build caps to 600,000 indexed lines, six million postings, 128 MiB and 50,000 files, so ordinary checkouts and their feature worktrees fit without scope files. Index .dart lexically and return it in build packets; plan packets still reject it. The Dart test now pins that outcome. navigate with no directory binds the canonical Git top level of the directory it starts in, for the life of the process, and exits with an error outside a checkout. One user-scope client entry then serves every checkout a session starts in. The server instructions name the bound root, so a client can compare it with its own checkout without a status call. Two phrases repeated in tool descriptions were dropped to stay within the byte budget.
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.
Nine ordinary ForgeSworn checkouts, several of them feature worktrees, failed to refresh on the 100,000-line cap, and Dart source was invisible to navigation. This lets one client entry serve every checkout.
LOCAL-NAVIGATION.mdrecords the single-run measurements;NAVIGATION-POLICY.mdnow points to scope files for anything still over a cap..dartis indexed lexically and returned bybuildpackets;planpackets still reject it. The Dart test pins that outcome, and the language docs claim exact-token support only. The broad scanner still infers no Dart declarations.navigatewith no directory binds the canonical Git top level of the directory it starts in, for the life of the process, usinggit rev-parse --show-toplevelwithGIT_*stripped as packets do. It exits with an error outside a checkout.navigate <directory>is unchanged.GETTING-STARTED.mdadds a one-line user-scope setup for Claude Code; Codex keeps explicit per-project roots because its default servercwdis undocumented and unchecked.Checks: build, 456 tests (452 plus four new), packed-package smoke (now covering Dart and a no-directory launch), navigation stdio smoke, both benchmark gates (parity 363.45x, recall 1.0), 22 scale tests, 10k postings probe. The pre-push
npm run checkpassed. An earlier local run under load average ~480 timed out 16 tests at vitest's 5-second limit; all pass with a longer limit.Local probe with this build and no directory: all nine previously failing checkouts refresh and bind the correct root; the largest (a Flutter monorepo with Dart) indexes 307,510 lines at about 385 MiB RSS. Single runs, not guarantees.
Not released; no version bump. Claude Code client acceptance of the no-directory entry is still to be recorded at rollout.