@flyingrobots/graft 0.7.1 → 0.9.0

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 (366) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/GUIDE.md +8 -3
  3. package/README.md +128 -85
  4. package/dist/adapters/fake-echo-kernel-transport.d.ts +33 -0
  5. package/dist/adapters/fake-echo-kernel-transport.d.ts.map +1 -0
  6. package/dist/adapters/fake-echo-kernel-transport.js +208 -0
  7. package/dist/adapters/fake-echo-kernel-transport.js.map +1 -0
  8. package/dist/api/index.d.ts +3 -0
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/api/index.js +2 -0
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/cli/cli-error.d.ts.map +1 -1
  13. package/dist/cli/cli-error.js +22 -3
  14. package/dist/cli/cli-error.js.map +1 -1
  15. package/dist/cli/command-parser.d.ts.map +1 -1
  16. package/dist/cli/command-parser.js +62 -6
  17. package/dist/cli/command-parser.js.map +1 -1
  18. package/dist/cli/dead-symbols-render.d.ts +2 -0
  19. package/dist/cli/dead-symbols-render.d.ts.map +1 -0
  20. package/dist/cli/dead-symbols-render.js +23 -0
  21. package/dist/cli/dead-symbols-render.js.map +1 -0
  22. package/dist/cli/doctor-render.d.ts +2 -0
  23. package/dist/cli/doctor-render.d.ts.map +1 -0
  24. package/dist/cli/doctor-render.js +80 -0
  25. package/dist/cli/doctor-render.js.map +1 -0
  26. package/dist/cli/entrypoint.d.ts +1 -0
  27. package/dist/cli/entrypoint.d.ts.map +1 -1
  28. package/dist/cli/entrypoint.js +1 -0
  29. package/dist/cli/entrypoint.js.map +1 -1
  30. package/dist/cli/git-graft-enhance-model.d.ts +33 -3
  31. package/dist/cli/git-graft-enhance-model.d.ts.map +1 -1
  32. package/dist/cli/git-graft-enhance-model.js +38 -0
  33. package/dist/cli/git-graft-enhance-model.js.map +1 -1
  34. package/dist/cli/git-graft-enhance-render.d.ts.map +1 -1
  35. package/dist/cli/git-graft-enhance-render.js +13 -0
  36. package/dist/cli/git-graft-enhance-render.js.map +1 -1
  37. package/dist/cli/git-graft-enhance.d.ts.map +1 -1
  38. package/dist/cli/git-graft-enhance.js +44 -1
  39. package/dist/cli/git-graft-enhance.js.map +1 -1
  40. package/dist/cli/index-cmd.d.ts +1 -0
  41. package/dist/cli/index-cmd.d.ts.map +1 -1
  42. package/dist/cli/index-cmd.js +3 -0
  43. package/dist/cli/index-cmd.js.map +1 -1
  44. package/dist/cli/main.d.ts +2 -0
  45. package/dist/cli/main.d.ts.map +1 -1
  46. package/dist/cli/main.js +24 -2
  47. package/dist/cli/main.js.map +1 -1
  48. package/dist/cli/peer-command.d.ts.map +1 -1
  49. package/dist/cli/peer-command.js +25 -0
  50. package/dist/cli/peer-command.js.map +1 -1
  51. package/dist/cli/review-cooldown.d.ts +15 -0
  52. package/dist/cli/review-cooldown.d.ts.map +1 -0
  53. package/dist/cli/review-cooldown.js +136 -0
  54. package/dist/cli/review-cooldown.js.map +1 -0
  55. package/dist/cli/structural-blame-render.d.ts +2 -0
  56. package/dist/cli/structural-blame-render.d.ts.map +1 -0
  57. package/dist/cli/structural-blame-render.js +42 -0
  58. package/dist/cli/structural-blame-render.js.map +1 -0
  59. package/dist/cli/structural-review-render.d.ts +2 -0
  60. package/dist/cli/structural-review-render.d.ts.map +1 -0
  61. package/dist/cli/structural-review-render.js +56 -0
  62. package/dist/cli/structural-review-render.js.map +1 -0
  63. package/dist/cli/structural-test-coverage-render.d.ts +2 -0
  64. package/dist/cli/structural-test-coverage-render.d.ts.map +1 -0
  65. package/dist/cli/structural-test-coverage-render.js +46 -0
  66. package/dist/cli/structural-test-coverage-render.js.map +1 -0
  67. package/dist/contracts/capabilities.d.ts +9 -6
  68. package/dist/contracts/capabilities.d.ts.map +1 -1
  69. package/dist/contracts/capabilities.js +54 -1
  70. package/dist/contracts/capabilities.js.map +1 -1
  71. package/dist/contracts/causal-ontology.d.ts +17 -17
  72. package/dist/contracts/output-schema-cli.d.ts +106 -41
  73. package/dist/contracts/output-schema-cli.d.ts.map +1 -1
  74. package/dist/contracts/output-schema-cli.js +29 -0
  75. package/dist/contracts/output-schema-cli.js.map +1 -1
  76. package/dist/contracts/output-schema-fragments.d.ts +238 -76
  77. package/dist/contracts/output-schema-fragments.d.ts.map +1 -1
  78. package/dist/contracts/output-schema-fragments.js +27 -0
  79. package/dist/contracts/output-schema-fragments.js.map +1 -1
  80. package/dist/contracts/output-schema-mcp.d.ts +171 -62
  81. package/dist/contracts/output-schema-mcp.d.ts.map +1 -1
  82. package/dist/contracts/output-schema-mcp.js +49 -22
  83. package/dist/contracts/output-schema-mcp.js.map +1 -1
  84. package/dist/contracts/output-schema-meta.d.ts +2 -2
  85. package/dist/contracts/output-schema-meta.d.ts.map +1 -1
  86. package/dist/contracts/output-schemas.d.ts +7 -7
  87. package/dist/contracts/output-schemas.d.ts.map +1 -1
  88. package/dist/contracts/output-schemas.js +101 -1
  89. package/dist/contracts/output-schemas.js.map +1 -1
  90. package/dist/echo/canonical-cbor.d.ts +10 -0
  91. package/dist/echo/canonical-cbor.d.ts.map +1 -0
  92. package/dist/echo/canonical-cbor.js +213 -0
  93. package/dist/echo/canonical-cbor.js.map +1 -0
  94. package/dist/echo/codec-runtime.d.ts +72 -0
  95. package/dist/echo/codec-runtime.d.ts.map +1 -0
  96. package/dist/echo/codec-runtime.js +259 -0
  97. package/dist/echo/codec-runtime.js.map +1 -0
  98. package/dist/echo/structural-history-client.d.ts +68 -0
  99. package/dist/echo/structural-history-client.d.ts.map +1 -0
  100. package/dist/echo/structural-history-client.js +149 -0
  101. package/dist/echo/structural-history-client.js.map +1 -0
  102. package/dist/echo/structural-history-envelope-codec.d.ts +46 -0
  103. package/dist/echo/structural-history-envelope-codec.d.ts.map +1 -0
  104. package/dist/echo/structural-history-envelope-codec.js +121 -0
  105. package/dist/echo/structural-history-envelope-codec.js.map +1 -0
  106. package/dist/echo/structural-reading-adapter.d.ts +13 -0
  107. package/dist/echo/structural-reading-adapter.d.ts.map +1 -0
  108. package/dist/echo/structural-reading-adapter.js +120 -0
  109. package/dist/echo/structural-reading-adapter.js.map +1 -0
  110. package/dist/generated/graft-structural-history.codec.generated.d.ts +135 -0
  111. package/dist/generated/graft-structural-history.codec.generated.d.ts.map +1 -0
  112. package/dist/generated/graft-structural-history.codec.generated.js +545 -0
  113. package/dist/generated/graft-structural-history.codec.generated.js.map +1 -0
  114. package/dist/generated/graft-structural-history.d.ts +331 -0
  115. package/dist/generated/graft-structural-history.d.ts.map +1 -0
  116. package/dist/generated/graft-structural-history.js +47 -0
  117. package/dist/generated/graft-structural-history.js.map +1 -0
  118. package/dist/git/version-guard.d.ts +17 -0
  119. package/dist/git/version-guard.d.ts.map +1 -0
  120. package/dist/git/version-guard.js +51 -0
  121. package/dist/git/version-guard.js.map +1 -0
  122. package/dist/hooks/posttooluse-read.js +2 -2
  123. package/dist/hooks/posttooluse-read.js.map +1 -1
  124. package/dist/mcp/burden.d.ts.map +1 -1
  125. package/dist/mcp/burden.js +4 -0
  126. package/dist/mcp/burden.js.map +1 -1
  127. package/dist/mcp/context.d.ts +5 -1
  128. package/dist/mcp/context.d.ts.map +1 -1
  129. package/dist/mcp/context.js +11 -1
  130. package/dist/mcp/context.js.map +1 -1
  131. package/dist/mcp/daemon-server.d.ts.map +1 -1
  132. package/dist/mcp/daemon-server.js +2 -0
  133. package/dist/mcp/daemon-server.js.map +1 -1
  134. package/dist/mcp/persisted-local-history-graph.d.ts.map +1 -1
  135. package/dist/mcp/persisted-local-history-graph.js +2 -1
  136. package/dist/mcp/persisted-local-history-graph.js.map +1 -1
  137. package/dist/mcp/persisted-local-history.d.ts +5 -5
  138. package/dist/mcp/repo-tool-job.d.ts.map +1 -1
  139. package/dist/mcp/repo-tool-job.js +2 -0
  140. package/dist/mcp/repo-tool-job.js.map +1 -1
  141. package/dist/mcp/repo-tool-worker-context.d.ts.map +1 -1
  142. package/dist/mcp/repo-tool-worker-context.js +19 -0
  143. package/dist/mcp/repo-tool-worker-context.js.map +1 -1
  144. package/dist/mcp/server-context.d.ts.map +1 -1
  145. package/dist/mcp/server-context.js +17 -0
  146. package/dist/mcp/server-context.js.map +1 -1
  147. package/dist/mcp/server-invocation.d.ts.map +1 -1
  148. package/dist/mcp/server-invocation.js +206 -147
  149. package/dist/mcp/server-invocation.js.map +1 -1
  150. package/dist/mcp/server-tool-access.d.ts.map +1 -1
  151. package/dist/mcp/server-tool-access.js +4 -0
  152. package/dist/mcp/server-tool-access.js.map +1 -1
  153. package/dist/mcp/server.d.ts.map +1 -1
  154. package/dist/mcp/server.js +184 -116
  155. package/dist/mcp/server.js.map +1 -1
  156. package/dist/mcp/stdio-server.d.ts.map +1 -1
  157. package/dist/mcp/stdio-server.js +2 -0
  158. package/dist/mcp/stdio-server.js.map +1 -1
  159. package/dist/mcp/tool-registry.d.ts.map +1 -1
  160. package/dist/mcp/tool-registry.js +9 -1
  161. package/dist/mcp/tool-registry.js.map +1 -1
  162. package/dist/mcp/tools/changed-since.d.ts.map +1 -1
  163. package/dist/mcp/tools/changed-since.js +10 -3
  164. package/dist/mcp/tools/changed-since.js.map +1 -1
  165. package/dist/mcp/tools/dead-symbols.d.ts +3 -0
  166. package/dist/mcp/tools/dead-symbols.d.ts.map +1 -0
  167. package/dist/mcp/tools/dead-symbols.js +32 -0
  168. package/dist/mcp/tools/dead-symbols.js.map +1 -0
  169. package/dist/mcp/tools/map.d.ts.map +1 -1
  170. package/dist/mcp/tools/map.js +2 -0
  171. package/dist/mcp/tools/map.js.map +1 -1
  172. package/dist/mcp/tools/precision-warp.d.ts.map +1 -1
  173. package/dist/mcp/tools/precision-warp.js +2 -6
  174. package/dist/mcp/tools/precision-warp.js.map +1 -1
  175. package/dist/mcp/tools/refactor-difficulty.d.ts.map +1 -1
  176. package/dist/mcp/tools/refactor-difficulty.js +2 -0
  177. package/dist/mcp/tools/refactor-difficulty.js.map +1 -1
  178. package/dist/mcp/tools/safe-read.d.ts.map +1 -1
  179. package/dist/mcp/tools/safe-read.js +10 -105
  180. package/dist/mcp/tools/safe-read.js.map +1 -1
  181. package/dist/mcp/tools/structural-blame.d.ts.map +1 -1
  182. package/dist/mcp/tools/structural-blame.js +3 -0
  183. package/dist/mcp/tools/structural-blame.js.map +1 -1
  184. package/dist/mcp/tools/structural-review.d.ts.map +1 -1
  185. package/dist/mcp/tools/structural-review.js +9 -22
  186. package/dist/mcp/tools/structural-review.js.map +1 -1
  187. package/dist/mcp/tools/structural-test-coverage.d.ts +3 -0
  188. package/dist/mcp/tools/structural-test-coverage.d.ts.map +1 -0
  189. package/dist/mcp/tools/structural-test-coverage.js +35 -0
  190. package/dist/mcp/tools/structural-test-coverage.js.map +1 -0
  191. package/dist/mcp/tools/workspace-list-opened.d.ts +3 -0
  192. package/dist/mcp/tools/workspace-list-opened.d.ts.map +1 -0
  193. package/dist/mcp/tools/workspace-list-opened.js +10 -0
  194. package/dist/mcp/tools/workspace-list-opened.js.map +1 -0
  195. package/dist/mcp/tools/workspace-open.d.ts +3 -0
  196. package/dist/mcp/tools/workspace-open.d.ts.map +1 -0
  197. package/dist/mcp/tools/workspace-open.js +34 -0
  198. package/dist/mcp/tools/workspace-open.js.map +1 -0
  199. package/dist/mcp/workspace-router-model.d.ts +27 -0
  200. package/dist/mcp/workspace-router-model.d.ts.map +1 -1
  201. package/dist/mcp/workspace-router-model.js.map +1 -1
  202. package/dist/mcp/workspace-router.d.ts +9 -2
  203. package/dist/mcp/workspace-router.d.ts.map +1 -1
  204. package/dist/mcp/workspace-router.js +145 -1
  205. package/dist/mcp/workspace-router.js.map +1 -1
  206. package/dist/operations/cached-file.d.ts +6 -2
  207. package/dist/operations/cached-file.d.ts.map +1 -1
  208. package/dist/operations/cached-file.js +30 -6
  209. package/dist/operations/cached-file.js.map +1 -1
  210. package/dist/operations/export-surface-diff.d.ts.map +1 -1
  211. package/dist/operations/export-surface-diff.js +2 -0
  212. package/dist/operations/export-surface-diff.js.map +1 -1
  213. package/dist/operations/file-outline.js +2 -2
  214. package/dist/operations/file-outline.js.map +1 -1
  215. package/dist/operations/graft-diff.d.ts.map +1 -1
  216. package/dist/operations/graft-diff.js +2 -0
  217. package/dist/operations/graft-diff.js.map +1 -1
  218. package/dist/operations/projection-safety.d.ts.map +1 -1
  219. package/dist/operations/projection-safety.js +2 -0
  220. package/dist/operations/projection-safety.js.map +1 -1
  221. package/dist/operations/repo-workspace.d.ts.map +1 -1
  222. package/dist/operations/repo-workspace.js +26 -8
  223. package/dist/operations/repo-workspace.js.map +1 -1
  224. package/dist/operations/review-cooldown-status.d.ts +27 -0
  225. package/dist/operations/review-cooldown-status.d.ts.map +1 -0
  226. package/dist/operations/review-cooldown-status.js +115 -0
  227. package/dist/operations/review-cooldown-status.js.map +1 -0
  228. package/dist/operations/safe-read.js +2 -2
  229. package/dist/operations/safe-read.js.map +1 -1
  230. package/dist/operations/sludge-detector.d.ts.map +1 -1
  231. package/dist/operations/sludge-detector.js +2 -1
  232. package/dist/operations/sludge-detector.js.map +1 -1
  233. package/dist/operations/structural-review.js +8 -8
  234. package/dist/operations/structural-review.js.map +1 -1
  235. package/dist/operations/structural-test-coverage-map.d.ts +44 -0
  236. package/dist/operations/structural-test-coverage-map.d.ts.map +1 -0
  237. package/dist/operations/structural-test-coverage-map.js +331 -0
  238. package/dist/operations/structural-test-coverage-map.js.map +1 -0
  239. package/dist/operations/structured-buffer-compare.d.ts.map +1 -1
  240. package/dist/operations/structured-buffer-compare.js +4 -1
  241. package/dist/operations/structured-buffer-compare.js.map +1 -1
  242. package/dist/operations/structured-buffer-model.d.ts +15 -13
  243. package/dist/operations/structured-buffer-model.d.ts.map +1 -1
  244. package/dist/operations/structured-buffer-model.js +24 -5
  245. package/dist/operations/structured-buffer-model.js.map +1 -1
  246. package/dist/operations/structured-buffer-query.d.ts.map +1 -1
  247. package/dist/operations/structured-buffer-query.js +21 -12
  248. package/dist/operations/structured-buffer-query.js.map +1 -1
  249. package/dist/parser/extractors/common.d.ts +16 -0
  250. package/dist/parser/extractors/common.d.ts.map +1 -0
  251. package/dist/parser/extractors/common.js +23 -0
  252. package/dist/parser/extractors/common.js.map +1 -0
  253. package/dist/parser/extractors/go.d.ts +18 -0
  254. package/dist/parser/extractors/go.d.ts.map +1 -0
  255. package/dist/parser/extractors/go.js +200 -0
  256. package/dist/parser/extractors/go.js.map +1 -0
  257. package/dist/parser/extractors/graphql.d.ts +26 -0
  258. package/dist/parser/extractors/graphql.d.ts.map +1 -0
  259. package/dist/parser/extractors/graphql.js +239 -0
  260. package/dist/parser/extractors/graphql.js.map +1 -0
  261. package/dist/parser/extractors/index.d.ts +4 -0
  262. package/dist/parser/extractors/index.d.ts.map +1 -0
  263. package/dist/parser/extractors/index.js +26 -0
  264. package/dist/parser/extractors/index.js.map +1 -0
  265. package/dist/parser/extractors/json.d.ts +10 -0
  266. package/dist/parser/extractors/json.d.ts.map +1 -0
  267. package/dist/parser/extractors/json.js +75 -0
  268. package/dist/parser/extractors/json.js.map +1 -0
  269. package/dist/parser/extractors/python.d.ts +16 -0
  270. package/dist/parser/extractors/python.d.ts.map +1 -0
  271. package/dist/parser/extractors/python.js +145 -0
  272. package/dist/parser/extractors/python.js.map +1 -0
  273. package/dist/parser/extractors/rust.d.ts +12 -0
  274. package/dist/parser/extractors/rust.d.ts.map +1 -0
  275. package/dist/parser/extractors/rust.js +122 -0
  276. package/dist/parser/extractors/rust.js.map +1 -0
  277. package/dist/parser/extractors/toml.d.ts +10 -0
  278. package/dist/parser/extractors/toml.d.ts.map +1 -0
  279. package/dist/parser/extractors/toml.js +74 -0
  280. package/dist/parser/extractors/toml.js.map +1 -0
  281. package/dist/parser/extractors/typescript.d.ts +13 -0
  282. package/dist/parser/extractors/typescript.d.ts.map +1 -0
  283. package/dist/parser/extractors/typescript.js +179 -0
  284. package/dist/parser/extractors/typescript.js.map +1 -0
  285. package/dist/parser/extractors/yaml.d.ts +13 -0
  286. package/dist/parser/extractors/yaml.d.ts.map +1 -0
  287. package/dist/parser/extractors/yaml.js +93 -0
  288. package/dist/parser/extractors/yaml.js.map +1 -0
  289. package/dist/parser/lang.d.ts +2 -2
  290. package/dist/parser/lang.d.ts.map +1 -1
  291. package/dist/parser/lang.js +19 -1
  292. package/dist/parser/lang.js.map +1 -1
  293. package/dist/parser/outline.d.ts +4 -0
  294. package/dist/parser/outline.d.ts.map +1 -1
  295. package/dist/parser/outline.js +32 -221
  296. package/dist/parser/outline.js.map +1 -1
  297. package/dist/parser/runtime.d.ts +7 -0
  298. package/dist/parser/runtime.d.ts.map +1 -1
  299. package/dist/parser/runtime.js +99 -10
  300. package/dist/parser/runtime.js.map +1 -1
  301. package/dist/parser/types.d.ts +1 -1
  302. package/dist/parser/types.d.ts.map +1 -1
  303. package/dist/parser/types.js.map +1 -1
  304. package/dist/ports/echo-kernel-transport.d.ts +12 -0
  305. package/dist/ports/echo-kernel-transport.d.ts.map +1 -0
  306. package/dist/ports/echo-kernel-transport.js +13 -0
  307. package/dist/ports/echo-kernel-transport.js.map +1 -0
  308. package/dist/ports/provenance-timeline.d.ts +10 -0
  309. package/dist/ports/provenance-timeline.d.ts.map +1 -0
  310. package/dist/ports/provenance-timeline.js +17 -0
  311. package/dist/ports/provenance-timeline.js.map +1 -0
  312. package/dist/ports/semantic-enrichment.d.ts +47 -0
  313. package/dist/ports/semantic-enrichment.d.ts.map +1 -0
  314. package/dist/ports/semantic-enrichment.js +2 -0
  315. package/dist/ports/semantic-enrichment.js.map +1 -0
  316. package/dist/ports/structural-reading.d.ts +100 -0
  317. package/dist/ports/structural-reading.d.ts.map +1 -0
  318. package/dist/ports/structural-reading.js +41 -0
  319. package/dist/ports/structural-reading.js.map +1 -0
  320. package/dist/warp/ast-import-resolver.d.ts.map +1 -1
  321. package/dist/warp/ast-import-resolver.js +2 -1
  322. package/dist/warp/ast-import-resolver.js.map +1 -1
  323. package/dist/warp/dead-symbols.d.ts.map +1 -1
  324. package/dist/warp/dead-symbols.js +4 -7
  325. package/dist/warp/dead-symbols.js.map +1 -1
  326. package/dist/warp/index-head.d.ts +4 -0
  327. package/dist/warp/index-head.d.ts.map +1 -1
  328. package/dist/warp/index-head.js +255 -22
  329. package/dist/warp/index-head.js.map +1 -1
  330. package/dist/warp/observers.d.ts.map +1 -1
  331. package/dist/warp/observers.js +3 -2
  332. package/dist/warp/observers.js.map +1 -1
  333. package/dist/warp/refactor-difficulty.d.ts.map +1 -1
  334. package/dist/warp/refactor-difficulty.js +4 -9
  335. package/dist/warp/refactor-difficulty.js.map +1 -1
  336. package/dist/warp/references.d.ts.map +1 -1
  337. package/dist/warp/references.js +2 -1
  338. package/dist/warp/references.js.map +1 -1
  339. package/dist/warp/semantic-enrichment.d.ts +14 -0
  340. package/dist/warp/semantic-enrichment.d.ts.map +1 -0
  341. package/dist/warp/semantic-enrichment.js +55 -0
  342. package/dist/warp/semantic-enrichment.js.map +1 -0
  343. package/dist/warp/structural-queries.d.ts.map +1 -1
  344. package/dist/warp/structural-queries.js +7 -14
  345. package/dist/warp/structural-queries.js.map +1 -1
  346. package/dist/warp/structural-reading-adapter.d.ts +28 -0
  347. package/dist/warp/structural-reading-adapter.d.ts.map +1 -0
  348. package/dist/warp/structural-reading-adapter.js +94 -0
  349. package/dist/warp/structural-reading-adapter.js.map +1 -0
  350. package/dist/warp/sym-id-codec.d.ts +14 -0
  351. package/dist/warp/sym-id-codec.d.ts.map +1 -0
  352. package/dist/warp/sym-id-codec.js +47 -0
  353. package/dist/warp/sym-id-codec.js.map +1 -0
  354. package/dist/warp/symbol-timeline.d.ts.map +1 -1
  355. package/dist/warp/symbol-timeline.js +6 -14
  356. package/dist/warp/symbol-timeline.js.map +1 -1
  357. package/dist/warp/warp-structural-churn.d.ts.map +1 -1
  358. package/dist/warp/warp-structural-churn.js +6 -10
  359. package/dist/warp/warp-structural-churn.js.map +1 -1
  360. package/dist/warp/warp-structural-log.d.ts.map +1 -1
  361. package/dist/warp/warp-structural-log.js +8 -10
  362. package/dist/warp/warp-structural-log.js.map +1 -1
  363. package/docs/CLI.md +63 -5
  364. package/docs/MCP.md +12 -6
  365. package/docs/SETUP.md +12 -6
  366. package/package.json +13 -4
@@ -1 +1 @@
1
- {"version":3,"file":"warp-structural-log.js","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp-structural-log.js","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"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"}
package/docs/CLI.md CHANGED
@@ -14,10 +14,12 @@ flowchart LR
14
14
  B --> B6[index]
15
15
  B --> B7[migrate local-history]
16
16
  B --> B8[enhance]
17
+ B --> B9[review]
17
18
  C --> C1[read]
18
19
  C --> C2[struct]
19
20
  C --> C3[symbol]
20
21
  C --> C4[diag]
22
+ C --> C5[review]
21
23
  ```
22
24
 
23
25
  ## What it is for
@@ -27,6 +29,10 @@ flowchart LR
27
29
  - read-only daemon status inspection via `graft daemon status`
28
30
  - bounded, lazy WARP refresh via `graft index --path <path>`
29
31
  - one-time legacy import via `graft migrate local-history`
32
+ - human-facing structural review summaries via `graft review`
33
+ - review-loop readiness via `graft review cooldown`
34
+ - structural/reference test coverage maps via `graft struct test-coverage`
35
+ - dead-symbol cleanup candidates via `graft struct dead-symbols`
30
36
  - Git-facing structural review summaries via `git graft enhance`
31
37
  - local debugging and dogfooding of MCP peer commands
32
38
  - human-facing inspection of bounded state such as:
@@ -35,12 +41,14 @@ flowchart LR
35
41
  - `graft diag doctor`
36
42
  - `graft doctor --sludge`
37
43
  - `graft diag stats`
44
+ - `graft symbol history`
38
45
  - `graft symbol difficulty`
39
46
 
40
47
  ## Core namespaces
41
48
  - `read` — bounded reads and change checks
42
- - `struct` — structural diff / since / map
43
- - `symbol` — precision show / find / blame / difficulty
49
+ - `struct` — structural diff / since / map / review / test-coverage / dead-symbols
50
+ - `symbol` — precision show / find / blame / history / difficulty
51
+ - `review` — structural review and review-loop readiness
44
52
  - `diag` — activity, local-history-dag, doctor, explain, stats, capture
45
53
 
46
54
  ## Release-facing commands
@@ -55,9 +63,18 @@ graft diag activity --json
55
63
  graft diag local-history-dag --json
56
64
  graft diag doctor --json
57
65
  graft doctor --sludge --json
66
+ graft review --base HEAD~1
67
+ graft review --base origin/main --head HEAD --json
68
+ graft review cooldown --pr 48
69
+ graft review cooldown --comments-file comments.json --now 2026-05-05T15:10:00.000Z --json
58
70
  graft symbol find 'create*' --json
71
+ graft symbol history createUser --path src/users.ts
59
72
  graft symbol difficulty createUser --path src/users.ts --json
60
73
  graft struct diff --json
74
+ graft struct test-coverage --src src --tests test
75
+ graft struct test-coverage --src src --tests test --json
76
+ graft struct dead-symbols --limit 20
77
+ graft struct dead-symbols --limit 20 --json
61
78
  git graft enhance --since HEAD~1
62
79
  git-graft enhance --since HEAD~1
63
80
  git-graft enhance --since HEAD~1 --json
@@ -73,14 +90,55 @@ pnpm graft diag activity
73
90
 
74
91
  Bare `graft ...` only works when the package is installed or linked onto your `PATH`.
75
92
 
93
+ `graft review --base <ref> [--head <ref>] [--json]` renders the
94
+ repo-local structural review summary backed by the same `graft_review`
95
+ model as MCP and `graft struct review`. Human output separates
96
+ structural files from formatting, test, docs, and config churn. JSON
97
+ output keeps the schema-validated `graft.cli.struct_review` payload for
98
+ agents. GitHub PR-number resolution and comment posting are intentionally
99
+ outside this first slice; check out or fetch the PR branch and compare
100
+ refs locally.
101
+
102
+ `graft review cooldown [--pr <number>] [--comments-file <path>] [--now
103
+ <iso>] [--json]` reads PR comments, detects CodeRabbit rate-limit
104
+ markers, and reports whether another automated review request is ready,
105
+ still cooling down, or unknown. Without `--comments-file` it shells out
106
+ to `gh pr view [<number>] --json comments`; fixtures can use
107
+ `--comments-file` to validate the same logic without network or GitHub
108
+ state. Human output includes local timestamps; JSON output keeps the
109
+ schema-validated `graft.cli.review_cooldown` payload.
110
+
111
+ `graft struct test-coverage [--src <path>] [--tests <path>] [--json]`
112
+ renders a structural/reference coverage map for exported source symbols.
113
+ The default paths are `src` and `test`. Human output lists summary
114
+ counts, limitations, and per-symbol `covered` / `uncovered` status.
115
+ JSON output keeps the schema-validated
116
+ `graft.cli.struct_test_coverage` payload. This command does not run
117
+ tests or claim line, branch, statement, or execution coverage; imports
118
+ and mentions in test files can count as structural references.
119
+
120
+ `graft struct dead-symbols [--limit <n>] [--json]` lists symbols removed
121
+ from indexed WARP history and not subsequently re-added. Human output is
122
+ intended for cleanup and API-surface shrinkage review; JSON output keeps
123
+ the schema-validated `graft.cli.struct_dead_symbols` payload backed by
124
+ the `graft_dead_symbols` MCP peer.
125
+
126
+ `graft symbol history <symbol> [--path <path>] [--json]` renders the
127
+ same provenance-backed history as `graft symbol blame`, with a
128
+ timeline-first human view over creation, signature-change, per-version
129
+ path and line-range facts, and reference facts. JSON output remains the
130
+ schema-validated `graft.cli.symbol_blame` payload so the alias does not
131
+ create a second wire shape for the same WARP truth.
132
+
76
133
  `git graft enhance --since <ref> [--head <ref>] [--json]` is the
77
134
  installed Git external-command form for the release-facing structural
78
135
  review aggregator. `git-graft enhance --since <ref>` is the direct
79
136
  package binary form. Both route through the same top-level `enhance`
80
137
  parser path. The command composes the shipped structural-since and
81
- export-surface facts into a concise review summary; it does not wrap
82
- arbitrary Git subcommands or expand into provenance, blame, reference, or
83
- write-tool behavior.
138
+ export-surface facts into a concise review summary, plus bounded
139
+ provenance hints for changed symbols when WARP blame data is available.
140
+ It does not wrap arbitrary Git subcommands or expand into unbounded
141
+ reference traversal or write-tool behavior.
84
142
 
85
143
  `graft diag activity` is the current human-facing between-commit surface. It reports bounded local `artifact_history`, not canonical provenance, and now renders a textual operator summary by default. Use `--json` when you want the structured machine-readable form.
86
144
 
package/docs/MCP.md CHANGED
@@ -52,22 +52,28 @@ npx @flyingrobots/graft daemon
52
52
  ```
53
53
 
54
54
  Daemon sessions start `unbound`. Once a client is connected to the
55
- daemon MCP surface, repository-scoped work follows this control-plane
56
- flow:
55
+ daemon MCP surface, repository-scoped work normally follows this
56
+ agent-facing flow:
57
57
 
58
- 1. `workspace_authorize` with the target `cwd`
59
- 2. `workspace_bind` with the target `cwd`
58
+ 1. `workspace_open` with the target `cwd`
59
+ 2. optionally `workspace_list_opened` to inspect opened paths and the
60
+ active workspace
60
61
  3. then call repository-scoped tools such as `safe_read`, `graft_since`,
61
62
  or `code_show`
62
63
 
64
+ `workspace_authorize` and `workspace_bind` remain available as lower-level
65
+ daemon control-plane tools.
66
+
63
67
  ## Key Tool Groups
64
68
  - **Bounded Reads**: `safe_read`, `file_outline`, `read_range`, `changed_since`
65
69
  - **Governed Edits**: `graft_edit`
66
- - **Structural History**: `graft_diff`, `graft_since`, `graft_map`
70
+ - **Structural History**: `graft_diff`, `graft_since`, `graft_map`,
71
+ `graft_review`, `graft_test_coverage`, `graft_dead_symbols`
67
72
  - **Structural Metrics**: `graft_churn`, `graft_difficulty`
68
73
  - **Precision**: `code_show`, `code_find`, `code_refs`
69
74
  - **Activity & Footing**: `activity_view`, `causal_status`, `causal_attach`, `doctor`
70
- - **Daemon Control Plane**: `workspace_authorizations`, `workspace_authorize`, `workspace_bind`, `workspace_status`, `workspace_rebind`, `workspace_revoke`, `daemon_status`, `daemon_repos`, `daemon_sessions`, `daemon_monitors`, `monitor_*`
75
+ - **Workspace Routing**: `workspace_open`, `workspace_list_opened`, `workspace_status`
76
+ - **Daemon Control Plane**: `workspace_authorizations`, `workspace_authorize`, `workspace_bind`, `workspace_rebind`, `workspace_revoke`, `daemon_status`, `daemon_repos`, `daemon_sessions`, `daemon_monitors`, `monitor_*`
71
77
 
72
78
  ## Current Truth
73
79
  - MCP is the primary agent surface.
package/docs/SETUP.md CHANGED
@@ -98,6 +98,8 @@ Daemon control-plane inspection now exists through MCP tools:
98
98
  - `monitor_stop`
99
99
  - `workspace_authorizations`
100
100
  - `workspace_authorize`
101
+ - `workspace_open`
102
+ - `workspace_list_opened`
101
103
  - `workspace_bind`
102
104
  - `workspace_status`
103
105
  - `workspace_rebind`
@@ -120,10 +122,14 @@ Practical daemon-backed MCP first-use sequence:
120
122
 
121
123
  1. configure your MCP client with `graft serve --runtime daemon`
122
124
  2. let the bridge auto-start the daemon, or start `npx @flyingrobots/graft daemon`
123
- 3. call `workspace_authorize` with the target `cwd`
124
- 4. call `workspace_bind` with the target `cwd`
125
+ 3. call `workspace_open` with the target `cwd`
126
+ 4. optionally call `workspace_list_opened` to inspect opened paths and the
127
+ active workspace
125
128
  5. then use repository-scoped tools such as `safe_read` or `graft_map`
126
129
 
130
+ Use `workspace_authorize` plus `workspace_bind` when you need direct
131
+ operator control over daemon authorization and binding state.
132
+
127
133
  ### MCP runtime selection
128
134
 
129
135
  Repo-local stdio is the default and remains the simplest path:
@@ -157,8 +163,7 @@ Use repo-local stdio when you want one MCP server bound directly to the
157
163
  current checkout. Use daemon-backed stdio when you want daemon-only
158
164
  capabilities such as shared worker pools, persistent monitors, and
159
165
  daemon control-plane inspection. Daemon-backed sessions start unbound;
160
- repository-scoped tools require `workspace_authorize` and
161
- `workspace_bind`.
166
+ repository-scoped tools normally begin with `workspace_open`.
162
167
 
163
168
  ### One-step bootstrap
164
169
 
@@ -399,8 +404,9 @@ If your client doesn't support `npx`, install globally and use:
399
404
 
400
405
  This section shows the repo-local stdio path. If you connect through
401
406
  `graft daemon` instead, the MCP session starts `unbound` and needs
402
- `workspace_authorize` plus `workspace_bind` before repository-scoped
403
- tool calls.
407
+ `workspace_open` before repository-scoped tool calls. The lower-level
408
+ `workspace_authorize` and `workspace_bind` tools remain available for
409
+ operator control-plane workflows.
404
410
 
405
411
  ## Claude Code Hooks
406
412
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyingrobots/graft",
3
- "version": "0.7.1",
3
+ "version": "0.9.0",
4
4
  "description": "Context governor and between-commit activity surface for coding agents",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.30.0",
@@ -46,11 +46,15 @@
46
46
  "test:watch": "vitest",
47
47
  "lint": "eslint .",
48
48
  "typecheck": "tsc --noEmit",
49
+ "schema:structural-history:check": "tsx scripts/check-structural-history-schema-artifacts.ts && tsx scripts/check-structural-history-echo-package.ts",
49
50
  "pack:check": "pnpm pack --dry-run",
50
51
  "guard:agent-worktrees": "tsx scripts/check-agent-worktree-hygiene.ts",
51
52
  "security:check": "tsx scripts/check-release-security.ts",
52
53
  "release:surface-gate": "vitest run --run test/unit/release/package-library-surface.test.ts test/unit/release/three-surface-capability-posture.test.ts",
53
- "release:check": "pnpm guard:agent-worktrees && pnpm lint && pnpm typecheck && pnpm release:surface-gate && pnpm test && pnpm security:check && pnpm pack:check"
54
+ "release:check": "pnpm guard:agent-worktrees && pnpm schema:structural-history:check && pnpm lint && pnpm typecheck && pnpm release:surface-gate && pnpm test && pnpm security:check && pnpm pack:check",
55
+ "gh:issues": "bash scripts/gh-issues.sh bootstrap",
56
+ "gh-issues": "bash scripts/gh-issues.sh bootstrap",
57
+ "gh-issues:check": "bash scripts/gh-issues-check.sh"
54
58
  },
55
59
  "engines": {
56
60
  "node": ">=20.11.0"
@@ -90,6 +94,7 @@
90
94
  "@git-stunts/plumbing": "^2.8.0",
91
95
  "@modelcontextprotocol/sdk": "^1.29.0",
92
96
  "picomatch": "^4.0.4",
97
+ "tree-sitter-graphql-grammar-wasm": "1.0.1",
93
98
  "tree-sitter-wasms": "0.1.13",
94
99
  "web-tree-sitter": "^0.20.8",
95
100
  "zod": "4.3.6"
@@ -110,8 +115,12 @@
110
115
  "onlyBuiltDependencies": [],
111
116
  "overrides": {
112
117
  "vite": "^8.0.5",
113
- "hono": ">=4.12.14",
114
- "postcss": "8.5.12"
118
+ "brace-expansion": "5.0.6",
119
+ "hono": "4.12.18",
120
+ "fast-uri": "3.1.2",
121
+ "ip-address": "10.2.0",
122
+ "postcss": "8.5.12",
123
+ "qs": "6.15.2"
115
124
  }
116
125
  }
117
126
  }