sdl-mcp 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +93 -97
  2. package/config/benchmark.ci.config.json +2 -2
  3. package/config/benchmark.ci.windows.config.json +2 -2
  4. package/config/sdlmcp.config.example.json +1 -1
  5. package/config/sdlmcp.config.json +1 -1
  6. package/config/sdlmcp.config.json.sample +1 -1
  7. package/config/sdlmcp.config.schema.json +12 -40
  8. package/dist/agent/orchestrator.js +5 -5
  9. package/dist/agent/orchestrator.js.map +1 -1
  10. package/dist/cli/commands/benchmark.js +12 -12
  11. package/dist/cli/commands/benchmark.js.map +1 -1
  12. package/dist/cli/commands/doctor.d.ts.map +1 -1
  13. package/dist/cli/commands/doctor.js +87 -65
  14. package/dist/cli/commands/doctor.js.map +1 -1
  15. package/dist/cli/commands/health.js +2 -2
  16. package/dist/cli/commands/health.js.map +1 -1
  17. package/dist/cli/commands/index.js +7 -7
  18. package/dist/cli/commands/index.js.map +1 -1
  19. package/dist/cli/commands/init.js +12 -12
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/serve.js +6 -6
  22. package/dist/cli/commands/serve.js.map +1 -1
  23. package/dist/cli/transport/http.js +16 -16
  24. package/dist/cli/transport/http.js.map +1 -1
  25. package/dist/code/gate.js +6 -6
  26. package/dist/code/gate.js.map +1 -1
  27. package/dist/code/hotpath.d.ts.map +1 -1
  28. package/dist/code/hotpath.js +55 -14
  29. package/dist/code/hotpath.js.map +1 -1
  30. package/dist/code/redact.d.ts.map +1 -1
  31. package/dist/code/redact.js +8 -4
  32. package/dist/code/redact.js.map +1 -1
  33. package/dist/code/skeleton.d.ts.map +1 -1
  34. package/dist/code/skeleton.js +271 -47
  35. package/dist/code/skeleton.js.map +1 -1
  36. package/dist/code/windows.js +6 -6
  37. package/dist/code/windows.js.map +1 -1
  38. package/dist/config/constants.d.ts +2 -2
  39. package/dist/config/constants.js +2 -2
  40. package/dist/config/types.d.ts +1 -1
  41. package/dist/config/types.js +1 -1
  42. package/dist/db/graph-db-path.d.ts +1 -1
  43. package/dist/db/graph-db-path.js +1 -1
  44. package/dist/db/initGraphDb.js +2 -2
  45. package/dist/db/initGraphDb.js.map +1 -1
  46. package/dist/db/{kuzu-clusters.d.ts → ladybug-clusters.d.ts} +3 -3
  47. package/dist/db/ladybug-clusters.d.ts.map +1 -0
  48. package/dist/db/{kuzu-clusters.js → ladybug-clusters.js} +2 -2
  49. package/dist/db/ladybug-clusters.js.map +1 -0
  50. package/dist/db/{kuzu-config.d.ts → ladybug-config.d.ts} +3 -3
  51. package/dist/db/ladybug-config.d.ts.map +1 -0
  52. package/dist/db/{kuzu-config.js → ladybug-config.js} +2 -2
  53. package/dist/db/ladybug-config.js.map +1 -0
  54. package/dist/db/{kuzu-core.d.ts → ladybug-core.d.ts} +3 -5
  55. package/dist/db/ladybug-core.d.ts.map +1 -0
  56. package/dist/db/{kuzu-core.js → ladybug-core.js} +5 -19
  57. package/dist/db/ladybug-core.js.map +1 -0
  58. package/dist/db/{kuzu-edges.d.ts → ladybug-edges.d.ts} +3 -3
  59. package/dist/db/ladybug-edges.d.ts.map +1 -0
  60. package/dist/db/{kuzu-edges.js → ladybug-edges.js} +3 -3
  61. package/dist/db/ladybug-edges.js.map +1 -0
  62. package/dist/db/{kuzu-embeddings.d.ts → ladybug-embeddings.d.ts} +3 -3
  63. package/dist/db/ladybug-embeddings.d.ts.map +1 -0
  64. package/dist/db/{kuzu-embeddings.js → ladybug-embeddings.js} +2 -2
  65. package/dist/db/ladybug-embeddings.js.map +1 -0
  66. package/dist/db/{kuzu-feedback.d.ts → ladybug-feedback.d.ts} +3 -3
  67. package/dist/db/ladybug-feedback.d.ts.map +1 -0
  68. package/dist/db/{kuzu-feedback.js → ladybug-feedback.js} +5 -3
  69. package/dist/db/ladybug-feedback.js.map +1 -0
  70. package/dist/db/{kuzu-metrics.d.ts → ladybug-metrics.d.ts} +9 -4
  71. package/dist/db/ladybug-metrics.d.ts.map +1 -0
  72. package/dist/db/{kuzu-metrics.js → ladybug-metrics.js} +30 -3
  73. package/dist/db/ladybug-metrics.js.map +1 -0
  74. package/dist/db/{kuzu-processes.d.ts → ladybug-processes.d.ts} +3 -3
  75. package/dist/db/ladybug-processes.d.ts.map +1 -0
  76. package/dist/db/{kuzu-processes.js → ladybug-processes.js} +2 -2
  77. package/dist/db/ladybug-processes.js.map +1 -0
  78. package/dist/db/ladybug-queries.d.ts +33 -0
  79. package/dist/db/ladybug-queries.d.ts.map +1 -0
  80. package/dist/db/ladybug-queries.js +45 -0
  81. package/dist/db/ladybug-queries.js.map +1 -0
  82. package/dist/db/{kuzu-repos.d.ts → ladybug-repos.d.ts} +3 -3
  83. package/dist/db/ladybug-repos.d.ts.map +1 -0
  84. package/dist/db/{kuzu-repos.js → ladybug-repos.js} +2 -2
  85. package/dist/db/ladybug-repos.js.map +1 -0
  86. package/dist/db/{kuzu-schema.d.ts → ladybug-schema.d.ts} +5 -5
  87. package/dist/db/ladybug-schema.d.ts.map +1 -0
  88. package/dist/db/{kuzu-schema.js → ladybug-schema.js} +11 -24
  89. package/dist/db/ladybug-schema.js.map +1 -0
  90. package/dist/db/{kuzu-slices.d.ts → ladybug-slices.d.ts} +3 -3
  91. package/dist/db/ladybug-slices.d.ts.map +1 -0
  92. package/dist/db/{kuzu-slices.js → ladybug-slices.js} +2 -2
  93. package/dist/db/ladybug-slices.js.map +1 -0
  94. package/dist/db/{kuzu-symbols.d.ts → ladybug-symbols.d.ts} +3 -3
  95. package/dist/db/ladybug-symbols.d.ts.map +1 -0
  96. package/dist/db/{kuzu-symbols.js → ladybug-symbols.js} +2 -2
  97. package/dist/db/ladybug-symbols.js.map +1 -0
  98. package/dist/db/{kuzu-versions.d.ts → ladybug-versions.d.ts} +3 -3
  99. package/dist/db/ladybug-versions.d.ts.map +1 -0
  100. package/dist/db/{kuzu-versions.js → ladybug-versions.js} +2 -2
  101. package/dist/db/ladybug-versions.js.map +1 -0
  102. package/dist/db/ladybug.d.ts +11 -0
  103. package/dist/db/ladybug.d.ts.map +1 -0
  104. package/dist/db/ladybug.js +260 -0
  105. package/dist/db/ladybug.js.map +1 -0
  106. package/dist/delta/blastRadius.js +1 -1
  107. package/dist/delta/blastRadius.js.map +1 -1
  108. package/dist/delta/diff.d.ts +2 -2
  109. package/dist/delta/diff.d.ts.map +1 -1
  110. package/dist/delta/diff.js +5 -5
  111. package/dist/delta/diff.js.map +1 -1
  112. package/dist/delta/versioning.d.ts +6 -6
  113. package/dist/delta/versioning.d.ts.map +1 -1
  114. package/dist/delta/versioning.js +17 -17
  115. package/dist/delta/versioning.js.map +1 -1
  116. package/dist/graph/buildGraph.d.ts +1 -1
  117. package/dist/graph/buildGraph.d.ts.map +1 -1
  118. package/dist/graph/buildGraph.js +1 -64
  119. package/dist/graph/buildGraph.js.map +1 -1
  120. package/dist/graph/cluster.js +5 -5
  121. package/dist/graph/cluster.js.map +1 -1
  122. package/dist/graph/metrics.d.ts +1 -1
  123. package/dist/graph/metrics.d.ts.map +1 -1
  124. package/dist/graph/metrics.js +55 -16
  125. package/dist/graph/metrics.js.map +1 -1
  126. package/dist/graph/overview.js +17 -17
  127. package/dist/graph/overview.js.map +1 -1
  128. package/dist/graph/prefetch.d.ts.map +1 -1
  129. package/dist/graph/prefetch.js +17 -10
  130. package/dist/graph/prefetch.js.map +1 -1
  131. package/dist/graph/process.d.ts.map +1 -1
  132. package/dist/graph/process.js +9 -10
  133. package/dist/graph/process.js.map +1 -1
  134. package/dist/graph/slice/beam-search-engine.d.ts +1 -1
  135. package/dist/graph/slice/beam-search-engine.d.ts.map +1 -1
  136. package/dist/graph/slice/beam-search-engine.js +11 -11
  137. package/dist/graph/slice/beam-search-engine.js.map +1 -1
  138. package/dist/graph/slice/start-node-resolver.d.ts +1 -1
  139. package/dist/graph/slice/start-node-resolver.d.ts.map +1 -1
  140. package/dist/graph/slice/start-node-resolver.js +112 -22
  141. package/dist/graph/slice/start-node-resolver.js.map +1 -1
  142. package/dist/graph/slice.d.ts +1 -1
  143. package/dist/graph/slice.d.ts.map +1 -1
  144. package/dist/graph/slice.js +43 -25
  145. package/dist/graph/slice.js.map +1 -1
  146. package/dist/indexer/adapter/kotlin.d.ts.map +1 -1
  147. package/dist/indexer/adapter/kotlin.js +11 -1
  148. package/dist/indexer/adapter/kotlin.js.map +1 -1
  149. package/dist/indexer/adapter/plugin/loader.d.ts +1 -1
  150. package/dist/indexer/adapter/plugin/loader.d.ts.map +1 -1
  151. package/dist/indexer/adapter/plugin/loader.js +19 -2
  152. package/dist/indexer/adapter/plugin/loader.js.map +1 -1
  153. package/dist/indexer/ann-index.d.ts +3 -3
  154. package/dist/indexer/ann-index.d.ts.map +1 -1
  155. package/dist/indexer/ann-index.js +9 -9
  156. package/dist/indexer/ann-index.js.map +1 -1
  157. package/dist/indexer/cluster-orchestrator.js +10 -10
  158. package/dist/indexer/cluster-orchestrator.js.map +1 -1
  159. package/dist/indexer/configEdges.d.ts +2 -2
  160. package/dist/indexer/configEdges.d.ts.map +1 -1
  161. package/dist/indexer/configEdges.js.map +1 -1
  162. package/dist/indexer/edge-builder/cleanup.js +5 -5
  163. package/dist/indexer/edge-builder/cleanup.js.map +1 -1
  164. package/dist/indexer/edge-builder/import-resolution.js +5 -5
  165. package/dist/indexer/edge-builder/import-resolution.js.map +1 -1
  166. package/dist/indexer/edge-builder/pass2.d.ts.map +1 -1
  167. package/dist/indexer/edge-builder/pass2.js +26 -15
  168. package/dist/indexer/edge-builder/pass2.js.map +1 -1
  169. package/dist/indexer/edge-builder/pending.js +4 -4
  170. package/dist/indexer/edge-builder/pending.js.map +1 -1
  171. package/dist/indexer/edge-builder/symbol-index.js +4 -4
  172. package/dist/indexer/edge-builder/symbol-index.js.map +1 -1
  173. package/dist/indexer/embeddings.d.ts +4 -4
  174. package/dist/indexer/embeddings.d.ts.map +1 -1
  175. package/dist/indexer/embeddings.js +9 -9
  176. package/dist/indexer/embeddings.js.map +1 -1
  177. package/dist/indexer/fileScanner.d.ts.map +1 -1
  178. package/dist/indexer/fileScanner.js +1 -0
  179. package/dist/indexer/fileScanner.js.map +1 -1
  180. package/dist/indexer/indexer.d.ts +1 -1
  181. package/dist/indexer/indexer.d.ts.map +1 -1
  182. package/dist/indexer/indexer.js +63 -18
  183. package/dist/indexer/indexer.js.map +1 -1
  184. package/dist/indexer/metrics-updater.js +4 -4
  185. package/dist/indexer/metrics-updater.js.map +1 -1
  186. package/dist/indexer/parser/helpers.d.ts +21 -1
  187. package/dist/indexer/parser/helpers.d.ts.map +1 -1
  188. package/dist/indexer/parser/helpers.js +29 -4
  189. package/dist/indexer/parser/helpers.js.map +1 -1
  190. package/dist/indexer/parser/process-file.d.ts +2 -2
  191. package/dist/indexer/parser/process-file.d.ts.map +1 -1
  192. package/dist/indexer/parser/process-file.js +83 -107
  193. package/dist/indexer/parser/process-file.js.map +1 -1
  194. package/dist/indexer/parser/rust-process-file.d.ts +2 -2
  195. package/dist/indexer/parser/rust-process-file.d.ts.map +1 -1
  196. package/dist/indexer/parser/rust-process-file.js +56 -21
  197. package/dist/indexer/parser/rust-process-file.js.map +1 -1
  198. package/dist/indexer/pass2/resolvers/go-pass2-resolver.d.ts.map +1 -1
  199. package/dist/indexer/pass2/resolvers/go-pass2-resolver.js +25 -15
  200. package/dist/indexer/pass2/resolvers/go-pass2-resolver.js.map +1 -1
  201. package/dist/indexer/rustIndexer.d.ts.map +1 -1
  202. package/dist/indexer/rustIndexer.js +10 -3
  203. package/dist/indexer/rustIndexer.js.map +1 -1
  204. package/dist/indexer/scanner.d.ts +2 -2
  205. package/dist/indexer/scanner.d.ts.map +1 -1
  206. package/dist/indexer/scanner.js +5 -5
  207. package/dist/indexer/scanner.js.map +1 -1
  208. package/dist/indexer/summary-generator.js +9 -9
  209. package/dist/indexer/summary-generator.js.map +1 -1
  210. package/dist/indexer/treesitter/grammarLoader.d.ts +18 -0
  211. package/dist/indexer/treesitter/grammarLoader.d.ts.map +1 -1
  212. package/dist/indexer/treesitter/grammarLoader.js +50 -3
  213. package/dist/indexer/treesitter/grammarLoader.js.map +1 -1
  214. package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -1
  215. package/dist/indexer/treesitter/tsTreesitter.js +50 -3
  216. package/dist/indexer/treesitter/tsTreesitter.js.map +1 -1
  217. package/dist/indexer/watcher.d.ts.map +1 -1
  218. package/dist/indexer/watcher.js +25 -16
  219. package/dist/indexer/watcher.js.map +1 -1
  220. package/dist/live-index/coordinator.js +4 -4
  221. package/dist/live-index/coordinator.js.map +1 -1
  222. package/dist/live-index/dependency-frontier.js +6 -6
  223. package/dist/live-index/dependency-frontier.js.map +1 -1
  224. package/dist/live-index/draft-parser.d.ts +1 -1
  225. package/dist/live-index/draft-parser.d.ts.map +1 -1
  226. package/dist/live-index/draft-parser.js +5 -5
  227. package/dist/live-index/draft-parser.js.map +1 -1
  228. package/dist/live-index/file-patcher.js +13 -13
  229. package/dist/live-index/file-patcher.js.map +1 -1
  230. package/dist/live-index/overlay-merge.d.ts +1 -1
  231. package/dist/live-index/overlay-merge.d.ts.map +1 -1
  232. package/dist/live-index/overlay-reader.d.ts +1 -1
  233. package/dist/live-index/overlay-reader.d.ts.map +1 -1
  234. package/dist/live-index/overlay-reader.js +5 -5
  235. package/dist/live-index/overlay-reader.js.map +1 -1
  236. package/dist/live-index/reconcile-worker.js +4 -4
  237. package/dist/live-index/reconcile-worker.js.map +1 -1
  238. package/dist/main.js +2 -2
  239. package/dist/main.js.map +1 -1
  240. package/dist/mcp/health.d.ts.map +1 -1
  241. package/dist/mcp/health.js +19 -9
  242. package/dist/mcp/health.js.map +1 -1
  243. package/dist/mcp/resources.js +14 -14
  244. package/dist/mcp/resources.js.map +1 -1
  245. package/dist/mcp/summary.js +13 -13
  246. package/dist/mcp/summary.js.map +1 -1
  247. package/dist/mcp/telemetry.js +6 -6
  248. package/dist/mcp/telemetry.js.map +1 -1
  249. package/dist/mcp/token-usage.js +4 -4
  250. package/dist/mcp/token-usage.js.map +1 -1
  251. package/dist/mcp/tools/agent-feedback.js +11 -11
  252. package/dist/mcp/tools/agent-feedback.js.map +1 -1
  253. package/dist/mcp/tools/code.js +15 -15
  254. package/dist/mcp/tools/code.js.map +1 -1
  255. package/dist/mcp/tools/delta.js +5 -5
  256. package/dist/mcp/tools/delta.js.map +1 -1
  257. package/dist/mcp/tools/policy.d.ts.map +1 -1
  258. package/dist/mcp/tools/policy.js +29 -9
  259. package/dist/mcp/tools/policy.js.map +1 -1
  260. package/dist/mcp/tools/prRisk.js +2 -2
  261. package/dist/mcp/tools/prRisk.js.map +1 -1
  262. package/dist/mcp/tools/repo.d.ts.map +1 -1
  263. package/dist/mcp/tools/repo.js +34 -23
  264. package/dist/mcp/tools/repo.js.map +1 -1
  265. package/dist/mcp/tools/slice.js +22 -22
  266. package/dist/mcp/tools/slice.js.map +1 -1
  267. package/dist/mcp/tools/symbol-utils.d.ts +1 -1
  268. package/dist/mcp/tools/symbol-utils.d.ts.map +1 -1
  269. package/dist/mcp/tools/symbol.js +18 -18
  270. package/dist/mcp/tools/symbol.js.map +1 -1
  271. package/dist/mcp/tools.d.ts +241 -0
  272. package/dist/mcp/tools.d.ts.map +1 -1
  273. package/dist/mcp/tools.js +41 -13
  274. package/dist/mcp/tools.js.map +1 -1
  275. package/dist/sync/pull.js +4 -4
  276. package/dist/sync/pull.js.map +1 -1
  277. package/dist/sync/sync.js +24 -24
  278. package/dist/sync/sync.js.map +1 -1
  279. package/dist/ts/diagnostics.d.ts.map +1 -1
  280. package/dist/ts/diagnostics.js +19 -5
  281. package/dist/ts/diagnostics.js.map +1 -1
  282. package/dist/ts/mapping.d.ts.map +1 -1
  283. package/dist/ts/mapping.js +10 -9
  284. package/dist/ts/mapping.js.map +1 -1
  285. package/dist/util/pidfile.d.ts +1 -1
  286. package/dist/util/pidfile.js +1 -1
  287. package/dist/util/safeRegex.d.ts.map +1 -1
  288. package/dist/util/safeRegex.js +19 -9
  289. package/dist/util/safeRegex.js.map +1 -1
  290. package/dist/util/shutdown.d.ts +2 -2
  291. package/dist/util/shutdown.js +2 -2
  292. package/package.json +4 -4
  293. package/dist/db/kuzu-clusters.d.ts.map +0 -1
  294. package/dist/db/kuzu-clusters.js.map +0 -1
  295. package/dist/db/kuzu-config.d.ts.map +0 -1
  296. package/dist/db/kuzu-config.js.map +0 -1
  297. package/dist/db/kuzu-core.d.ts.map +0 -1
  298. package/dist/db/kuzu-core.js.map +0 -1
  299. package/dist/db/kuzu-edges.d.ts.map +0 -1
  300. package/dist/db/kuzu-edges.js.map +0 -1
  301. package/dist/db/kuzu-embeddings.d.ts.map +0 -1
  302. package/dist/db/kuzu-embeddings.js.map +0 -1
  303. package/dist/db/kuzu-feedback.d.ts.map +0 -1
  304. package/dist/db/kuzu-feedback.js.map +0 -1
  305. package/dist/db/kuzu-metrics.d.ts.map +0 -1
  306. package/dist/db/kuzu-metrics.js.map +0 -1
  307. package/dist/db/kuzu-processes.d.ts.map +0 -1
  308. package/dist/db/kuzu-processes.js.map +0 -1
  309. package/dist/db/kuzu-queries.d.ts +0 -33
  310. package/dist/db/kuzu-queries.d.ts.map +0 -1
  311. package/dist/db/kuzu-queries.js +0 -45
  312. package/dist/db/kuzu-queries.js.map +0 -1
  313. package/dist/db/kuzu-repos.d.ts.map +0 -1
  314. package/dist/db/kuzu-repos.js.map +0 -1
  315. package/dist/db/kuzu-schema.d.ts.map +0 -1
  316. package/dist/db/kuzu-schema.js.map +0 -1
  317. package/dist/db/kuzu-slices.d.ts.map +0 -1
  318. package/dist/db/kuzu-slices.js.map +0 -1
  319. package/dist/db/kuzu-symbols.d.ts.map +0 -1
  320. package/dist/db/kuzu-symbols.js.map +0 -1
  321. package/dist/db/kuzu-versions.d.ts.map +0 -1
  322. package/dist/db/kuzu-versions.js.map +0 -1
  323. package/dist/db/kuzu.d.ts +0 -11
  324. package/dist/db/kuzu.d.ts.map +0 -1
  325. package/dist/db/kuzu.js +0 -217
  326. package/dist/db/kuzu.js.map +0 -1
package/README.md CHANGED
@@ -7,11 +7,7 @@
7
7
  # SDL-MCP
8
8
 
9
9
  ![npm version](https://img.shields.io/npm/v/sdl-mcp.svg) ![npm downloads](https://img.shields.io/npm/dm/sdl-mcp.svg) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/GlitterKill/sdl-mcp/ci.yml?label=CI%20Builds)
10
- ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/GlitterKill/sdl-mcp/publish-native.yml?label=Rust%20Indexer%20Builds) ![GitHub commit activity](https://img.shields.io/github/commit-activity/w/GlitterKill/sdl-mcp)
11
-
12
-
13
-
14
-
10
+ ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/GlitterKill/sdl-mcp/publish-native.yml?label=Rust%20Indexer%20Builds) ![GitHub commit activity](https://img.shields.io/github/commit-activity/w/GlitterKill/sdl-mcp)
15
11
 
16
12
  <div align="right">
17
13
  <details>
@@ -33,143 +29,143 @@
33
29
  ## Claude Opus 4.6 High Overview
34
30
 
35
31
  Question: "Review the code for SDL-MCP and explain to potential new users what this MCP server does and the benefits of
36
- using it."
32
+ using it."
37
33
 
38
34
  Response: "# What is SDL-MCP?
39
35
 
40
- **SDL-MCP** (Symbol Delta Ledger - Model Context Protocol) is an MCP server that gives AI coding agents a structured,
41
- token-efficient way to understand your codebase. Instead of feeding entire files into the context window, SDL-MCP
42
- indexes your repository into a **searchable knowledge graph** of symbols and their relationships, then serves exactly
43
- the right amount of context through a controlled escalation path.
36
+ **SDL-MCP** (Symbol Delta Ledger - Model Context Protocol) is an MCP server that gives AI coding agents a structured,
37
+ token-efficient way to understand your codebase. Instead of feeding entire files into the context window, SDL-MCP
38
+ indexes your repository into a **searchable knowledge graph** of symbols and their relationships, then serves exactly
39
+ the right amount of context through a controlled escalation path.
44
40
 
45
- It ships as an npm package (`npm install -g sdl-mcp`) with a CLI for setup and a server that any MCP-compatible client
46
- (Claude Code, Claude Desktop, etc.) can connect to.
41
+ It ships as an npm package (`npm install -g sdl-mcp`) with a CLI for setup and a server that any MCP-compatible client
42
+ (Claude Code, Claude Desktop, etc.) can connect to.
47
43
 
48
- ---
44
+ ---
49
45
 
50
- ## The Problem It Solves
46
+ ## The Problem It Solves
51
47
 
52
- When AI assistants work with code, they typically read whole files — often many of them — to gather enough context.
53
- This has three costs:
48
+ When AI assistants work with code, they typically read whole files — often many of them — to gather enough context.
49
+ This has three costs:
54
50
 
55
- 1. **Context windows fill up fast.** A modest codebase can exceed token limits quickly.
56
- 2. **Irrelevant code dilutes focus.** Tokens are spent on code unrelated to the task.
57
- 3. **No incremental understanding.** Every interaction starts fresh with no memory of what was already analyzed.
51
+ 1. **Context windows fill up fast.** A modest codebase can exceed token limits quickly.
52
+ 2. **Irrelevant code dilutes focus.** Tokens are spent on code unrelated to the task.
53
+ 3. **No incremental understanding.** Every interaction starts fresh with no memory of what was already analyzed.
58
54
 
59
- SDL-MCP addresses all three by maintaining a **persistent, indexed graph** of your codebase and controlling context
60
- retrieval through the **Iris Gate Ladder**.
55
+ SDL-MCP addresses all three by maintaining a **persistent, indexed graph** of your codebase and controlling context
56
+ retrieval through the **Iris Gate Ladder**.
61
57
 
62
- ---
58
+ ---
63
59
 
64
- ## How It Works
60
+ ## How It Works
65
61
 
66
- ### 1. Repository Indexing
62
+ ### 1. Repository Indexing
67
63
 
68
- SDL-MCP parses your codebase using either a **native Rust indexer** (default, fast, multi-threaded) or a **tree-sitter
69
- TypeScript fallback**, and extracts every function, class, interface, type, and variable into **Symbol Cards** —
70
- compact metadata records containing signatures, summaries, dependency edges, and metrics like fan-in/out.
64
+ SDL-MCP parses your codebase using either a **native Rust indexer** (default, fast, multi-threaded) or a **tree-sitter
65
+ TypeScript fallback**, and extracts every function, class, interface, type, and variable into **Symbol Cards** —
66
+ compact metadata records containing signatures, summaries, dependency edges, and metrics like fan-in/out.
71
67
 
72
- **12 languages supported:** TypeScript, JavaScript, Python, Go, Java, C#, C, C++, PHP, Rust, Kotlin, and Shell.
68
+ **12 languages supported:** TypeScript, JavaScript, Python, Go, Java, C#, C, C++, PHP, Rust, Kotlin, and Shell.
73
69
 
74
- Indexing happens once and is persisted in a **KuzuDB embedded graph database**. Incremental re-indexing picks up only
75
- what changed.
70
+ Indexing happens once and is persisted in a **LadybugDB embedded graph database**. Incremental re-indexing picks up only
71
+ what changed.
76
72
 
77
- ### 2. The Iris Gate Ladder (4 Rungs)
73
+ ### 2. The Iris Gate Ladder (4 Rungs)
78
74
 
79
- Context is served in escalating detail — agents start small and only request more when needed:
75
+ Context is served in escalating detail — agents start small and only request more when needed:
80
76
 
81
- | Rung | Tool | ~Tokens | What It Provides |
82
- | :--- | :--- | :--- | :--- |
83
- | **1. Symbol Cards** | `sdl.symbol.getCard` | 50–150 | Name, signature, summary, dependencies, metrics |
84
- | **2. Skeleton IR** | `sdl.code.getSkeleton` | 200–400 | Signatures + control flow, bodies elided |
85
- | **3. Hot-Path Excerpt** | `sdl.code.getHotPath` | 400–800 | Lines matching specific identifiers + context |
86
- | **4. Raw Code Window** | `sdl.code.needWindow` | 1,000–4,000 | Full source code (policy-gated, requires
87
- justification) |
77
+ | Rung | Tool | ~Tokens | What It Provides |
78
+ | :---------------------- | :--------------------- | :---------- | :---------------------------------------------- |
79
+ | **1. Symbol Cards** | `sdl.symbol.getCard` | 50–150 | Name, signature, summary, dependencies, metrics |
80
+ | **2. Skeleton IR** | `sdl.code.getSkeleton` | 200–400 | Signatures + control flow, bodies elided |
81
+ | **3. Hot-Path Excerpt** | `sdl.code.getHotPath` | 400–800 | Lines matching specific identifiers + context |
82
+ | **4. Raw Code Window** | `sdl.code.needWindow` | 1,000–4,000 | Full source code (policy-gated, requires |
83
+ | justification) |
88
84
 
89
- > [!TIP]
90
- > Most questions are answered at rungs 1–2 without ever reading raw code.
85
+ > [!TIP]
86
+ > Most questions are answered at rungs 1–2 without ever reading raw code.
91
87
 
92
- ### 3. Graph Slices
88
+ ### 3. Graph Slices
93
89
 
94
- When the agent needs broader context for a task, `sdl.slice.build` performs a **BFS/beam search** from entry symbols
95
- across weighted dependency edges (call > config > import), bounded by a token budget. The result is the 20–30 most
96
- relevant symbols for the task — not an arbitrary directory listing.
90
+ When the agent needs broader context for a task, `sdl.slice.build` performs a **BFS/beam search** from entry symbols
91
+ across weighted dependency edges (call > config > import), bounded by a token budget. The result is the 20–30 most
92
+ relevant symbols for the task — not an arbitrary directory listing.
97
93
 
98
- ### 4. Delta Packs & Blast Radius
94
+ ### 4. Delta Packs & Blast Radius
99
95
 
100
- When code changes, SDL-MCP computes **semantic diffs at the symbol level** — not line-level diffs, but changes to
101
- signatures, invariants, and side effects. It also computes a **blast radius**: which other symbols are affected,
102
- ranked by proximity, fan-in, and test coverage.
96
+ When code changes, SDL-MCP computes **semantic diffs at the symbol level** — not line-level diffs, but changes to
97
+ signatures, invariants, and side effects. It also computes a **blast radius**: which other symbols are affected,
98
+ ranked by proximity, fan-in, and test coverage.
103
99
 
104
- ### 5. Proof-of-Need Gating
100
+ ### 5. Proof-of-Need Gating
105
101
 
106
- Raw code access (rung 4) requires the agent to justify _why_ it needs the code, _what identifiers_ it expects to find,
107
- and _how many lines_. Requests are audited. This enforces disciplined token usage.
102
+ Raw code access (rung 4) requires the agent to justify _why_ it needs the code, _what identifiers_ it expects to find,
103
+ and _how many lines_. Requests are audited. This enforces disciplined token usage.
108
104
 
109
- ---
105
+ ---
110
106
 
111
- ## Key Benefits
107
+ ## Key Benefits
112
108
 
113
- ### Token Efficiency
109
+ ### Token Efficiency
114
110
 
115
- - **10–50x fewer tokens** per coding task compared to reading raw files
116
- - **2,782x compression ratio** for a repository overview vs. a full card dump
111
+ - **10–50x fewer tokens** per coding task compared to reading raw files
112
+ - **2,782x compression ratio** for a repository overview vs. a full card dump
117
113
 
118
- ### Better Relevance
114
+ ### Better Relevance
119
115
 
120
- - Graph-based slicing finds related code that directory-based approaches miss
121
- - Confidence-scored call resolution filters noise from low-confidence edges
116
+ - Graph-based slicing finds related code that directory-based approaches miss
117
+ - Confidence-scored call resolution filters noise from low-confidence edges
122
118
 
123
- ### Incremental Understanding
119
+ ### Incremental Understanding
124
120
 
125
- - Delta packs mean the agent doesn't re-read unchanged code
126
- - Slice handles with leases and refresh support avoid rebuilding context from scratch
121
+ - Delta packs mean the agent doesn't re-read unchanged code
122
+ - Slice handles with leases and refresh support avoid rebuilding context from scratch
127
123
 
128
- ### Governance & Auditability
124
+ ### Governance & Auditability
129
125
 
130
- - Configurable policies control what agents can access
131
- - Every raw code request is logged with justification
132
- - Blast radius analysis shows ripple effects before changes land
126
+ - Configurable policies control what agents can access
127
+ - Every raw code request is logged with justification
128
+ - Blast radius analysis shows ripple effects before changes land
133
129
 
134
- ### Multi-Language
130
+ ### Multi-Language
135
131
 
136
- - 12 language adapters with a generalized pass-2 resolver for cross-file semantic resolution
132
+ - 12 language adapters with a generalized pass-2 resolver for cross-file semantic resolution
137
133
 
138
- ---
134
+ ---
139
135
 
140
- ## Feature Summary
136
+ ## Feature Summary
141
137
 
142
- | Category | Features |
143
- | :--- | :--- |
144
- | **Indexing** | Native Rust + tree-sitter fallback, incremental indexing, live editor-buffer overlay, file watching |
145
- | **Context** | Symbol cards, skeleton IR, hot-path excerpts, gated raw windows |
146
- | **Graph** | Slices with handles/leases/refresh/spillover, cluster detection, call-chain tracing |
147
- | **Change Tracking** | Delta packs, blast radius analysis, PR risk scoring |
148
- | **Intelligence** | Semantic search reranking, LLM-generated summaries, predictive prefetch |
149
- | **Governance** | Policy engine, proof-of-need gating, audit logging |
150
- | **Agent Support** | `sdl.agent.orchestrate` autopilot, `sdl.context.summary` for copy/paste context |
151
- | **Tools** | 17+ MCP tools, 10 CLI commands, HTTP API with graph explorer UI |
152
- | **Integrations** | VSCode extension, Claude Code/Desktop, any MCP client |
138
+ | Category | Features |
139
+ | :------------------ | :-------------------------------------------------------------------------------------------------- |
140
+ | **Indexing** | Native Rust + tree-sitter fallback, incremental indexing, live editor-buffer overlay, file watching |
141
+ | **Context** | Symbol cards, skeleton IR, hot-path excerpts, gated raw windows |
142
+ | **Graph** | Slices with handles/leases/refresh/spillover, cluster detection, call-chain tracing |
143
+ | **Change Tracking** | Delta packs, blast radius analysis, PR risk scoring |
144
+ | **Intelligence** | Semantic search reranking, LLM-generated summaries, predictive prefetch |
145
+ | **Governance** | Policy engine, proof-of-need gating, audit logging |
146
+ | **Agent Support** | `sdl.agent.orchestrate` autopilot, `sdl.context.summary` for copy/paste context |
147
+ | **Tools** | 17+ MCP tools, 10 CLI commands, HTTP API with graph explorer UI |
148
+ | **Integrations** | VSCode extension, Claude Code/Desktop, any MCP client |
153
149
 
154
- ---
150
+ ---
155
151
 
156
- ## Getting Started
152
+ ## Getting Started
157
153
 
158
- ```bash
159
- # Install globally
160
- npm install -g sdl-mcp
154
+ ```bash
155
+ # Install globally
156
+ npm install -g sdl-mcp
161
157
 
162
- # Initialize config + index your repo
163
- sdl-mcp init -y --auto-index
158
+ # Initialize config + index your repo
159
+ sdl-mcp init -y --auto-index
164
160
 
165
- # Start the MCP server
166
- sdl-mcp serve --stdio
161
+ # Start the MCP server
162
+ sdl-mcp serve --stdio
167
163
 
168
- Then point your MCP client at the server — the agent gains access to all SDL-MCP tools and can navigate your codebase
169
- through the Iris Gate Ladder instead of bulk file reads.
164
+ Then point your MCP client at the server — the agent gains access to all SDL-MCP tools and can navigate your codebase
165
+ through the Iris Gate Ladder instead of bulk file reads.
170
166
 
171
- [!NOTE]
172
- See the full ./docs/getting-started.md and ./docs/mcp-tools-reference.md for detailed setup and usage instructions.
167
+ [!NOTE]
168
+ See the full ./docs/getting-started.md and ./docs/mcp-tools-reference.md for detailed setup and usage instructions.
173
169
 
174
170
  ```
175
171
 
@@ -177,7 +173,7 @@ Response: "# What is SDL-MCP?
177
173
 
178
174
  - Multi-language repository indexing with tree-sitter adapters
179
175
  - Native Rust pass-1 indexing engine by default (`indexing.engine: "rust"`, with TypeScript fallback)
180
- - Live editor-buffer indexing with draft-aware symbol/search/slice reads, save-time Kuzu patching, background reconciliation, and automatic checkpoint compaction (`liveIndex.*`)
176
+ - Live editor-buffer indexing with draft-aware symbol/search/slice reads, save-time LadybugDB patching, background reconciliation, and automatic checkpoint compaction (`liveIndex.*`)
181
177
  - Symbol cards with signatures, deps, metrics, and versioning
182
178
  - Graph slices with handles, leases, refresh, and spillover
183
179
  - Graph enrichment: clusters (community detection) + processes (call-chain traces) surfaced in cards/slices/overview/blast radius
@@ -266,6 +262,6 @@ Phase A benchmark lockfile:
266
262
  This project is **source-available**.
267
263
 
268
264
  - **Free Use (Community License):** You may use, run, and modify this software for any purpose, including **internal business use**, under the terms in [`LICENSE`](./LICENSE).
269
- - **Commercial Distribution / Embedding:** You must obtain a **commercial license** *before* you **sell, license, sublicense, bundle, embed, or distribute** this software (or a modified version) **as part of a for-sale or monetized product or offering**. See [`COMMERCIAL_LICENSE.md`](./COMMERCIAL_LICENSE.md).
265
+ - **Commercial Distribution / Embedding:** You must obtain a **commercial license** _before_ you **sell, license, sublicense, bundle, embed, or distribute** this software (or a modified version) **as part of a for-sale or monetized product or offering**. See [`COMMERCIAL_LICENSE.md`](./COMMERCIAL_LICENSE.md).
270
266
 
271
267
  If you're unsure whether your use is "Commercial Distribution / Embedding", contact **gmullins.gkc@gmail.com**.
@@ -7,13 +7,13 @@
7
7
  "maxMs": 2500,
8
8
  "trend": "lower-is-better",
9
9
  "allowableIncreasePercent": 30,
10
- "_comment": "Raised for KuzuDB graph backend: graph writes are inherently slower than SQLite inserts. CI runners see ~1500-1700ms per file."
10
+ "_comment": "Raised for LadybugDB graph backend: graph writes are inherently slower than SQLite inserts. CI runners see ~1500-1700ms per file."
11
11
  },
12
12
  "indexTimePerSymbol": {
13
13
  "maxMs": 150,
14
14
  "trend": "lower-is-better",
15
15
  "allowableIncreasePercent": 30,
16
- "_comment": "Raised for KuzuDB graph backend: per-symbol graph operations cost more than SQLite row inserts."
16
+ "_comment": "Raised for LadybugDB graph backend: per-symbol graph operations cost more than SQLite row inserts."
17
17
  }
18
18
  },
19
19
  "quality": {
@@ -7,13 +7,13 @@
7
7
  "maxMs": 8000,
8
8
  "trend": "lower-is-better",
9
9
  "allowableIncreasePercent": 30,
10
- "_comment": "Raised for KuzuDB graph backend: Windows CI runners see ~4500-6000ms per file."
10
+ "_comment": "Raised for LadybugDB graph backend: Windows CI runners see ~4500-6000ms per file."
11
11
  },
12
12
  "indexTimePerSymbol": {
13
13
  "maxMs": 500,
14
14
  "trend": "lower-is-better",
15
15
  "allowableIncreasePercent": 30,
16
- "_comment": "Raised for KuzuDB graph backend: Windows graph operations cost more."
16
+ "_comment": "Raised for LadybugDB graph backend: Windows graph operations cost more."
17
17
  }
18
18
  },
19
19
  "quality": {
@@ -127,6 +127,6 @@
127
127
  "minBatchSize": null
128
128
  },
129
129
  "graphDatabase": {
130
- "path": "./data/sdl-mcp-graph.kuzu"
130
+ "path": "./data/sdl-mcp-graph.lbug"
131
131
  }
132
132
  }
@@ -107,7 +107,7 @@
107
107
  }
108
108
  ],
109
109
  "graphDatabase": {
110
- "path": "./data/sdl-mcp-graph.kuzu"
110
+ "path": "./data/sdl-mcp-graph.lbug"
111
111
  },
112
112
  "policy": {
113
113
  "maxWindowLines": 180,
@@ -31,7 +31,7 @@
31
31
  }
32
32
  ],
33
33
  "graphDatabase": {
34
- "path": "F:\\Claude\\projects\\sdl-mcp\\sdl-mcp\\data\\sdl-mcp-graph.kuzu"
34
+ "path": "F:\\Claude\\projects\\sdl-mcp\\sdl-mcp\\data\\sdl-mcp-graph.lbug"
35
35
  },
36
36
  "policy": {
37
37
  "maxWindowLines": 180,
@@ -3,20 +3,14 @@
3
3
  "title": "SDL-MCP Configuration",
4
4
  "description": "Configuration schema for SDL-MCP (Symbol Delta Ledger MCP Server)",
5
5
  "type": "object",
6
- "required": [
7
- "repos",
8
- "policy"
9
- ],
6
+ "required": ["repos", "policy"],
10
7
  "properties": {
11
8
  "repos": {
12
9
  "type": "array",
13
10
  "description": "List of repositories to index",
14
11
  "items": {
15
12
  "type": "object",
16
- "required": [
17
- "repoId",
18
- "rootPath"
19
- ],
13
+ "required": ["repoId", "rootPath"],
20
14
  "properties": {
21
15
  "repoId": {
22
16
  "type": "string",
@@ -111,7 +105,7 @@
111
105
  },
112
106
  "dbPath": {
113
107
  "type": "string",
114
- "description": "Deprecated legacy SQLite database path (v0.7.x). Only used by the one-time SQLite→Kuzu migration script in v0.8.",
108
+ "description": "Deprecated legacy SQLite database path (v0.7.x). Only used by the one-time SQLite→LadybugDB migration script in v0.8.",
115
109
  "minLength": 1
116
110
  },
117
111
  "policy": {
@@ -173,9 +167,7 @@
173
167
  "description": "Custom redaction patterns",
174
168
  "items": {
175
169
  "type": "object",
176
- "required": [
177
- "pattern"
178
- ],
170
+ "required": ["pattern"],
179
171
  "properties": {
180
172
  "name": {
181
173
  "type": "string",
@@ -232,10 +224,7 @@
232
224
  "engine": {
233
225
  "type": "string",
234
226
  "description": "Pass-1 indexing engine implementation",
235
- "enum": [
236
- "typescript",
237
- "rust"
238
- ],
227
+ "enum": ["typescript", "rust"],
239
228
  "default": "rust"
240
229
  },
241
230
  "watchDebounceMs": {
@@ -376,10 +365,7 @@
376
365
  "mode": {
377
366
  "type": "string",
378
367
  "description": "Diagnostics mode",
379
- "enum": [
380
- "tsLS",
381
- "tsc"
382
- ],
368
+ "enum": ["tsLS", "tsc"],
383
369
  "default": "tsLS"
384
370
  },
385
371
  "maxErrors": {
@@ -397,10 +383,7 @@
397
383
  "scope": {
398
384
  "type": "string",
399
385
  "description": "Diagnostics scope",
400
- "enum": [
401
- "changedFiles",
402
- "workspace"
403
- ],
386
+ "enum": ["changedFiles", "workspace"],
404
387
  "default": "changedFiles"
405
388
  }
406
389
  },
@@ -500,11 +483,7 @@
500
483
  },
501
484
  "provider": {
502
485
  "type": "string",
503
- "enum": [
504
- "api",
505
- "local",
506
- "mock"
507
- ],
486
+ "enum": ["api", "local", "mock"],
508
487
  "default": "mock"
509
488
  },
510
489
  "model": {
@@ -650,11 +629,7 @@
650
629
  "exporterType": {
651
630
  "type": "string",
652
631
  "description": "Exporter type for traces",
653
- "enum": [
654
- "console",
655
- "otlp",
656
- "memory"
657
- ],
632
+ "enum": ["console", "otlp", "memory"],
658
633
  "default": "console"
659
634
  },
660
635
  "otlpEndpoint": {
@@ -704,14 +679,11 @@
704
679
  },
705
680
  "graphDatabase": {
706
681
  "type": "object",
707
- "description": "KuzuDB graph database configuration for advanced graph queries",
682
+ "description": "LadybugDB graph database configuration for advanced graph queries",
708
683
  "properties": {
709
684
  "path": {
710
- "type": [
711
- "string",
712
- "null"
713
- ],
714
- "description": "Path to the KuzuDB database file",
685
+ "type": ["string", "null"],
686
+ "description": "Path to the LadybugDB database file",
715
687
  "default": null
716
688
  }
717
689
  }
@@ -1,8 +1,8 @@
1
1
  import { Planner } from "./planner.js";
2
2
  import { Executor } from "./executor.js";
3
3
  import { PolicyEngine } from "../policy/engine.js";
4
- import { getKuzuConn } from "../db/kuzu.js";
5
- import * as kuzuDb from "../db/kuzu-queries.js";
4
+ import { getLadybugConn } from "../db/ladybug.js";
5
+ import * as ladybugDb from "../db/ladybug-queries.js";
6
6
  import { ValidationError } from "../domain/errors.js";
7
7
  export class Orchestrator {
8
8
  planner;
@@ -121,8 +121,8 @@ export class Orchestrator {
121
121
  return { expandedContext: context, clusterExpandedCount: 0 };
122
122
  }
123
123
  try {
124
- const conn = await getKuzuConn();
125
- const clustersBySymbol = await kuzuDb.getClustersForSymbols(conn, symbolIds);
124
+ const conn = await getLadybugConn();
125
+ const clustersBySymbol = await ladybugDb.getClustersForSymbols(conn, symbolIds);
126
126
  const clusterIds = new Set();
127
127
  for (const row of clustersBySymbol.values()) {
128
128
  clusterIds.add(row.clusterId);
@@ -130,7 +130,7 @@ export class Orchestrator {
130
130
  if (clusterIds.size === 0) {
131
131
  return { expandedContext: context, clusterExpandedCount: 0 };
132
132
  }
133
- const memberLists = await Promise.all(Array.from(clusterIds).map((clusterId) => kuzuDb.getClusterMembers(conn, clusterId)));
133
+ const memberLists = await Promise.all(Array.from(clusterIds).map((clusterId) => ladybugDb.getClusterMembers(conn, clusterId)));
134
134
  const already = new Set(context);
135
135
  const additional = [];
136
136
  for (const members of memberLists) {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { dirname, resolve } from "path";
4
4
  import { loadConfig } from "../../config/loadConfig.js";
5
5
  import { activateCliConfigPath } from "../../config/configPath.js";
6
6
  import { initGraphDb } from "../../db/initGraphDb.js";
7
- import { getKuzuConn } from "../../db/kuzu.js";
8
- import * as kuzuDb from "../../db/kuzu-queries.js";
7
+ import { getLadybugConn } from "../../db/ladybug.js";
8
+ import * as ladybugDb from "../../db/ladybug-queries.js";
9
9
  import { indexRepo } from "../../indexer/indexer.js";
10
10
  import { buildSlice } from "../../graph/slice.js";
11
11
  import { generateSymbolSkeleton } from "../../code/skeleton.js";
@@ -85,9 +85,9 @@ function estimateTokens(text) {
85
85
  async function buildCardFromSymbol(conn, repoId, symbol, fileRelPath) {
86
86
  if (!fileRelPath)
87
87
  return null;
88
- const latestVersion = await kuzuDb.getLatestVersion(conn, repoId);
89
- const edgesFrom = await kuzuDb.getEdgesFrom(conn, symbol.symbolId);
90
- const metrics = await kuzuDb.getMetrics(conn, symbol.symbolId);
88
+ const latestVersion = await ladybugDb.getLatestVersion(conn, repoId);
89
+ const edgesFrom = await ladybugDb.getEdgesFrom(conn, symbol.symbolId);
90
+ const metrics = await ladybugDb.getMetrics(conn, symbol.symbolId);
91
91
  const signature = symbol.signatureJson
92
92
  ? JSON.parse(symbol.signatureJson)
93
93
  : undefined;
@@ -153,9 +153,9 @@ async function collectBenchmarkMetrics(conn, repoId, _repoPath, skipIndexing) {
153
153
  filesIndexed = indexResult.filesProcessed;
154
154
  }
155
155
  const [allSymbols, edges, files] = await Promise.all([
156
- kuzuDb.getSymbolsByRepo(conn, repoId),
157
- kuzuDb.getEdgesByRepo(conn, repoId),
158
- kuzuDb.getFilesByRepo(conn, repoId),
156
+ ladybugDb.getSymbolsByRepo(conn, repoId),
157
+ ladybugDb.getEdgesByRepo(conn, repoId),
158
+ ladybugDb.getFilesByRepo(conn, repoId),
159
159
  ]);
160
160
  const filesById = new Map(files.map((file) => [file.fileId, file.relPath]));
161
161
  // Ensure benchmark symbol sampling is deterministic across platforms/runs.
@@ -220,7 +220,7 @@ async function collectBenchmarkMetrics(conn, repoId, _repoPath, skipIndexing) {
220
220
  }) ??
221
221
  seedCandidates[0] ??
222
222
  sortedSymbols[0];
223
- const latestVersion = await kuzuDb.getLatestVersion(conn, repoId);
223
+ const latestVersion = await ladybugDb.getLatestVersion(conn, repoId);
224
224
  const versionId = latestVersion?.versionId ?? "current";
225
225
  try {
226
226
  const sliceStart = performance.now();
@@ -315,13 +315,13 @@ export async function benchmarkCICommand(options) {
315
315
  console.warn(`[WARN] Falling back to current working directory: ${repoPath}`);
316
316
  }
317
317
  await initGraphDb(config, configPath);
318
- const conn = await getKuzuConn();
318
+ const conn = await getLadybugConn();
319
319
  const { runtimeConfigJson: repoRuntimeConfigJson, addedScopePatterns } = buildBenchmarkRuntimeRepoConfig(repoConfig);
320
320
  if (addedScopePatterns.length > 0) {
321
321
  console.log(`[benchmark:ci] Locked benchmark scope by adding ignore patterns: ${addedScopePatterns.join(", ")}`);
322
322
  }
323
- const persistedRepo = await kuzuDb.getRepo(conn, repoId);
324
- await kuzuDb.upsertRepo(conn, {
323
+ const persistedRepo = await ladybugDb.getRepo(conn, repoId);
324
+ await ladybugDb.upsertRepo(conn, {
325
325
  repoId,
326
326
  rootPath: repoPath,
327
327
  configJson: repoRuntimeConfigJson,