Dev Intel Pipeline v2 — multi-language semantic graph extractor
Phase 1: extract.js — tree-sitter AST parser (TS/JS/Python/Go/Java/Bash) + config parsers (YAML/HCL) Phase 2: graph.js — in-memory directed graph store with build/query/diff CLI Phase 3: namespace.js — cross-repo namespace registry with 3-tier resolution Phase 4: semantic-diff.js — categorized diffs with impact scoring (0-100) Phase 5: pipeline.js — batch extraction, incremental diffing, benchmarking Benchmark: 4,325 files, 21,646 nodes, 133,979 edges in 67s (15ms/file) BMad SPA reviews: all phases GO
This commit is contained in:
234
test/ground-truth/route.json
Normal file
234
test/ground-truth/route.json
Normal file
@@ -0,0 +1,234 @@
|
||||
{
|
||||
"file": "/app/src/cli/route.ts",
|
||||
"language": "typescript",
|
||||
"entities": [
|
||||
{
|
||||
"id": "cli/route.ts",
|
||||
"type": "Module",
|
||||
"name": "cli/route.ts",
|
||||
"kind": "module",
|
||||
"visibility": "public",
|
||||
"line_range": [
|
||||
1,
|
||||
48
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:infra/env.js",
|
||||
"type": "Dependency",
|
||||
"name": "infra/env.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:runtime.js",
|
||||
"type": "Dependency",
|
||||
"name": "runtime.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
2,
|
||||
2
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:version.js",
|
||||
"type": "Dependency",
|
||||
"name": "version.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
3,
|
||||
3
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:cli/argv.js",
|
||||
"type": "Dependency",
|
||||
"name": "cli/argv.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
4,
|
||||
4
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:cli/banner.js",
|
||||
"type": "Dependency",
|
||||
"name": "cli/banner.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
5,
|
||||
5
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:cli/plugin-registry.js",
|
||||
"type": "Dependency",
|
||||
"name": "cli/plugin-registry.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
6,
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:cli/program/config-guard.js",
|
||||
"type": "Dependency",
|
||||
"name": "cli/program/config-guard.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
7,
|
||||
7
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dep:cli/program/routes.js",
|
||||
"type": "Dependency",
|
||||
"name": "cli/program/routes.js",
|
||||
"kind": "import",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
8,
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cli/route.ts:prepareRoutedCommand",
|
||||
"type": "Function",
|
||||
"name": "prepareRoutedCommand",
|
||||
"kind": "function",
|
||||
"visibility": "internal",
|
||||
"line_range": [
|
||||
10,
|
||||
27
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cli/route.ts:tryRouteCli",
|
||||
"type": "Function",
|
||||
"name": "tryRouteCli",
|
||||
"kind": "function",
|
||||
"visibility": "public",
|
||||
"line_range": [
|
||||
29,
|
||||
47
|
||||
]
|
||||
}
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:infra/env.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:runtime.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:version.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:cli/argv.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:cli/banner.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:cli/plugin-registry.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:cli/program/config-guard.js"
|
||||
},
|
||||
{
|
||||
"type": "IMPORTS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "dep:cli/program/routes.js"
|
||||
},
|
||||
{
|
||||
"type": "CONTAINS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "cli/route.ts:prepareRoutedCommand"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:prepareRoutedCommand",
|
||||
"target": "hasFlag"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:prepareRoutedCommand",
|
||||
"target": "emitCliBanner"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:prepareRoutedCommand",
|
||||
"target": "ensureConfigReady"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:prepareRoutedCommand",
|
||||
"target": "params.loadPlugins"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:prepareRoutedCommand",
|
||||
"target": "ensurePluginRegistryLoaded"
|
||||
},
|
||||
{
|
||||
"type": "CONTAINS",
|
||||
"source": "cli/route.ts",
|
||||
"target": "cli/route.ts:tryRouteCli"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "isTruthyEnvValue"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "hasHelpOrVersion"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "getCommandPathWithRootOptions"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "findRoutedCommand"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "prepareRoutedCommand"
|
||||
},
|
||||
{
|
||||
"type": "CALLS",
|
||||
"source": "cli/route.ts:tryRouteCli",
|
||||
"target": "route.run"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user