Skip to content

feat(core,mcp): cached dependency graph for scale#26

Merged
prosdev merged 3 commits into
mainfrom
feat/core-phase3-graph-cache
Apr 1, 2026
Merged

feat(core,mcp): cached dependency graph for scale#26
prosdev merged 3 commits into
mainfrom
feat/core-phase3-graph-cache

Conversation

@prosdev

@prosdev prosdev commented Apr 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Build dependency graph at index time and save as dependency-graph.json (~1-5MB)
  • Load cached graph in dev_map and dev_refs instead of fetching all docs via getAll
  • Incremental graph updates via file watcher (O(changed files), not O(all files))
  • Falls back to current approach if cache is missing or corrupted
  • Clean up Biome lint: exclude dist/, suppress safe noNonNullAssertion patterns, fix unused imports

Implements Core Phase 3 — removes the 10k doc ceiling that limits dev_map and dev_refs on medium/large repos.

Test plan

  • 13 new tests: serialization round-trip, fallback, incremental update, storage path
  • Full suite: 1703 passed, 39 skipped
  • Lint clean (2 pre-existing warnings only)
  • Typecheck clean

🤖 Generated with Claude Code

prosdev and others added 3 commits April 1, 2026 00:38
Build dependency graph at index time and save as JSON. Load cached
graph in dev_map and dev_refs instead of fetching all docs via getAll.
Incremental graph updates via file watcher. Falls back to current
approach if cache is missing or corrupted.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rtions

Exclude dist/ from Biome scanning. Add noNonNullAssertion overrides for
files with safe Map.get()! patterns (graph.ts, refs-adapter.ts, etc).
Fix unused imports in map/index.ts and cli/commands/map.ts. Change test
edge weight from 1.414 to 1.5 to avoid noApproximativeNumericConstant.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prosdev prosdev merged commit b743ef0 into main Apr 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant