Commit 90c28f2
feat(core): build and persist reverse callee index in graph v2
Add reverse callee index that maps callee names to their callers.
Built at index time from the same scan data as the dependency graph,
persisted inside dependency-graph.json as v2 format (single atomic
write prevents drift). Compound keys (file:name) for TS, bare names
for tree-sitter languages. Secondary name index for O(1) bare-name
lookups. Incremental updates via updateReverseIndexIncremental.
- New module: packages/core/src/map/reverse-index.ts
- CachedGraph v1→v2 (backward compatible — v1 loads with null reverse)
- serializeGraph/deserializeGraph updated for v2
- loadOrBuildGraph returns { graph, reverseIndex }
- All callers updated: map/index.ts, cli/refs.ts, refs-adapter.ts,
incremental-indexer.ts
- 25 new tests in reverse-index.test.ts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 5e8b6a5 commit 90c28f2
10 files changed
Lines changed: 714 additions & 43 deletions
File tree
- packages
- cli/src/commands
- core/src
- indexer
- map
- __tests__
- mcp-server/src
- adapters/built-in
- watcher
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| 200 | + | |
199 | 201 | | |
200 | 202 | | |
201 | | - | |
202 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
203 | 208 | | |
204 | 209 | | |
205 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
346 | | - | |
| 346 | + | |
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
| 352 | + | |
353 | 353 | | |
354 | | - | |
355 | | - | |
356 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | | - | |
| 360 | + | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
364 | 377 | | |
365 | 378 | | |
366 | 379 | | |
367 | 380 | | |
368 | | - | |
| 381 | + | |
369 | 382 | | |
370 | 383 | | |
371 | 384 | | |
372 | 385 | | |
373 | 386 | | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
374 | 409 | | |
375 | 410 | | |
376 | 411 | | |
| |||
388 | 423 | | |
389 | 424 | | |
390 | 425 | | |
391 | | - | |
392 | | - | |
393 | | - | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
394 | 429 | | |
395 | 430 | | |
396 | 431 | | |
| |||
411 | 446 | | |
412 | 447 | | |
413 | 448 | | |
414 | | - | |
415 | | - | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
416 | 452 | | |
417 | 453 | | |
418 | 454 | | |
| |||
427 | 463 | | |
428 | 464 | | |
429 | 465 | | |
430 | | - | |
431 | | - | |
| 466 | + | |
| 467 | + | |
432 | 468 | | |
433 | 469 | | |
434 | 470 | | |
| |||
0 commit comments