fix: bound large-repo memory and traversal work - #1583
Open
danusha2345 wants to merge 13 commits into
Open
Conversation
added 8 commits
August 21, 2026 13:15
…-and-graph-bounds # Conflicts: # CHANGELOG.md
…say when no project resolves (colbymchenry#1606, colbymchenry#1607) The MCP server's root resolution only walked UP, so a host launched from a workspace root above its indexed children started healthy-looking but inert: no default project, no watcher, no daemon, and nothing said so. - resolveServerRoot(): up-walk, then the bounded colbymchenry#964 down-scan behind a manifest-or-.git gate (never $HOME / fs root); exactly one indexed sub-project is adopted, zero or several never guess. - doInitialize/retryInitializeSync/resolveDaemonRoot/handleInitialize all use it, so adoption comes with live sync, the shared daemon, and the matching instructions variant; the retry path picks up children indexed later (down-scan throttled per 5s). - The no-root branch now logs what was searched and which indexed sub-projects exist, and the no-default tool response lists them with projectPath guidance (still success-shaped, never isError). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LxZj6W6Y1SHXwvpT3uwJpK
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
.hararchives and similar dependency blobs from exhausting V8 heap during resolution (Daemon OOMs (~4 GB heap) on small project during startup catch-up sync; stale daemon.pid + OS PID reuse then blocks all daemon restarts (unlock does not help) #1553)sync()missed without claiming the reported 64 GiB incident is fully reproduced (v1.5.0: codegraph.db-wal grew to 64 GiB and filled disk on a Linux-kernel-sized repo #1539)main(44e1812) while preserving all fork fixesValidation
sync()invokes backpressure during changed-file storage and orphan resolution: 21/21.harprobe: rejected before decode, 58 MB peak RSS, 0.05 sCommits are separated by defect for review.