ai-spector 0.9.21 → 0.9.24

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 (579) hide show
  1. package/contracts/bootstrap/config/prototype-screen-map.json +25 -0
  2. package/contracts/bootstrap/config/prototype.config.json +17 -0
  3. package/contracts/bootstrap/config/review-queue-pending.json +4 -0
  4. package/contracts/bootstrap/config/review-queue-registry.json +4 -0
  5. package/contracts/bootstrap/config/review.config.json +5 -0
  6. package/contracts/bootstrap/docs/ENTITY_REGISTRY_MIGRATION.md +192 -0
  7. package/contracts/bootstrap/docs/MIGRATION.md +463 -0
  8. package/contracts/bootstrap/docs/README.md +48 -0
  9. package/contracts/bootstrap/docs/adapters/README.md +32 -0
  10. package/contracts/bootstrap/docs/guides/COMMENTS_ENTITY_MIGRATION.md +195 -0
  11. package/contracts/bootstrap/docs/guides/DOCOPS_MANUAL_FALLBACK.md +177 -0
  12. package/contracts/bootstrap/docs/guides/PROJECT_LAYOUT.md +84 -0
  13. package/contracts/bootstrap/docs/modules/comments.md +77 -0
  14. package/contracts/bootstrap/docs/modules/generate.md +25 -0
  15. package/contracts/bootstrap/docs/modules/graph.md +31 -0
  16. package/contracts/bootstrap/docs/modules/prototype.md +26 -0
  17. package/contracts/bootstrap/docs/modules/review.md +25 -0
  18. package/contracts/bootstrap/docs/modules/translate.md +26 -0
  19. package/contracts/bootstrap/scripts/migrate-entity-registry.sh +55 -0
  20. package/contracts/bootstrap/templates/basic-design/db-design-template.md +177 -0
  21. package/contracts/bootstrap/templates/basic-design/detail-api-template.md +278 -0
  22. package/contracts/bootstrap/templates/basic-design/detail-screen-template.md +281 -0
  23. package/contracts/bootstrap/templates/basic-design/list-api-template.md +130 -0
  24. package/contracts/bootstrap/templates/basic-design/list-screen-template.md +242 -0
  25. package/contracts/bootstrap/templates/detail-design/common/architecture-overview-template.md +302 -0
  26. package/contracts/bootstrap/templates/detail-design/common/deployment-infrastructure-template.md +461 -0
  27. package/contracts/bootstrap/templates/detail-design/common/error-handling-patterns-template.md +460 -0
  28. package/contracts/bootstrap/templates/detail-design/common/integration-patterns-template.md +410 -0
  29. package/contracts/bootstrap/templates/detail-design/common/performance-standards-template.md +406 -0
  30. package/contracts/bootstrap/templates/detail-design/common/security-patterns-template.md +395 -0
  31. package/contracts/bootstrap/templates/detail-design/feature-detail-design-template.md +773 -0
  32. package/contracts/bootstrap/templates/detail-design/feature-list-template.md +39 -0
  33. package/contracts/bootstrap/templates/srs/1-introduction.md +58 -0
  34. package/contracts/bootstrap/templates/srs/2-overall-description.md +91 -0
  35. package/contracts/bootstrap/templates/srs/3-use-case-detail-template.md +142 -0
  36. package/contracts/bootstrap/templates/srs/3-use-cases.md +53 -0
  37. package/contracts/bootstrap/templates/srs/4-system-feature-detail-template.md +131 -0
  38. package/contracts/bootstrap/templates/srs/4-system-features-list-template.md +39 -0
  39. package/contracts/bootstrap/templates/srs/5-data-requirements.md +59 -0
  40. package/contracts/bootstrap/templates/srs/6-external-interfaces.md +56 -0
  41. package/contracts/bootstrap/templates/srs/7-quality-attributes.md +74 -0
  42. package/contracts/bootstrap/templates/srs/8-internationalization.md +36 -0
  43. package/contracts/bootstrap/templates/srs/9-other-requirements.md +46 -0
  44. package/contracts/examples/full-docops.config.json +54 -0
  45. package/contracts/examples/migrate-lifecycle.json +18 -0
  46. package/contracts/examples/minimal-comment-thread/comment-root.json +10 -0
  47. package/contracts/examples/minimal-comment-thread/meta_data.json +22 -0
  48. package/contracts/examples/minimal-docops.config.json +33 -0
  49. package/contracts/examples/minimal-lifecycle.json +17 -0
  50. package/contracts/examples/minimal-prototype.config.json +18 -0
  51. package/contracts/examples/minimal-screen-map.json +25 -0
  52. package/contracts/examples/registry/minimal-document.entity.json +15 -0
  53. package/contracts/examples/registry/minimal-manifest.json +7 -0
  54. package/contracts/examples/registry/minimal-screen.entity.json +11 -0
  55. package/contracts/examples/review/minimal-pending.json +14 -0
  56. package/contracts/examples/review/minimal-registry.json +31 -0
  57. package/contracts/examples/review/minimal-review.config.json +7 -0
  58. package/contracts/schemas/comments/comment_body.schema.json +19 -0
  59. package/contracts/schemas/comments/meta_data.schema.json +59 -0
  60. package/contracts/schemas/docops.config.schema.json +97 -0
  61. package/contracts/schemas/lifecycle.schema.json +43 -0
  62. package/contracts/schemas/prototype/config.schema.json +56 -0
  63. package/contracts/schemas/prototype/screen-map.schema.json +51 -0
  64. package/contracts/schemas/registry/document.entity.schema.json +38 -0
  65. package/contracts/schemas/registry/manifest.schema.json +18 -0
  66. package/contracts/schemas/registry/screen.entity.schema.json +28 -0
  67. package/contracts/schemas/review/registry.schema.json +72 -0
  68. package/contracts/schemas/review/review.config.schema.json +42 -0
  69. package/dist/cli.js +26 -1
  70. package/dist/cli.js.map +1 -1
  71. package/dist/core/docops/bootstrap.d.ts +4 -1
  72. package/dist/core/docops/bootstrap.d.ts.map +1 -1
  73. package/dist/core/docops/bootstrap.js +16 -9
  74. package/dist/core/docops/bootstrap.js.map +1 -1
  75. package/dist/core/docops/guide.d.ts +78 -0
  76. package/dist/core/docops/guide.d.ts.map +1 -0
  77. package/dist/core/docops/guide.js +554 -0
  78. package/dist/core/docops/guide.js.map +1 -0
  79. package/dist/core/docops/migrate.d.ts.map +1 -1
  80. package/dist/core/docops/migrate.js +40 -6
  81. package/dist/core/docops/migrate.js.map +1 -1
  82. package/dist/core/graph/doc-extract.d.ts.map +1 -1
  83. package/dist/core/graph/doc-extract.js +12 -0
  84. package/dist/core/graph/doc-extract.js.map +1 -1
  85. package/dist/core/graph/impact.d.ts.map +1 -1
  86. package/dist/core/graph/impact.js +2 -1
  87. package/dist/core/graph/impact.js.map +1 -1
  88. package/dist/core/graph/link-testcases.d.ts +14 -0
  89. package/dist/core/graph/link-testcases.d.ts.map +1 -0
  90. package/dist/core/graph/link-testcases.js +46 -0
  91. package/dist/core/graph/link-testcases.js.map +1 -0
  92. package/dist/core/operations/docops.d.ts +8 -0
  93. package/dist/core/operations/docops.d.ts.map +1 -1
  94. package/dist/core/operations/docops.js +40 -0
  95. package/dist/core/operations/docops.js.map +1 -1
  96. package/dist/core/operations/index.d.ts.map +1 -1
  97. package/dist/core/operations/index.js +25 -0
  98. package/dist/core/operations/index.js.map +1 -1
  99. package/dist/core/operations/task-gates.d.ts +8 -1
  100. package/dist/core/operations/task-gates.d.ts.map +1 -1
  101. package/dist/core/operations/task-gates.js +14 -0
  102. package/dist/core/operations/task-gates.js.map +1 -1
  103. package/dist/core/operations/task.d.ts +2 -0
  104. package/dist/core/operations/task.d.ts.map +1 -1
  105. package/dist/core/operations/task.js +40 -2
  106. package/dist/core/operations/task.js.map +1 -1
  107. package/dist/core/sync/audit.d.ts.map +1 -1
  108. package/dist/core/sync/audit.js +14 -6
  109. package/dist/core/sync/audit.js.map +1 -1
  110. package/dist/core/sync/baseline.d.ts.map +1 -1
  111. package/dist/core/sync/baseline.js +5 -2
  112. package/dist/core/sync/baseline.js.map +1 -1
  113. package/dist/core/sync/constants.d.ts.map +1 -1
  114. package/dist/core/sync/constants.js +2 -1
  115. package/dist/core/sync/constants.js.map +1 -1
  116. package/dist/core/sync/gaps.d.ts.map +1 -1
  117. package/dist/core/sync/gaps.js +23 -2
  118. package/dist/core/sync/gaps.js.map +1 -1
  119. package/dist/core/sync/git-diff.d.ts +1 -0
  120. package/dist/core/sync/git-diff.d.ts.map +1 -1
  121. package/dist/core/sync/git-diff.js +14 -0
  122. package/dist/core/sync/git-diff.js.map +1 -1
  123. package/dist/core/sync/repo-context.d.ts +23 -0
  124. package/dist/core/sync/repo-context.d.ts.map +1 -0
  125. package/dist/core/sync/repo-context.js +28 -0
  126. package/dist/core/sync/repo-context.js.map +1 -0
  127. package/dist/core/sync/snapshot.d.ts.map +1 -1
  128. package/dist/core/sync/snapshot.js +24 -18
  129. package/dist/core/sync/snapshot.js.map +1 -1
  130. package/dist/core/sync/types.d.ts +7 -2
  131. package/dist/core/sync/types.d.ts.map +1 -1
  132. package/dist/core/upgrade/checklist.json +2 -2
  133. package/dist/interfaces/mcp/schemas.d.ts +2 -0
  134. package/dist/interfaces/mcp/schemas.d.ts.map +1 -1
  135. package/dist/interfaces/mcp/schemas.js +4 -0
  136. package/dist/interfaces/mcp/schemas.js.map +1 -1
  137. package/dist/interfaces/mcp/server.js +0 -0
  138. package/dist/types.d.ts +2 -2
  139. package/dist/types.d.ts.map +1 -1
  140. package/package.json +2 -1
  141. package/scaffold/claude/.claude/skills/_skill-router.md +11 -8
  142. package/scaffold/claude/.claude/skills/ai-spector/references/cli-failures.md +3 -3
  143. package/scaffold/claude/.claude/skills/ai-spector/references/docops-migrate.md +112 -0
  144. package/scaffold/claude/.claude/skills/ai-spector/references/help.md +1 -1
  145. package/scaffold/claude/.claude/skills/ai-spector/references/runbook.md +49 -26
  146. package/scaffold/claude/.claude/skills/ai-spector/skill.md +3 -2
  147. package/scaffold/cursor/skills/_skill-router.md +11 -8
  148. package/scaffold/cursor/skills/ai-spector/SKILL.md +3 -2
  149. package/scaffold/cursor/skills/ai-spector/references/cli-failures.md +3 -3
  150. package/scaffold/cursor/skills/ai-spector/references/docops-migrate.md +112 -0
  151. package/scaffold/cursor/skills/ai-spector/references/help.md +1 -1
  152. package/scaffold/cursor/skills/ai-spector/references/runbook.md +49 -26
  153. package/schemas/rules.impact.json +3 -2
  154. package/schemas/schema.graph.json +4 -2
  155. package/dist/commands/analyze.d.ts +0 -12
  156. package/dist/commands/analyze.d.ts.map +0 -1
  157. package/dist/commands/analyze.js +0 -53
  158. package/dist/commands/analyze.js.map +0 -1
  159. package/dist/commands/bootstrap.d.ts +0 -4
  160. package/dist/commands/bootstrap.d.ts.map +0 -1
  161. package/dist/commands/bootstrap.js +0 -58
  162. package/dist/commands/bootstrap.js.map +0 -1
  163. package/dist/commands/comments.d.ts +0 -44
  164. package/dist/commands/comments.d.ts.map +0 -1
  165. package/dist/commands/comments.js +0 -79
  166. package/dist/commands/comments.js.map +0 -1
  167. package/dist/commands/graph-impact.d.ts +0 -28
  168. package/dist/commands/graph-impact.d.ts.map +0 -1
  169. package/dist/commands/graph-impact.js +0 -174
  170. package/dist/commands/graph-impact.js.map +0 -1
  171. package/dist/commands/graph-merge.d.ts +0 -32
  172. package/dist/commands/graph-merge.d.ts.map +0 -1
  173. package/dist/commands/graph-merge.js +0 -101
  174. package/dist/commands/graph-merge.js.map +0 -1
  175. package/dist/commands/graph-query.d.ts +0 -10
  176. package/dist/commands/graph-query.d.ts.map +0 -1
  177. package/dist/commands/graph-query.js +0 -24
  178. package/dist/commands/graph-query.js.map +0 -1
  179. package/dist/commands/graph-report.d.ts +0 -9
  180. package/dist/commands/graph-report.d.ts.map +0 -1
  181. package/dist/commands/graph-report.js +0 -10
  182. package/dist/commands/graph-report.js.map +0 -1
  183. package/dist/commands/graph-visualize.d.ts +0 -17
  184. package/dist/commands/graph-visualize.d.ts.map +0 -1
  185. package/dist/commands/graph-visualize.js +0 -44
  186. package/dist/commands/graph-visualize.js.map +0 -1
  187. package/dist/commands/hooks-constants.d.ts +0 -2
  188. package/dist/commands/hooks-constants.d.ts.map +0 -1
  189. package/dist/commands/hooks-constants.js +0 -2
  190. package/dist/commands/hooks-constants.js.map +0 -1
  191. package/dist/commands/hooks.d.ts +0 -28
  192. package/dist/commands/hooks.d.ts.map +0 -1
  193. package/dist/commands/hooks.js +0 -187
  194. package/dist/commands/hooks.js.map +0 -1
  195. package/dist/commands/index.d.ts +0 -22
  196. package/dist/commands/index.d.ts.map +0 -1
  197. package/dist/commands/index.js +0 -472
  198. package/dist/commands/index.js.map +0 -1
  199. package/dist/commands/init.d.ts +0 -19
  200. package/dist/commands/init.d.ts.map +0 -1
  201. package/dist/commands/init.js +0 -210
  202. package/dist/commands/init.js.map +0 -1
  203. package/dist/commands/lang-queue.d.ts +0 -28
  204. package/dist/commands/lang-queue.d.ts.map +0 -1
  205. package/dist/commands/lang-queue.js +0 -49
  206. package/dist/commands/lang-queue.js.map +0 -1
  207. package/dist/commands/lang.d.ts +0 -16
  208. package/dist/commands/lang.d.ts.map +0 -1
  209. package/dist/commands/lang.js +0 -69
  210. package/dist/commands/lang.js.map +0 -1
  211. package/dist/commands/prototype.d.ts +0 -66
  212. package/dist/commands/prototype.d.ts.map +0 -1
  213. package/dist/commands/prototype.js +0 -370
  214. package/dist/commands/prototype.js.map +0 -1
  215. package/dist/commands/setup.d.ts +0 -26
  216. package/dist/commands/setup.d.ts.map +0 -1
  217. package/dist/commands/setup.js +0 -259
  218. package/dist/commands/setup.js.map +0 -1
  219. package/dist/commands/sync-cursor.d.ts +0 -10
  220. package/dist/commands/sync-cursor.d.ts.map +0 -1
  221. package/dist/commands/sync-cursor.js +0 -18
  222. package/dist/commands/sync-cursor.js.map +0 -1
  223. package/dist/commands/template-regen.d.ts +0 -24
  224. package/dist/commands/template-regen.d.ts.map +0 -1
  225. package/dist/commands/template-regen.js +0 -240
  226. package/dist/commands/template-regen.js.map +0 -1
  227. package/dist/commands/template.d.ts +0 -3
  228. package/dist/commands/template.d.ts.map +0 -1
  229. package/dist/commands/template.js +0 -1285
  230. package/dist/commands/template.js.map +0 -1
  231. package/dist/commands/validate.d.ts +0 -10
  232. package/dist/commands/validate.d.ts.map +0 -1
  233. package/dist/commands/validate.js +0 -89
  234. package/dist/commands/validate.js.map +0 -1
  235. package/dist/comments/anchor.d.ts +0 -16
  236. package/dist/comments/anchor.d.ts.map +0 -1
  237. package/dist/comments/anchor.js +0 -59
  238. package/dist/comments/anchor.js.map +0 -1
  239. package/dist/comments/inbox.d.ts +0 -82
  240. package/dist/comments/inbox.d.ts.map +0 -1
  241. package/dist/comments/inbox.js +0 -179
  242. package/dist/comments/inbox.js.map +0 -1
  243. package/dist/comments/paths.d.ts +0 -12
  244. package/dist/comments/paths.d.ts.map +0 -1
  245. package/dist/comments/paths.js +0 -54
  246. package/dist/comments/paths.js.map +0 -1
  247. package/dist/comments/plan.d.ts +0 -20
  248. package/dist/comments/plan.d.ts.map +0 -1
  249. package/dist/comments/plan.js +0 -62
  250. package/dist/comments/plan.js.map +0 -1
  251. package/dist/comments/storage.d.ts +0 -30
  252. package/dist/comments/storage.d.ts.map +0 -1
  253. package/dist/comments/storage.js +0 -272
  254. package/dist/comments/storage.js.map +0 -1
  255. package/dist/comments/types.d.ts +0 -54
  256. package/dist/comments/types.d.ts.map +0 -1
  257. package/dist/comments/types.js +0 -2
  258. package/dist/comments/types.js.map +0 -1
  259. package/dist/config/load.d.ts +0 -47
  260. package/dist/config/load.d.ts.map +0 -1
  261. package/dist/config/load.js +0 -148
  262. package/dist/config/load.js.map +0 -1
  263. package/dist/config/types.d.ts +0 -56
  264. package/dist/config/types.d.ts.map +0 -1
  265. package/dist/config/types.js +0 -2
  266. package/dist/config/types.js.map +0 -1
  267. package/dist/core/adopt/apply.d.ts +0 -15
  268. package/dist/core/adopt/apply.d.ts.map +0 -1
  269. package/dist/core/adopt/apply.js +0 -127
  270. package/dist/core/adopt/apply.js.map +0 -1
  271. package/dist/core/adopt/bootstrap.d.ts +0 -16
  272. package/dist/core/adopt/bootstrap.d.ts.map +0 -1
  273. package/dist/core/adopt/bootstrap.js +0 -195
  274. package/dist/core/adopt/bootstrap.js.map +0 -1
  275. package/dist/core/adopt/classify.d.ts +0 -22
  276. package/dist/core/adopt/classify.d.ts.map +0 -1
  277. package/dist/core/adopt/classify.js +0 -295
  278. package/dist/core/adopt/classify.js.map +0 -1
  279. package/dist/core/adopt/paths.d.ts +0 -10
  280. package/dist/core/adopt/paths.d.ts.map +0 -1
  281. package/dist/core/adopt/paths.js +0 -16
  282. package/dist/core/adopt/paths.js.map +0 -1
  283. package/dist/core/adopt/plan.d.ts +0 -10
  284. package/dist/core/adopt/plan.d.ts.map +0 -1
  285. package/dist/core/adopt/plan.js +0 -269
  286. package/dist/core/adopt/plan.js.map +0 -1
  287. package/dist/core/adopt/scan.d.ts +0 -5
  288. package/dist/core/adopt/scan.d.ts.map +0 -1
  289. package/dist/core/adopt/scan.js +0 -169
  290. package/dist/core/adopt/scan.js.map +0 -1
  291. package/dist/core/adopt/setup.d.ts +0 -7
  292. package/dist/core/adopt/setup.d.ts.map +0 -1
  293. package/dist/core/adopt/setup.js +0 -64
  294. package/dist/core/adopt/setup.js.map +0 -1
  295. package/dist/core/adopt/tasks.d.ts +0 -9
  296. package/dist/core/adopt/tasks.d.ts.map +0 -1
  297. package/dist/core/adopt/tasks.js +0 -153
  298. package/dist/core/adopt/tasks.js.map +0 -1
  299. package/dist/core/adopt/types.d.ts +0 -75
  300. package/dist/core/adopt/types.d.ts.map +0 -1
  301. package/dist/core/adopt/types.js +0 -2
  302. package/dist/core/adopt/types.js.map +0 -1
  303. package/dist/core/adopt/validate.d.ts +0 -20
  304. package/dist/core/adopt/validate.d.ts.map +0 -1
  305. package/dist/core/adopt/validate.js +0 -129
  306. package/dist/core/adopt/validate.js.map +0 -1
  307. package/dist/core/docops/dual-write.d.ts +0 -12
  308. package/dist/core/docops/dual-write.d.ts.map +0 -1
  309. package/dist/core/docops/dual-write.js +0 -44
  310. package/dist/core/docops/dual-write.js.map +0 -1
  311. package/dist/core/engine/local-adapter.d.ts +0 -3
  312. package/dist/core/engine/local-adapter.d.ts.map +0 -1
  313. package/dist/core/engine/local-adapter.js +0 -18
  314. package/dist/core/engine/local-adapter.js.map +0 -1
  315. package/dist/core/graph/rules/default-impact.json +0 -24
  316. package/dist/core/operations/adopt-gates.d.ts +0 -19
  317. package/dist/core/operations/adopt-gates.d.ts.map +0 -1
  318. package/dist/core/operations/adopt-gates.js +0 -71
  319. package/dist/core/operations/adopt-gates.js.map +0 -1
  320. package/dist/core/operations/adopt-plan.d.ts +0 -15
  321. package/dist/core/operations/adopt-plan.d.ts.map +0 -1
  322. package/dist/core/operations/adopt-plan.js +0 -24
  323. package/dist/core/operations/adopt-plan.js.map +0 -1
  324. package/dist/core/operations/adopt.d.ts +0 -11
  325. package/dist/core/operations/adopt.d.ts.map +0 -1
  326. package/dist/core/operations/adopt.js +0 -150
  327. package/dist/core/operations/adopt.js.map +0 -1
  328. package/dist/core/operations/analyze.d.ts +0 -12
  329. package/dist/core/operations/analyze.d.ts.map +0 -1
  330. package/dist/core/operations/analyze.js +0 -53
  331. package/dist/core/operations/analyze.js.map +0 -1
  332. package/dist/core/prototype/spa-route-fallbacks.d.ts +0 -21
  333. package/dist/core/prototype/spa-route-fallbacks.d.ts.map +0 -1
  334. package/dist/core/prototype/spa-route-fallbacks.js +0 -93
  335. package/dist/core/prototype/spa-route-fallbacks.js.map +0 -1
  336. package/dist/graph/InMemoryGraph.d.ts +0 -2
  337. package/dist/graph/InMemoryGraph.d.ts.map +0 -1
  338. package/dist/graph/InMemoryGraph.js +0 -2
  339. package/dist/graph/InMemoryGraph.js.map +0 -1
  340. package/dist/graph/bundles.d.ts +0 -32
  341. package/dist/graph/bundles.d.ts.map +0 -1
  342. package/dist/graph/bundles.js +0 -109
  343. package/dist/graph/bundles.js.map +0 -1
  344. package/dist/graph/defaults.d.ts +0 -23
  345. package/dist/graph/defaults.d.ts.map +0 -1
  346. package/dist/graph/defaults.js +0 -25
  347. package/dist/graph/defaults.js.map +0 -1
  348. package/dist/graph/detail-sections.d.ts +0 -28
  349. package/dist/graph/detail-sections.d.ts.map +0 -1
  350. package/dist/graph/detail-sections.js +0 -220
  351. package/dist/graph/detail-sections.js.map +0 -1
  352. package/dist/graph/doc-extract.d.ts +0 -84
  353. package/dist/graph/doc-extract.d.ts.map +0 -1
  354. package/dist/graph/doc-extract.js +0 -821
  355. package/dist/graph/doc-extract.js.map +0 -1
  356. package/dist/graph/impact.d.ts +0 -5
  357. package/dist/graph/impact.d.ts.map +0 -1
  358. package/dist/graph/impact.js +0 -7
  359. package/dist/graph/impact.js.map +0 -1
  360. package/dist/graph/knowledge.d.ts +0 -11
  361. package/dist/graph/knowledge.d.ts.map +0 -1
  362. package/dist/graph/knowledge.js +0 -62
  363. package/dist/graph/knowledge.js.map +0 -1
  364. package/dist/graph/layer-audit.d.ts +0 -5
  365. package/dist/graph/layer-audit.d.ts.map +0 -1
  366. package/dist/graph/layer-audit.js +0 -29
  367. package/dist/graph/layer-audit.js.map +0 -1
  368. package/dist/graph/load.d.ts +0 -4
  369. package/dist/graph/load.d.ts.map +0 -1
  370. package/dist/graph/load.js +0 -12
  371. package/dist/graph/load.js.map +0 -1
  372. package/dist/graph/loadGraph.d.ts +0 -3
  373. package/dist/graph/loadGraph.d.ts.map +0 -1
  374. package/dist/graph/loadGraph.js +0 -7
  375. package/dist/graph/loadGraph.js.map +0 -1
  376. package/dist/graph/merge.d.ts +0 -27
  377. package/dist/graph/merge.d.ts.map +0 -1
  378. package/dist/graph/merge.js +0 -239
  379. package/dist/graph/merge.js.map +0 -1
  380. package/dist/graph/path-target-edges.d.ts +0 -2
  381. package/dist/graph/path-target-edges.d.ts.map +0 -1
  382. package/dist/graph/path-target-edges.js +0 -2
  383. package/dist/graph/path-target-edges.js.map +0 -1
  384. package/dist/graph/provenance.d.ts +0 -19
  385. package/dist/graph/provenance.d.ts.map +0 -1
  386. package/dist/graph/provenance.js +0 -199
  387. package/dist/graph/provenance.js.map +0 -1
  388. package/dist/graph/query.d.ts +0 -3
  389. package/dist/graph/query.d.ts.map +0 -1
  390. package/dist/graph/query.js +0 -2
  391. package/dist/graph/query.js.map +0 -1
  392. package/dist/graph/resolve.d.ts +0 -15
  393. package/dist/graph/resolve.d.ts.map +0 -1
  394. package/dist/graph/resolve.js +0 -117
  395. package/dist/graph/resolve.js.map +0 -1
  396. package/dist/graph/source-refs.d.ts +0 -2
  397. package/dist/graph/source-refs.d.ts.map +0 -1
  398. package/dist/graph/source-refs.js +0 -30
  399. package/dist/graph/source-refs.js.map +0 -1
  400. package/dist/graph/translation.d.ts +0 -14
  401. package/dist/graph/translation.d.ts.map +0 -1
  402. package/dist/graph/translation.js +0 -65
  403. package/dist/graph/translation.js.map +0 -1
  404. package/dist/index/doc-semantics.d.ts +0 -14
  405. package/dist/index/doc-semantics.d.ts.map +0 -1
  406. package/dist/index/doc-semantics.js +0 -101
  407. package/dist/index/doc-semantics.js.map +0 -1
  408. package/dist/index/docs-build.d.ts +0 -40
  409. package/dist/index/docs-build.d.ts.map +0 -1
  410. package/dist/index/docs-build.js +0 -136
  411. package/dist/index/docs-build.js.map +0 -1
  412. package/dist/index/docs-config.d.ts +0 -19
  413. package/dist/index/docs-config.d.ts.map +0 -1
  414. package/dist/index/docs-config.js +0 -5
  415. package/dist/index/docs-config.js.map +0 -1
  416. package/dist/interfaces/cli/format/adopt.d.ts +0 -23
  417. package/dist/interfaces/cli/format/adopt.d.ts.map +0 -1
  418. package/dist/interfaces/cli/format/adopt.js +0 -89
  419. package/dist/interfaces/cli/format/adopt.js.map +0 -1
  420. package/dist/interfaces/mcp/tools/adopt.d.ts +0 -22
  421. package/dist/interfaces/mcp/tools/adopt.d.ts.map +0 -1
  422. package/dist/interfaces/mcp/tools/adopt.js +0 -55
  423. package/dist/interfaces/mcp/tools/adopt.js.map +0 -1
  424. package/dist/lang/diff.d.ts +0 -12
  425. package/dist/lang/diff.d.ts.map +0 -1
  426. package/dist/lang/diff.js +0 -71
  427. package/dist/lang/diff.js.map +0 -1
  428. package/dist/lang/paths.d.ts +0 -16
  429. package/dist/lang/paths.d.ts.map +0 -1
  430. package/dist/lang/paths.js +0 -32
  431. package/dist/lang/paths.js.map +0 -1
  432. package/dist/lang/queue-layout.d.ts +0 -11
  433. package/dist/lang/queue-layout.d.ts.map +0 -1
  434. package/dist/lang/queue-layout.js +0 -56
  435. package/dist/lang/queue-layout.js.map +0 -1
  436. package/dist/lang/queue-store.d.ts +0 -23
  437. package/dist/lang/queue-store.d.ts.map +0 -1
  438. package/dist/lang/queue-store.js +0 -285
  439. package/dist/lang/queue-store.js.map +0 -1
  440. package/dist/lang/queue-types.d.ts +0 -122
  441. package/dist/lang/queue-types.d.ts.map +0 -1
  442. package/dist/lang/queue-types.js +0 -2
  443. package/dist/lang/queue-types.js.map +0 -1
  444. package/dist/lang/queue.d.ts +0 -17
  445. package/dist/lang/queue.d.ts.map +0 -1
  446. package/dist/lang/queue.js +0 -362
  447. package/dist/lang/queue.js.map +0 -1
  448. package/dist/lang/sections.d.ts +0 -26
  449. package/dist/lang/sections.d.ts.map +0 -1
  450. package/dist/lang/sections.js +0 -85
  451. package/dist/lang/sections.js.map +0 -1
  452. package/dist/markdown/parse.d.ts +0 -25
  453. package/dist/markdown/parse.d.ts.map +0 -1
  454. package/dist/markdown/parse.js +0 -100
  455. package/dist/markdown/parse.js.map +0 -1
  456. package/dist/prototype/build-base-path.d.ts +0 -11
  457. package/dist/prototype/build-base-path.d.ts.map +0 -1
  458. package/dist/prototype/build-base-path.js +0 -84
  459. package/dist/prototype/build-base-path.js.map +0 -1
  460. package/dist/prototype/build-manifest.d.ts +0 -21
  461. package/dist/prototype/build-manifest.d.ts.map +0 -1
  462. package/dist/prototype/build-manifest.js +0 -171
  463. package/dist/prototype/build-manifest.js.map +0 -1
  464. package/dist/prototype/config.d.ts +0 -21
  465. package/dist/prototype/config.d.ts.map +0 -1
  466. package/dist/prototype/config.js +0 -131
  467. package/dist/prototype/config.js.map +0 -1
  468. package/dist/prototype/deploy-path.d.ts +0 -9
  469. package/dist/prototype/deploy-path.d.ts.map +0 -1
  470. package/dist/prototype/deploy-path.js +0 -21
  471. package/dist/prototype/deploy-path.js.map +0 -1
  472. package/dist/prototype/htpasswd.d.ts +0 -8
  473. package/dist/prototype/htpasswd.d.ts.map +0 -1
  474. package/dist/prototype/htpasswd.js +0 -36
  475. package/dist/prototype/htpasswd.js.map +0 -1
  476. package/dist/prototype/nginx-config.d.ts +0 -16
  477. package/dist/prototype/nginx-config.d.ts.map +0 -1
  478. package/dist/prototype/nginx-config.js +0 -39
  479. package/dist/prototype/nginx-config.js.map +0 -1
  480. package/dist/prototype/parse-screen-index.d.ts +0 -10
  481. package/dist/prototype/parse-screen-index.d.ts.map +0 -1
  482. package/dist/prototype/parse-screen-index.js +0 -109
  483. package/dist/prototype/parse-screen-index.js.map +0 -1
  484. package/dist/prototype/preview-uri.d.ts +0 -8
  485. package/dist/prototype/preview-uri.d.ts.map +0 -1
  486. package/dist/prototype/preview-uri.js +0 -35
  487. package/dist/prototype/preview-uri.js.map +0 -1
  488. package/dist/prototype/relative-assets.d.ts +0 -9
  489. package/dist/prototype/relative-assets.d.ts.map +0 -1
  490. package/dist/prototype/relative-assets.js +0 -23
  491. package/dist/prototype/relative-assets.js.map +0 -1
  492. package/dist/prototype/resolve-default-screen.d.ts +0 -17
  493. package/dist/prototype/resolve-default-screen.d.ts.map +0 -1
  494. package/dist/prototype/resolve-default-screen.js +0 -31
  495. package/dist/prototype/resolve-default-screen.js.map +0 -1
  496. package/dist/prototype/rewrite-build-assets.d.ts +0 -8
  497. package/dist/prototype/rewrite-build-assets.d.ts.map +0 -1
  498. package/dist/prototype/rewrite-build-assets.js +0 -40
  499. package/dist/prototype/rewrite-build-assets.js.map +0 -1
  500. package/dist/prototype/route-defaults.d.ts +0 -43
  501. package/dist/prototype/route-defaults.d.ts.map +0 -1
  502. package/dist/prototype/route-defaults.js +0 -50
  503. package/dist/prototype/route-defaults.js.map +0 -1
  504. package/dist/prototype/screen-doc-paths.d.ts +0 -15
  505. package/dist/prototype/screen-doc-paths.d.ts.map +0 -1
  506. package/dist/prototype/screen-doc-paths.js +0 -38
  507. package/dist/prototype/screen-doc-paths.js.map +0 -1
  508. package/dist/prototype/spa-route-fallbacks.d.ts +0 -21
  509. package/dist/prototype/spa-route-fallbacks.d.ts.map +0 -1
  510. package/dist/prototype/spa-route-fallbacks.js +0 -93
  511. package/dist/prototype/spa-route-fallbacks.js.map +0 -1
  512. package/dist/prototype/theme-preview.d.ts +0 -17
  513. package/dist/prototype/theme-preview.d.ts.map +0 -1
  514. package/dist/prototype/theme-preview.js +0 -73
  515. package/dist/prototype/theme-preview.js.map +0 -1
  516. package/dist/prototype/themes.d.ts +0 -6
  517. package/dist/prototype/themes.d.ts.map +0 -1
  518. package/dist/prototype/themes.js +0 -55
  519. package/dist/prototype/themes.js.map +0 -1
  520. package/dist/prototype/types.d.ts +0 -160
  521. package/dist/prototype/types.d.ts.map +0 -1
  522. package/dist/prototype/types.js +0 -2
  523. package/dist/prototype/types.js.map +0 -1
  524. package/dist/prototype/validate.d.ts +0 -16
  525. package/dist/prototype/validate.d.ts.map +0 -1
  526. package/dist/prototype/validate.js +0 -149
  527. package/dist/prototype/validate.js.map +0 -1
  528. package/dist/registry/build.d.ts +0 -5
  529. package/dist/registry/build.d.ts.map +0 -1
  530. package/dist/registry/build.js +0 -71
  531. package/dist/registry/build.js.map +0 -1
  532. package/dist/registry/slug.d.ts +0 -4
  533. package/dist/registry/slug.d.ts.map +0 -1
  534. package/dist/registry/slug.js +0 -16
  535. package/dist/registry/slug.js.map +0 -1
  536. package/dist/registry/structure-patch.d.ts +0 -6
  537. package/dist/registry/structure-patch.d.ts.map +0 -1
  538. package/dist/registry/structure-patch.js +0 -49
  539. package/dist/registry/structure-patch.js.map +0 -1
  540. package/dist/template/scan.d.ts +0 -21
  541. package/dist/template/scan.d.ts.map +0 -1
  542. package/dist/template/scan.js +0 -84
  543. package/dist/template/scan.js.map +0 -1
  544. package/dist/template/validate.d.ts +0 -10
  545. package/dist/template/validate.d.ts.map +0 -1
  546. package/dist/template/validate.js +0 -64
  547. package/dist/template/validate.js.map +0 -1
  548. package/dist/util/fs.d.ts +0 -6
  549. package/dist/util/fs.d.ts.map +0 -1
  550. package/dist/util/fs.js +0 -24
  551. package/dist/util/fs.js.map +0 -1
  552. package/dist/util/git-diff.d.ts +0 -16
  553. package/dist/util/git-diff.d.ts.map +0 -1
  554. package/dist/util/git-diff.js +0 -93
  555. package/dist/util/git-diff.js.map +0 -1
  556. package/dist/util/gitignore.d.ts +0 -9
  557. package/dist/util/gitignore.d.ts.map +0 -1
  558. package/dist/util/gitignore.js +0 -44
  559. package/dist/util/gitignore.js.map +0 -1
  560. package/dist/util/open-browser.d.ts +0 -3
  561. package/dist/util/open-browser.d.ts.map +0 -1
  562. package/dist/util/open-browser.js +0 -24
  563. package/dist/util/open-browser.js.map +0 -1
  564. package/dist/util/paths.d.ts +0 -16
  565. package/dist/util/paths.d.ts.map +0 -1
  566. package/dist/util/paths.js +0 -19
  567. package/dist/util/paths.js.map +0 -1
  568. package/dist/util/prompt.d.ts +0 -14
  569. package/dist/util/prompt.d.ts.map +0 -1
  570. package/dist/util/prompt.js +0 -65
  571. package/dist/util/prompt.js.map +0 -1
  572. package/dist/visualize/html.d.ts +0 -13
  573. package/dist/visualize/html.d.ts.map +0 -1
  574. package/dist/visualize/html.js +0 -766
  575. package/dist/visualize/html.js.map +0 -1
  576. package/dist/visualize/stats.d.ts +0 -8
  577. package/dist/visualize/stats.d.ts.map +0 -1
  578. package/dist/visualize/stats.js +0 -9
  579. package/dist/visualize/stats.js.map +0 -1
@@ -1,129 +0,0 @@
1
- import { mkdir } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { loadDocflowConfig } from "../config/load.js";
4
- import { runCheck } from "../operations/check.js";
5
- import { validateGraph } from "../operations/validate.js";
6
- import { pathExists, readJson, writeJson } from "../util/fs.js";
7
- import { resolveProjectPaths } from "../util/paths.js";
8
- import { adoptArtifactPaths } from "./paths.js";
9
- import { loadAdoptSetup } from "./setup.js";
10
- import { discoverMarkdownFiles } from "../index/docs-build.js";
11
- import { SRS_MINIMUM_PATHS } from "../operations/derive.js";
12
- function isStructOrCfgError(finding) {
13
- return (finding.severity === "error" &&
14
- (finding.ruleId.startsWith("STRUCT-") || finding.ruleId.startsWith("CFG-")));
15
- }
16
- function checkFindingToGap(finding, severity) {
17
- return {
18
- id: finding.ruleId,
19
- severity,
20
- message: finding.message,
21
- ...(finding.fix ? { fix: finding.fix } : {}),
22
- };
23
- }
24
- async function syncSetupFromPlan(root, plan) {
25
- const { setup, dir } = adoptArtifactPaths(root);
26
- await mkdir(dir, { recursive: true });
27
- const state = await loadAdoptSetup(root);
28
- const now = new Date().toISOString();
29
- let changed = false;
30
- if ((plan.status === "approved" || plan.status === "applied") &&
31
- !state.items["plan.approved"]?.done) {
32
- state.items["plan.approved"] = { done: true, at: now };
33
- changed = true;
34
- }
35
- if (plan.status === "applied" && !state.items["apply.done"]?.done) {
36
- state.items["apply.done"] = { done: true, at: now };
37
- changed = true;
38
- }
39
- if (changed) {
40
- await writeJson(setup, state);
41
- }
42
- }
43
- export async function validateAdopt(opts = {}) {
44
- const { root } = await loadDocflowConfig(opts.root);
45
- const gaps = [];
46
- const questionsForUser = [];
47
- const adoptPaths = adoptArtifactPaths(root);
48
- if (!(await pathExists(adoptPaths.plan))) {
49
- gaps.push({
50
- id: "plan.missing",
51
- severity: "blocking",
52
- message: "No adopt plan found.",
53
- fix: "npx ai-spector adopt plan",
54
- });
55
- }
56
- else {
57
- const plan = await readJson(adoptPaths.plan);
58
- if (plan.status !== "applied") {
59
- gaps.push({
60
- id: "plan.not-applied",
61
- severity: "blocking",
62
- message: `Migration plan is not applied (status: ${plan.status}).`,
63
- fix: "npx ai-spector adopt apply",
64
- });
65
- }
66
- if (opts.sync) {
67
- await syncSetupFromPlan(root, plan);
68
- }
69
- }
70
- const checkResult = await runCheck({ root });
71
- for (const finding of checkResult.findings) {
72
- if (isStructOrCfgError(finding)) {
73
- gaps.push(checkFindingToGap(finding, "blocking"));
74
- }
75
- else if (finding.severity === "warning") {
76
- gaps.push(checkFindingToGap(finding, "warning"));
77
- }
78
- }
79
- const projectPaths = await resolveProjectPaths(root);
80
- if (await pathExists(projectPaths.graph)) {
81
- const issues = await validateGraph({
82
- graphPath: projectPaths.graph,
83
- schemaPath: projectPaths.schema,
84
- registryPath: projectPaths.registry,
85
- rulesPath: projectPaths.rulesTraceability,
86
- });
87
- for (const issue of issues) {
88
- if (issue.severity === "error") {
89
- gaps.push({
90
- id: `graph.${issue.ruleId}`,
91
- severity: "blocking",
92
- message: issue.message,
93
- fix: "npx ai-spector graph validate",
94
- });
95
- }
96
- else if (issue.severity === "warn") {
97
- gaps.push({
98
- id: `graph.${issue.ruleId}`,
99
- severity: "warning",
100
- message: issue.message,
101
- });
102
- }
103
- }
104
- }
105
- const blockingCount = gaps.filter((g) => g.severity === "blocking").length;
106
- const srsFiles = await discoverMarkdownFiles(root, "docs/srs");
107
- const bdFiles = await discoverMarkdownFiles(root, "docs/basic-design");
108
- const ddFiles = await discoverMarkdownFiles(root, "docs/detail-design");
109
- const hasSrsMinimum = (await Promise.all(SRS_MINIMUM_PATHS.map((p) => pathExists(join(root, p))))).every(Boolean);
110
- if (bdFiles.length > 0 && ddFiles.length > 0 && srsFiles.length === 0 && !hasSrsMinimum) {
111
- gaps.push({
112
- id: "derive.srs-missing",
113
- severity: "warning",
114
- message: "SRS missing but basic + detail design exist.",
115
- fix: 'Say "generate SRS from basic design" (sourceMode: derive-downstream, extract pass)',
116
- layer: "srs",
117
- suggestion: "generate-srs",
118
- deriveFrom: ["basic-design", "detail-design"],
119
- });
120
- questionsForUser.push("SRS is missing — backfill with generate SRS from basic design (derive-downstream extract pass)?");
121
- }
122
- return {
123
- ready: blockingCount === 0,
124
- blockingCount,
125
- gaps,
126
- questionsForUser,
127
- };
128
- }
129
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/core/adopt/validate.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export interface DualWriteRoots {
2
- primary: string;
3
- legacy?: string;
4
- }
5
- export declare function mirrorRoots(primaryRel: string, legacyRel?: string): DualWriteRoots;
6
- export declare function writeJsonDual(projectRoot: string, roots: DualWriteRoots, relativePath: string, data: unknown): Promise<void>;
7
- export declare function writeJsonAtomicDual(projectRoot: string, roots: DualWriteRoots, relativePath: string, data: unknown): Promise<void>;
8
- export declare function writeFileDual(projectRoot: string, roots: DualWriteRoots, relativePath: string, content: string, options?: {
9
- append?: boolean;
10
- }): Promise<void>;
11
- export declare function mirrorTree(projectRoot: string, srcRel: string, destRel: string): Promise<void>;
12
- //# sourceMappingURL=dual-write.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual-write.d.ts","sourceRoot":"","sources":["../../../src/core/docops/dual-write.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAKlF;AAED,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -1,44 +0,0 @@
1
- import { cp, mkdir, writeFile } from "node:fs/promises";
2
- import { dirname, join } from "node:path";
3
- import { writeJson, writeJsonAtomic } from "../util/fs.js";
4
- import { docopsDualWriteEnabled } from "./paths.js";
5
- export function mirrorRoots(primaryRel, legacyRel) {
6
- if (!docopsDualWriteEnabled() || !legacyRel || legacyRel === primaryRel) {
7
- return { primary: primaryRel };
8
- }
9
- return { primary: primaryRel, legacy: legacyRel };
10
- }
11
- export async function writeJsonDual(projectRoot, roots, relativePath, data) {
12
- const primaryAbs = join(projectRoot, roots.primary, relativePath);
13
- await writeJson(primaryAbs, data);
14
- if (roots.legacy) {
15
- const legacyAbs = join(projectRoot, roots.legacy, relativePath);
16
- await writeJson(legacyAbs, data);
17
- }
18
- }
19
- export async function writeJsonAtomicDual(projectRoot, roots, relativePath, data) {
20
- const primaryAbs = join(projectRoot, roots.primary, relativePath);
21
- await writeJsonAtomic(primaryAbs, data);
22
- if (roots.legacy) {
23
- const legacyAbs = join(projectRoot, roots.legacy, relativePath);
24
- await writeJsonAtomic(legacyAbs, data);
25
- }
26
- }
27
- export async function writeFileDual(projectRoot, roots, relativePath, content, options) {
28
- const writeOpts = options?.append ? { flag: "a" } : undefined;
29
- const primaryAbs = join(projectRoot, roots.primary, relativePath);
30
- await mkdir(dirname(primaryAbs), { recursive: true });
31
- await writeFile(primaryAbs, content, writeOpts);
32
- if (roots.legacy) {
33
- const legacyAbs = join(projectRoot, roots.legacy, relativePath);
34
- await mkdir(dirname(legacyAbs), { recursive: true });
35
- await writeFile(legacyAbs, content, writeOpts);
36
- }
37
- }
38
- export async function mirrorTree(projectRoot, srcRel, destRel) {
39
- const srcAbs = join(projectRoot, srcRel);
40
- const destAbs = join(projectRoot, destRel);
41
- await mkdir(dirname(destAbs), { recursive: true });
42
- await cp(srcAbs, destAbs, { recursive: true, force: true });
43
- }
44
- //# sourceMappingURL=dual-write.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual-write.js","sourceRoot":"","sources":["../../../src/core/docops/dual-write.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /** True when ai-spector local engine markers exist (not Writer-cloud-only docops). */
2
- export declare function hasLocalAiSpectorAdapter(projectRoot: string): Promise<boolean>;
3
- //# sourceMappingURL=local-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/engine/local-adapter.ts"],"names":[],"mappings":"AAKA,sFAAsF;AACtF,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWpF"}
@@ -1,18 +0,0 @@
1
- import { join } from "node:path";
2
- import { LEGACY_DOCFLOW_CONFIG_REL } from "../docops/paths.js";
3
- import { pathExists } from "../util/fs.js";
4
- import { ENGINE_CONFIG_REL } from "./paths.js";
5
- /** True when ai-spector local engine markers exist (not Writer-cloud-only docops). */
6
- export async function hasLocalAiSpectorAdapter(projectRoot) {
7
- const markers = [
8
- join(projectRoot, ENGINE_CONFIG_REL),
9
- join(projectRoot, LEGACY_DOCFLOW_CONFIG_REL),
10
- ];
11
- for (const marker of markers) {
12
- if (await pathExists(marker)) {
13
- return true;
14
- }
15
- }
16
- return false;
17
- }
18
- //# sourceMappingURL=local-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-adapter.js","sourceRoot":"","sources":["../../../src/core/engine/local-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IAChE,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC;KAC7C,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,24 +0,0 @@
1
- {
2
- "version": 2,
3
- "description": "Impact propagation rules (v2). Two-pass algorithm used by /impact (graph impact CLI).",
4
- "pass1_expand": {
5
- "partOf": { "direction": "out", "depth": "unbounded" },
6
- "listedIn": { "direction": "in", "depth": 1 },
7
- "definedIn": { "direction": "in", "depth": 1 },
8
- "describedIn": { "direction": "in", "depth": 1 },
9
- "dependsOn": { "direction": "in", "depth": "unbounded" }
10
- },
11
- "pass2_downstream": {
12
- "tracesTo": { "direction": "in", "depth": "unbounded" },
13
- "satisfies": { "direction": "in", "depth": 1 },
14
- "references": { "direction": "in", "depth": 2 },
15
- "listedIn": { "direction": "out", "depth": "unbounded" },
16
- "definedIn": { "direction": "out", "depth": "unbounded" },
17
- "describedIn": { "direction": "out", "depth": "unbounded" },
18
- "partOf": { "direction": "out", "depth": "unbounded" }
19
- },
20
- "buckets": {
21
- "regenerate": ["section", "document"],
22
- "review": ["useCase", "feature", "requirement", "nfr", "actor", "dataEntity"]
23
- }
24
- }
@@ -1,19 +0,0 @@
1
- import type { TaskState } from "./task.js";
2
- import type { AdoptPlan } from "../adopt/types.js";
3
- export declare function assertTaskApproveAdoptPlanAllowed(task: TaskState): asserts task is TaskState & {
4
- plan: {
5
- kind: "adopt";
6
- };
7
- };
8
- export declare function assertAdoptApplyAllowed(task: TaskState | null, opts: {
9
- legacy?: boolean;
10
- }): void;
11
- export declare function assertAdoptPlanApprovedOnDisk(root: string): Promise<AdoptPlan>;
12
- export declare function assertAdoptBootstrapAllowed(task: TaskState | null, opts: {
13
- legacy?: boolean;
14
- }): void;
15
- export declare function assertAdoptMigrationCompleteAllowed(task: TaskState | null, opts: {
16
- legacy?: boolean;
17
- validateReady: boolean;
18
- }): void;
19
- //# sourceMappingURL=adopt-gates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt-gates.d.ts","sourceRoot":"","sources":["../../../src/core/operations/adopt-gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,IAAI,SAAS,GAAG;IAAE,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAqEzD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,IAAI,CAsBN;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAOpF;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,IAAI,CAeN;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GACjD,IAAI,CAkBN"}
@@ -1,71 +0,0 @@
1
- import { TaskPreconditionError } from "./task-gates.js";
2
- import { readJson } from "../util/fs.js";
3
- import { adoptArtifactPaths } from "../adopt/paths.js";
4
- function stepStatus(task, stepId) {
5
- return task.steps.find((s) => s.id === stepId)?.status ?? "missing";
6
- }
7
- export function assertTaskApproveAdoptPlanAllowed(task) {
8
- if (task.kind !== "adopt") {
9
- throw new TaskPreconditionError("step_premature", `task_approve_adopt_plan is only for adopt tasks (got kind "${task.kind}").`, "Use task_approve_plan for generate/resolve; task_approve_import_plan for import.", ["task_approve_plan", "task_approve_import_plan"], task);
10
- }
11
- if (task.planApprovedAt) {
12
- throw new TaskPreconditionError("plan_already_approved", `Adopt task "${task.id}" plan already approved.`, "Continue with adopt_apply. Do not call task_approve_adopt_plan again.", ["adopt_apply", "task_get"], task);
13
- }
14
- if (!task.plan || task.plan.kind !== "adopt") {
15
- throw new TaskPreconditionError("plan_missing", `Adopt task "${task.id}" has no adopt plan summary.`, "Run adopt_plan, store summary via task_update, present mapping table.", ["adopt_plan", "task_update"], task, "plan");
16
- }
17
- if (stepStatus(task, "check") !== "done" || !task.snapshot.workspaceCheckAt) {
18
- throw new TaskPreconditionError("step_incomplete", `Adopt task "${task.id}" — complete check first.`, "Run workspace_check, set snapshot.workspaceCheckAt, mark check done.", ["workspace_check", "task_update"], task, "check");
19
- }
20
- if (stepStatus(task, "clarify") !== "done" || !task.snapshot.adoptClarifyCompleteAt) {
21
- throw new TaskPreconditionError("step_incomplete", `Adopt task "${task.id}" — complete clarify first.`, "Resolve adopt_scan blocking questions, set adoptClarifyCompleteAt.", ["adopt_scan", "adopt_context_record", "task_update"], task, "clarify");
22
- }
23
- if (!task.snapshot.adoptPlanPresentedAt) {
24
- throw new TaskPreconditionError("snapshot_missing", `Adopt task "${task.id}" — mapping table not presented.`, "Show mapping table in chat, set snapshot.adoptPlanPresentedAt.", ["task_update"], task, "plan");
25
- }
26
- if (stepStatus(task, "plan") === "done") {
27
- throw new TaskPreconditionError("step_premature", `Adopt task "${task.id}" plan step done without task_approve_adopt_plan.`, "Wait for user yes, then task_approve_adopt_plan — not task_update on plan.", ["task_approve_adopt_plan"], task, "plan");
28
- }
29
- }
30
- export function assertAdoptApplyAllowed(task, opts) {
31
- if (opts.legacy)
32
- return;
33
- if (!task || task.kind !== "adopt") {
34
- throw new TaskPreconditionError("step_incomplete", "adopt_apply requires an active adopt task or --legacy.", 'task_create({ kind: "adopt", workflow: "adopt" }) then task_approve_adopt_plan.', ["task_create", "task_approve_adopt_plan"], task ?? { id: "none", kind: "adopt", workflow: "adopt" }, "apply");
35
- }
36
- if (!task.planApprovedAt || stepStatus(task, "plan") !== "done") {
37
- throw new TaskPreconditionError("plan_not_approved", `Cannot apply — adopt plan not approved for task "${task.id}".`, "Present mapping table and call task_approve_adopt_plan after user confirms.", ["task_approve_adopt_plan"], task, "plan");
38
- }
39
- }
40
- export async function assertAdoptPlanApprovedOnDisk(root) {
41
- const { plan: planPath } = adoptArtifactPaths(root);
42
- const plan = await readJson(planPath);
43
- if (plan.status !== "approved" && plan.status !== "applied") {
44
- throw new Error(`adopt plan status is "${plan.status}" — expected approved`);
45
- }
46
- return plan;
47
- }
48
- export function assertAdoptBootstrapAllowed(task, opts) {
49
- if (opts.legacy)
50
- return;
51
- if (!task || task.kind !== "adopt") {
52
- throw new Error("adopt_bootstrap requires active adopt task or --legacy");
53
- }
54
- if (stepStatus(task, "apply") !== "done" || !task.snapshot.adoptApplyAt) {
55
- throw new TaskPreconditionError("step_incomplete", `Adopt task "${task.id}" — complete apply before bootstrap.`, "Run adopt_apply after plan approval, mark apply done.", ["adopt_apply", "task_update"], task, "bootstrap");
56
- }
57
- }
58
- export function assertAdoptMigrationCompleteAllowed(task, opts) {
59
- if (opts.legacy)
60
- return;
61
- if (!task || task.kind !== "adopt") {
62
- throw new Error("migration.complete requires active adopt task or --legacy");
63
- }
64
- if (!opts.validateReady) {
65
- throw new Error("adopt_validate must report ready: true before migration.complete");
66
- }
67
- if (stepStatus(task, "validate") !== "done" || !task.snapshot.adoptValidateReadyAt) {
68
- throw new TaskPreconditionError("step_incomplete", `Adopt task "${task.id}" — complete validate before migration.complete.`, "Run adopt_validate until ready, mark validate done.", ["adopt_validate", "task_update"], task, "complete");
69
- }
70
- }
71
- //# sourceMappingURL=adopt-gates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt-gates.js","sourceRoot":"","sources":["../../../src/core/operations/adopt-gates.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { AdoptPlan, AdoptScanResult } from "../adopt/types.js";
2
- export interface AdoptPlanSummary {
3
- moveCount: number;
4
- layers: {
5
- srs: number;
6
- basicDesign: number;
7
- detailDesign: number;
8
- prototype: number;
9
- };
10
- lowConfidenceCount: number;
11
- classification: AdoptScanResult["classification"];
12
- warnings: string[];
13
- }
14
- export declare function buildAdoptPlanSummary(plan: AdoptPlan, classification: AdoptScanResult["classification"]): AdoptPlanSummary;
15
- //# sourceMappingURL=adopt-plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt-plan.d.ts","sourceRoot":"","sources":["../../../src/core/operations/adopt-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAChD,gBAAgB,CAiBlB"}
@@ -1,24 +0,0 @@
1
- export function buildAdoptPlanSummary(plan, classification) {
2
- const layers = { srs: 0, basicDesign: 0, detailDesign: 0, prototype: 0 };
3
- let lowConfidenceCount = 0;
4
- for (const move of plan.moves) {
5
- if (move.layer === "srs")
6
- layers.srs++;
7
- else if (move.layer === "basic-design")
8
- layers.basicDesign++;
9
- else if (move.layer === "detail-design")
10
- layers.detailDesign++;
11
- else if (move.layer === "prototype")
12
- layers.prototype++;
13
- if (move.confidence === "low")
14
- lowConfidenceCount++;
15
- }
16
- return {
17
- moveCount: plan.moves.length,
18
- layers,
19
- lowConfidenceCount,
20
- classification,
21
- warnings: plan.warnings,
22
- };
23
- }
24
- //# sourceMappingURL=adopt-plan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt-plan.js","sourceRoot":"","sources":["../../../src/core/operations/adopt-plan.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,qBAAqB,CACnC,IAAe,EACf,cAAiD;IAEjD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACzE,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,MAAM,CAAC,GAAG,EAAE,CAAC;aAClC,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc;YAAE,MAAM,CAAC,WAAW,EAAE,CAAC;aACxD,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe;YAAE,MAAM,CAAC,YAAY,EAAE,CAAC;aAC1D,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;YAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,kBAAkB,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QAC5B,MAAM;QACN,kBAAkB;QAClB,cAAc;QACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { Command } from "commander";
2
- export { runAdoptScan } from "../adopt/scan.js";
3
- export { runAdoptPlan, approveAdoptPlan } from "../adopt/plan.js";
4
- export { runAdoptApply } from "../adopt/apply.js";
5
- export { runAdoptBootstrap } from "../adopt/bootstrap.js";
6
- export { validateAdopt } from "../adopt/validate.js";
7
- export { markAdoptSetupItem, recordAdoptAnswer } from "../adopt/setup.js";
8
- export type { AdoptScanResult, AdoptPlan, AdoptSetupState, AdoptQuestion, AdoptInventoryItem, } from "../adopt/types.js";
9
- export type { AdoptValidationResult, AdoptValidationGap } from "../adopt/validate.js";
10
- export declare function registerAdoptCommand(program: Command): void;
11
- //# sourceMappingURL=adopt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../../src/core/operations/adopt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAStF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuI3D"}
@@ -1,150 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { loadDocflowConfig } from "../config/load.js";
3
- import { runAdoptApply } from "../adopt/apply.js";
4
- import { runAdoptBootstrap } from "../adopt/bootstrap.js";
5
- import { runAdoptPlan, approveAdoptPlan } from "../adopt/plan.js";
6
- import { runAdoptScan } from "../adopt/scan.js";
7
- import { markAdoptSetupItem, recordAdoptAnswer } from "../adopt/setup.js";
8
- import { validateAdopt } from "../adopt/validate.js";
9
- import { formatAdoptApply, formatAdoptBootstrap, formatAdoptContextRecord, formatAdoptPlan, formatAdoptScan, formatAdoptSetupMark, formatAdoptValidate, } from "../../interfaces/cli/format/adopt.js";
10
- export { runAdoptScan } from "../adopt/scan.js";
11
- export { runAdoptPlan, approveAdoptPlan } from "../adopt/plan.js";
12
- export { runAdoptApply } from "../adopt/apply.js";
13
- export { runAdoptBootstrap } from "../adopt/bootstrap.js";
14
- export { validateAdopt } from "../adopt/validate.js";
15
- export { markAdoptSetupItem, recordAdoptAnswer } from "../adopt/setup.js";
16
- import { getActiveTaskForSlot } from "./task.js";
17
- async function projectRoot(cwd) {
18
- const { root } = await loadDocflowConfig(cwd ? resolve(cwd) : undefined);
19
- return root;
20
- }
21
- export function registerAdoptCommand(program) {
22
- const adopt = program
23
- .command("adopt")
24
- .description("Migrate existing docs to canonical AI Spector layout");
25
- adopt
26
- .command("scan")
27
- .description("Classify project layout and inventory existing docs")
28
- .option("-C, --cwd <path>", "Project root", process.cwd())
29
- .option("--json", "JSON output")
30
- .action(async (opts) => {
31
- const result = await runAdoptScan({ root: resolve(opts.cwd ?? process.cwd()) });
32
- if (opts.json) {
33
- console.log(JSON.stringify(result, null, 2));
34
- return;
35
- }
36
- console.log(formatAdoptScan(result));
37
- });
38
- adopt
39
- .command("plan")
40
- .description("Build migration plan from scan result and stored answers")
41
- .option("-C, --cwd <path>", "Project root", process.cwd())
42
- .option("--json", "JSON output")
43
- .option("--approve", "Approve plan after generation (Gate 2)")
44
- .option("--by <email>", "Approver identity when using --approve")
45
- .option("--sync", "Refresh heuristics from scan (overwrite draft plan)")
46
- .action(async (opts) => {
47
- const root = resolve(opts.cwd ?? process.cwd());
48
- let result = await runAdoptPlan({ root, sync: opts.sync });
49
- if (opts.approve) {
50
- result = await approveAdoptPlan({ root, by: opts.by });
51
- }
52
- if (opts.json) {
53
- console.log(JSON.stringify(result, null, 2));
54
- return;
55
- }
56
- console.log(formatAdoptPlan(result));
57
- });
58
- adopt
59
- .command("apply")
60
- .description("Execute approved migration plan (git mv when in a git repo)")
61
- .option("-C, --cwd <path>", "Project root", process.cwd())
62
- .option("--dry-run", "Preview moves without changing files")
63
- .option("--legacy", "Bypass adopt task gates (scripts/CI only)")
64
- .option("--json", "JSON output")
65
- .action(async (opts) => {
66
- const root = resolve(opts.cwd ?? process.cwd());
67
- const activeTask = opts.legacy ? null : await getActiveTaskForSlot(root, "adopt");
68
- const result = await runAdoptApply({
69
- root,
70
- dryRun: opts.dryRun,
71
- legacy: opts.legacy,
72
- activeTask,
73
- });
74
- if (opts.json) {
75
- console.log(JSON.stringify(result, null, 2));
76
- return;
77
- }
78
- console.log(formatAdoptApply(result));
79
- });
80
- adopt
81
- .command("bootstrap")
82
- .description("Post-move index, analyze, prototype, review registry, and adopt tasks")
83
- .option("-C, --cwd <path>", "Project root", process.cwd())
84
- .option("--json", "JSON output")
85
- .option("--skip-analyze", "Skip optional analyze step")
86
- .option("--legacy", "Bypass adopt task gates (scripts/CI only)")
87
- .action(async (opts) => {
88
- const root = resolve(opts.cwd ?? process.cwd());
89
- const activeTask = opts.legacy ? null : await getActiveTaskForSlot(root, "adopt");
90
- const result = await runAdoptBootstrap({
91
- root,
92
- skipAnalyze: opts.skipAnalyze,
93
- legacy: opts.legacy,
94
- activeTask,
95
- });
96
- if (opts.json) {
97
- console.log(JSON.stringify(result, null, 2));
98
- return;
99
- }
100
- console.log(formatAdoptBootstrap(result));
101
- });
102
- adopt
103
- .command("validate")
104
- .description("Readiness gate — workspace + graph checks after migration")
105
- .option("-C, --cwd <path>", "Project root", process.cwd())
106
- .option("--json", "JSON output")
107
- .option("--sync", "Update adopt-setup.json from plan status")
108
- .action(async (opts) => {
109
- const result = await validateAdopt({
110
- root: resolve(opts.cwd ?? process.cwd()),
111
- sync: opts.sync,
112
- });
113
- if (opts.json) {
114
- console.log(JSON.stringify(result, null, 2));
115
- process.exitCode = result.ready ? 0 : 1;
116
- return;
117
- }
118
- console.log(formatAdoptValidate(result));
119
- process.exitCode = result.ready ? 0 : 1;
120
- });
121
- adopt
122
- .command("setup-mark <item-id>")
123
- .description("Mark a human-confirmed adopt setup item done (e.g. migration.complete)")
124
- .option("-C, --cwd <path>", "Project root", process.cwd())
125
- .option("--json", "JSON output")
126
- .action(async (itemId, opts) => {
127
- const root = await projectRoot(opts.cwd);
128
- const result = await markAdoptSetupItem(root, itemId);
129
- if (opts.json) {
130
- console.log(JSON.stringify(result, null, 2));
131
- return;
132
- }
133
- console.log(formatAdoptSetupMark(itemId, result));
134
- });
135
- adopt
136
- .command("context-record <id> <answer>")
137
- .description("Record Gate 1 answer in adopt context.json")
138
- .option("-C, --cwd <path>", "Project root", process.cwd())
139
- .option("--json", "JSON output")
140
- .action(async (id, answer, opts) => {
141
- const root = await projectRoot(opts.cwd);
142
- await recordAdoptAnswer(root, id, answer);
143
- if (opts.json) {
144
- console.log(JSON.stringify({ id, answer }, null, 2));
145
- return;
146
- }
147
- console.log(formatAdoptContextRecord(id, answer));
148
- });
149
- }
150
- //# sourceMappingURL=adopt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../../src/core/operations/adopt.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export interface AnalyzePrepOptions {
2
- merge?: boolean;
3
- }
4
- export interface AnalyzePrepResult {
5
- documentCount: number;
6
- sectionCount: number;
7
- registryPath: string;
8
- graphPath: string;
9
- merged: boolean;
10
- }
11
- export declare function runAnalyzePrep(root?: string, opts?: AnalyzePrepOptions): Promise<AnalyzePrepResult>;
12
- //# sourceMappingURL=analyze.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/core/operations/analyze.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,cAAc,CAClC,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAkD5B"}