+ contextGraph: {"meta":{"nodeCount":8,"edgeCount":7,"skippedFiles":4,"droppedEdges":0,"repoName":"Trail-Code","subtitle":"PR #325","defaultTab":"context","tabs":["context"]},"nodes":[{"id":"changed:src/graph/","name":"Graph Extraction","type":"changed","summary":"Edits buildGraph, checkGraph, grammarFor and 4 more, plus ExtractEntry in 4 files. A test that reaches it changed too — 5 of 7 functions covered.","sources":["src/graph/build.ts","src/graph/check.ts","src/graph/extract-cache.ts","src/graph/extract.ts"],"evidence":[{"label":"buildGraph · src/graph/build.ts:209-491","lines":[{"n":234,"sign":"+","text":" // Kotlin is the only optional depth-tier grammar. Probe it once, and only when"},{"n":235,"sign":"+","text":" // the repository actually contains Kotlin, so a failed native install cannot"},{"n":236,"sign":"+","text":" // affect a TypeScript/JavaScript-only build or produce startup noise."},{"n":237,"sign":"+","text":" const kotlinUnavailable = files.some((f) => languageOf(f.abs) === \"kotlin\")"},{"n":238,"sign":"+","text":" ? kotlinParserUnavailableMessage()"},{"n":239,"sign":"+","text":" : null;"}],"more":10},{"label":"checkGraph · src/graph/check.ts:59-172","lines":[{"n":91,"sign":"+","text":" const kotlinUnavailable = sourceFiles.some((file) => languageOf(file) === \"kotlin\")"},{"n":92,"sign":"+","text":" ? kotlinParserUnavailableMessage()"},{"n":93,"sign":"+","text":" : null;"},{"n":94,"sign":"+","text":" await warmGenericGrammars("},{"n":95,"sign":"+","text":" new Set(sourceFiles.map((f) => genericLangOf(f)?.name).filter((n): n is string => !!n)),"},{"n":96,"sign":"+","text":" );"}],"more":15},{"label":"ExtractEntry · src/graph/extract-cache.ts:39-54","lines":[{"n":null,"sign":"-","text":" /** The breadth-tier grammar that parsed this file standing in for its depth-tier"},{"n":null,"sign":"-","text":" * one, whose native grammar didn't load. Absent for every other file. The entry is"},{"n":null,"sign":"-","text":" * replayed only while the same stand-in would parse it again. */"},{"n":null,"sign":"-","text":" via?: string;"},{"n":51,"sign":"+","text":" /** The optional parser for this file's language was unavailable. Unlike `error`,"},{"n":52,"sign":"+","text":" * this entry is re-parsed if that parser becomes available on a later run. */"}],"more":1},{"label":"grammarFor · src/graph/extract.ts:362-367","lines":[{"n":314,"sign":"+","text":"const parser = new Parser();"},{"n":315,"sign":"+","text":"const require = createRequire(import.meta.url);"},{"n":316,"sign":"+","text":""},{"n":317,"sign":"+","text":"const GRAMMARS: Record\u003cExclude\u003cLanguage, \"kotlin\">, unknown> = {"},{"n":318,"sign":"+","text":" typescript: TypeScript.typescript,"},{"n":319,"sign":"+","text":" tsx: TypeScript.tsx,"}],"more":49}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":23,"last":"2026-10-13"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":11,"last":"2026-10-14"}]},{"id":"affected:src/graph/","name":"Workspace Graph Federation","type":"affected","summary":"Not edited by this PR. 6 symbols here reach code it changed — nearest is extractContainer, 1 hop away.","sources":["src/graph/container.ts · L152-L213","src/graph/refresh.ts · L151-L228","src/graph/workspace.ts · L631-L656","src/graph/refresh.ts · L236-L262","src/graph/workspace-cli.ts · L56-L79","src/graph/workspace-cli.ts · L140-L144"],"evidence":[{"label":"extractContainer · src/graph/container.ts:152-213","note":"calls extractFile","lines":[{"n":175,"sign":" ","text":" ? extractFile(rel, script, lang.inner)"}]},{"label":"ensureFreshGraph · src/graph/refresh.ts:151-228","note":"calls buildGraph","lines":[{"n":217,"sign":" ","text":" await buildGraph(dir, { contextDir: opts.contextDir, graphOnly: true, onlyDirs });"}]},{"label":"federateCheck · src/graph/workspace.ts:631-656","note":"calls checkGraph","lines":[{"n":639,"sign":" ","text":" const g = await checkGraph(join(root, child));"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":10,"last":"2026-10-13"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":8,"last":"2026-10-14"}]},{"id":"affected:src/app/","name":"Pull Request Review","type":"affected","summary":"Not edited by this PR. 4 symbols here reach code it changed — nearest is reviewPullRequest, 1 hop away.","sources":["src/app/review.ts · L45-L99","src/app/review-process.ts · L180-L184","src/app/review-worker.ts · L67-L87","src/app/server.ts · L31-L37"],"evidence":[{"label":"reviewPullRequest · src/app/review.ts:45-99","note":"calls buildGraph","lines":[{"n":55,"sign":" ","text":" await buildGraph(checkout.dir);"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":11,"last":"2026-10-15"}]},{"id":"affected:src/mcp/","name":"MCP Tool Invocation","type":"affected","summary":"Not edited by this PR. 3 symbols here reach code it changed — nearest is callTool, 2 hops away.","sources":["src/mcp/tools.ts · L217-L245","src/mcp/tools.ts · L248-L330","src/mcp/tools.ts · L154-L200"],"evidence":[{"label":"callSingleTool · src/mcp/tools.ts:248-330","note":"calls checkGraph","lines":[{"n":273,"sign":" ","text":" const g = await engine.checkGraph(root);"}]}],"owners":[{"name":"Shrish Dwivedi","handle":"shhdwi","commits":15,"last":"2026-10-14"},{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":7,"last":"2026-09-02"}]},{"id":"affected:src/","name":"Graph Orchestration","type":"affected","summary":"Not edited by this PR. 3 symbols here reach code it changed — nearest is graph, 1 hop away.","sources":["src/engine.ts · L92-L102","src/engine.ts · L83-L85","src/cli.ts · L223-L233"],"evidence":[{"label":"graph · src/engine.ts:92-102","note":"calls buildGraph","lines":[{"n":93,"sign":" ","text":" return buildGraph(dir, {"}]},{"label":"checkGraph · src/engine.ts:83-85","note":"calls checkGraph","lines":[{"n":83,"sign":" ","text":" checkGraph(dir: string): Promise\u003cGraphCheckResult> {"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":60,"last":"2026-10-15"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":27,"last":"2026-10-15"}]},{"id":"affected:src/notes/","name":"Symbol Overlap Detection","type":"affected","summary":"Not edited by this PR. 2 symbols here reach code it changed — nearest is symbolsIn, 1 hop away.","sources":["src/notes/edit-overlap.ts · L77-L92","src/notes/edit-overlap.ts · L188-L219"],"evidence":[{"label":"symbolsIn · src/notes/edit-overlap.ts:77-92","note":"calls extractFile","lines":[{"n":82,"sign":" ","text":" ? extractFile(rel, source, lang).nodes"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":1,"last":"2026-10-15"}]},{"id":"affected:scripts/","name":"Viewer Build","type":"affected","summary":"Not edited by this PR. 1 symbol here reaches code it changed — nearest is build-viewer.mjs, 2 hops away.","sources":["scripts/build-viewer.mjs · L1-L45"],"evidence":[{"label":"build-viewer.mjs · scripts/build-viewer.mjs:1-45","note":"calls","lines":[{"n":3,"sign":" ","text":" * assets). Runs as part of `npm run build`; the bundle ships in the package"}]}],"owners":[{"name":"Shrish Dwivedi","handle":"shhdwi","commits":2,"last":"2026-08-12"}]},{"id":"affected:src/claude/","name":"Synchronous Execution","type":"affected","summary":"Not edited by this PR. 1 symbol here reaches code it changed — nearest is runSync, 2 hops away.","sources":["src/claude/sync-run.ts · L19-L33"],"owners":[{"name":"Shrish Dwivedi","handle":"shhdwi","commits":3,"last":"2026-07-20"},{"name":"bhavesh-gupta-investis","handle":"bhavesh-gupta-investis","commits":1,"last":"2026-08-24"}]}],"edges":[{"source":"affected:src/graph/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:src/app/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:src/mcp/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:src/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:src/notes/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:scripts/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"},{"source":"affected:src/claude/","target":"changed:src/graph/","relation":"depends_on","description":"this area calls or imports code the PR changed"}]},
0 commit comments