Skip to content

Commit a61ea32

Browse files
viz: PR #325
1 parent 9b0d4a1 commit a61ea32

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎pr/325/index.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@
201201
</main>
202202

203203
<script>window.__GRAFT_DATA__ = {
204-
contextGraph: {"meta":{"nodeCount":7,"edgeCount":6,"skippedFiles":4,"droppedEdges":0,"repoName":"Graft","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:157-430","lines":[{"n":182,"sign":"+","text":" // Kotlin is the only optional depth-tier grammar. Probe it once, and only when"},{"n":183,"sign":"+","text":" // the repository actually contains Kotlin, so a failed native install cannot"},{"n":184,"sign":"+","text":" // affect a TypeScript/JavaScript-only build or produce startup noise."},{"n":185,"sign":"+","text":" const kotlinUnavailable = files.some((f) => languageOf(f.abs) === \"kotlin\")"},{"n":186,"sign":"+","text":" ? kotlinParserUnavailableMessage()"},{"n":187,"sign":"+","text":" : null;"}],"more":10},{"label":"checkGraph · src/graph/check.ts:58-171","lines":[{"n":90,"sign":"+","text":" const kotlinUnavailable = sourceFiles.some((file) => languageOf(file) === \"kotlin\")"},{"n":91,"sign":"+","text":" ? kotlinParserUnavailableMessage()"},{"n":92,"sign":"+","text":" : null;"},{"n":110,"sign":"+","text":" if (lang === \"kotlin\" && kotlinUnavailable) continue;"},{"n":145,"sign":"+","text":" // Do not call a graph stale merely because an optional parser isn't installed"},{"n":146,"sign":"+","text":" // in this environment. The next build will give the actionable diagnostic."}],"more":1},{"label":"ExtractEntry · src/graph/extract-cache.ts:39-54","lines":[{"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. */"},{"n":53,"sign":"+","text":" skipped?: true;"}]},{"label":"grammarFor · src/graph/extract.ts:361-366","lines":[{"n":327,"sign":"+","text":"const KOTLIN_PARSER_UNAVAILABLE ="},{"n":328,"sign":"+","text":" \"Kotlin files were skipped because the optional tree-sitter-kotlin parser is unavailable. \" +"},{"n":329,"sign":"+","text":" \"Reinstall @nanonets/graft in an environment where tree-sitter-kotlin can build to index .kt and .kts files.\";"},{"n":330,"sign":"+","text":""},{"n":331,"sign":"+","text":"let kotlinGrammar: unknown | null | undefined;"},{"n":332,"sign":"+","text":"let loadKotlinGrammar = (): unknown => require(\"tree-sitter-kotlin\");"}],"more":35}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":22,"last":"2026-08-27"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":10,"last":"2026-08-13"}]},{"id":"affected:src/graph/","name":"Workspace Graph Freshness","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 · L151-L208","src/graph/refresh.ts · L150-L227","src/graph/workspace.ts · L630-L655","src/graph/refresh.ts · L235-L261","src/graph/workspace-cli.ts · L49-L70","src/graph/workspace-cli.ts · L126-L130"],"evidence":[{"label":"extractContainer · src/graph/container.ts:151-208","note":"calls extractFile","lines":[{"n":171,"sign":" ","text":" inner = extractFile(rel, script, lang.inner);"}]},{"label":"ensureFreshGraph · src/graph/refresh.ts:150-227","note":"calls buildGraph","lines":[{"n":216,"sign":" ","text":" await buildGraph(dir, { contextDir: opts.contextDir, graphOnly: true, onlyDirs });"}]},{"label":"federateCheck · src/graph/workspace.ts:630-655","note":"calls checkGraph","lines":[{"n":638,"sign":" ","text":" const g = await checkGraph(join(root, child));"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":9,"last":"2026-08-11"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":6,"last":"2026-08-12"}]},{"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 · L179-L183","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":5,"last":"2026-09-01"}]},{"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 · L216-L244","src/mcp/tools.ts · L247-L329","src/mcp/tools.ts · L153-L199"],"evidence":[{"label":"callSingleTool · src/mcp/tools.ts:247-329","note":"calls checkGraph","lines":[{"n":272,"sign":" ","text":" const g = await engine.checkGraph(root);"}]}],"owners":[{"name":"Shrish Dwivedi","handle":"shhdwi","commits":14,"last":"2026-08-12"},{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":7,"last":"2026-09-02"}]},{"id":"affected:src/","name":"Graph CLI Entry","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 · L91-L101","src/engine.ts · L82-L84","src/cli.ts · L163-L173"],"evidence":[{"label":"graph · src/engine.ts:91-101","note":"calls buildGraph","lines":[{"n":92,"sign":" ","text":" return buildGraph(dir, {"}]},{"label":"checkGraph · src/engine.ts:82-84","note":"calls checkGraph","lines":[{"n":82,"sign":" ","text":" checkGraph(dir: string): Promise\u003cGraphCheckResult> {"}]}],"owners":[{"name":"anirudhkumar-nanonets","handle":"anirudhkumar-nanonets","commits":38,"last":"2026-09-02"},{"name":"Shrish Dwivedi","handle":"shhdwi","commits":24,"last":"2026-08-13"}]},{"id":"affected:scripts/","name":"Viewer Build Script","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: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"}]},
204+
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"}]},
205205
codeGraph: null
206206
};</script>
207207
<script type="module">

0 commit comments

Comments
 (0)