@seanmars/tospec 0.19.0-beta.7 → 0.20.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 (429) hide show
  1. package/CHANGELOG.md +60 -231
  2. package/README.md +69 -82
  3. package/assets/dashboard/app.js +14 -3
  4. package/assets/dashboard/style.css +7 -0
  5. package/assets/rules/tospec/decision.md +3 -0
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +227 -86
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/commands/config.d.ts +9 -17
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +366 -107
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/dashboard.d.ts +57 -99
  14. package/dist/commands/dashboard.d.ts.map +1 -1
  15. package/dist/commands/dashboard.js +224 -282
  16. package/dist/commands/dashboard.js.map +1 -1
  17. package/dist/commands/decision.d.ts +41 -19
  18. package/dist/commands/decision.d.ts.map +1 -1
  19. package/dist/commands/decision.js +385 -79
  20. package/dist/commands/decision.js.map +1 -1
  21. package/dist/commands/metrics.d.ts +28 -51
  22. package/dist/commands/metrics.d.ts.map +1 -1
  23. package/dist/commands/metrics.js +62 -93
  24. package/dist/commands/metrics.js.map +1 -1
  25. package/dist/commands/shared-output.d.ts +18 -21
  26. package/dist/commands/shared-output.d.ts.map +1 -1
  27. package/dist/commands/shared-output.js +49 -23
  28. package/dist/commands/shared-output.js.map +1 -1
  29. package/dist/commands/show.d.ts +7 -0
  30. package/dist/commands/show.d.ts.map +1 -1
  31. package/dist/commands/show.js +29 -7
  32. package/dist/commands/show.js.map +1 -1
  33. package/dist/commands/validate.d.ts +43 -45
  34. package/dist/commands/validate.d.ts.map +1 -1
  35. package/dist/commands/validate.js +262 -129
  36. package/dist/commands/validate.js.map +1 -1
  37. package/dist/commands/workflow/index.d.ts +6 -10
  38. package/dist/commands/workflow/index.d.ts.map +1 -1
  39. package/dist/commands/workflow/index.js +6 -10
  40. package/dist/commands/workflow/index.js.map +1 -1
  41. package/dist/commands/workflow/instructions.d.ts +21 -8
  42. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  43. package/dist/commands/workflow/instructions.js +254 -95
  44. package/dist/commands/workflow/instructions.js.map +1 -1
  45. package/dist/commands/workflow/new-change.d.ts +4 -5
  46. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  47. package/dist/commands/workflow/new-change.js +90 -25
  48. package/dist/commands/workflow/new-change.js.map +1 -1
  49. package/dist/commands/workflow/schemas.d.ts +3 -5
  50. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  51. package/dist/commands/workflow/schemas.js +37 -11
  52. package/dist/commands/workflow/schemas.js.map +1 -1
  53. package/dist/commands/workflow/shared.d.ts +48 -21
  54. package/dist/commands/workflow/shared.d.ts.map +1 -1
  55. package/dist/commands/workflow/shared.js +36 -33
  56. package/dist/commands/workflow/shared.js.map +1 -1
  57. package/dist/commands/workflow/status.d.ts +10 -6
  58. package/dist/commands/workflow/status.d.ts.map +1 -1
  59. package/dist/commands/workflow/status.js +81 -42
  60. package/dist/commands/workflow/status.js.map +1 -1
  61. package/dist/commands/workflow/templates.d.ts +10 -3
  62. package/dist/commands/workflow/templates.d.ts.map +1 -1
  63. package/dist/commands/workflow/templates.js +39 -40
  64. package/dist/commands/workflow/templates.js.map +1 -1
  65. package/dist/core/archive.d.ts +26 -21
  66. package/dist/core/archive.d.ts.map +1 -1
  67. package/dist/core/archive.js +378 -235
  68. package/dist/core/archive.js.map +1 -1
  69. package/dist/core/artifact-graph/graph.d.ts +25 -42
  70. package/dist/core/artifact-graph/graph.d.ts.map +1 -1
  71. package/dist/core/artifact-graph/graph.js +45 -63
  72. package/dist/core/artifact-graph/graph.js.map +1 -1
  73. package/dist/core/artifact-graph/index.d.ts +1 -1
  74. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  75. package/dist/core/artifact-graph/index.js +1 -1
  76. package/dist/core/artifact-graph/index.js.map +1 -1
  77. package/dist/core/artifact-graph/instruction-loader.d.ts +97 -103
  78. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  79. package/dist/core/artifact-graph/instruction-loader.js +146 -119
  80. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  81. package/dist/core/artifact-graph/outputs.d.ts +9 -23
  82. package/dist/core/artifact-graph/outputs.d.ts.map +1 -1
  83. package/dist/core/artifact-graph/outputs.js +45 -38
  84. package/dist/core/artifact-graph/outputs.js.map +1 -1
  85. package/dist/core/artifact-graph/resolver.d.ts +44 -63
  86. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  87. package/dist/core/artifact-graph/resolver.js +85 -86
  88. package/dist/core/artifact-graph/resolver.js.map +1 -1
  89. package/dist/core/artifact-graph/schema.d.ts +0 -6
  90. package/dist/core/artifact-graph/schema.d.ts.map +1 -1
  91. package/dist/core/artifact-graph/schema.js +7 -32
  92. package/dist/core/artifact-graph/schema.js.map +1 -1
  93. package/dist/core/artifact-graph/state.d.ts +1 -8
  94. package/dist/core/artifact-graph/state.d.ts.map +1 -1
  95. package/dist/core/artifact-graph/state.js +2 -17
  96. package/dist/core/artifact-graph/state.js.map +1 -1
  97. package/dist/core/artifact-graph/stub-detection.d.ts +12 -0
  98. package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
  99. package/dist/core/artifact-graph/stub-detection.js +39 -0
  100. package/dist/core/artifact-graph/stub-detection.js.map +1 -0
  101. package/dist/core/artifact-graph/types.d.ts +4 -0
  102. package/dist/core/artifact-graph/types.d.ts.map +1 -1
  103. package/dist/core/artifact-graph/types.js +30 -10
  104. package/dist/core/artifact-graph/types.js.map +1 -1
  105. package/dist/core/available-tools.d.ts +3 -12
  106. package/dist/core/available-tools.d.ts.map +1 -1
  107. package/dist/core/available-tools.js +4 -13
  108. package/dist/core/available-tools.js.map +1 -1
  109. package/dist/core/change-metadata/schema.d.ts +1 -1
  110. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  111. package/dist/core/change-metadata/schema.js +10 -7
  112. package/dist/core/change-metadata/schema.js.map +1 -1
  113. package/dist/core/change-presenter.d.ts +23 -18
  114. package/dist/core/change-presenter.d.ts.map +1 -1
  115. package/dist/core/change-presenter.js +102 -43
  116. package/dist/core/change-presenter.js.map +1 -1
  117. package/dist/core/change-status-policy.d.ts +8 -1
  118. package/dist/core/change-status-policy.d.ts.map +1 -1
  119. package/dist/core/change-status-policy.js +25 -1
  120. package/dist/core/change-status-policy.js.map +1 -1
  121. package/dist/core/codex-metrics.d.ts +25 -45
  122. package/dist/core/codex-metrics.d.ts.map +1 -1
  123. package/dist/core/codex-metrics.js +44 -88
  124. package/dist/core/codex-metrics.js.map +1 -1
  125. package/dist/core/codex-residue.d.ts +14 -15
  126. package/dist/core/codex-residue.d.ts.map +1 -1
  127. package/dist/core/codex-residue.js +18 -22
  128. package/dist/core/codex-residue.js.map +1 -1
  129. package/dist/core/command-generation/adapters/claude.d.ts +2 -9
  130. package/dist/core/command-generation/adapters/claude.d.ts.map +1 -1
  131. package/dist/core/command-generation/adapters/claude.js +2 -12
  132. package/dist/core/command-generation/adapters/claude.js.map +1 -1
  133. package/dist/core/command-generation/adapters/index.d.ts +1 -9
  134. package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
  135. package/dist/core/command-generation/adapters/index.js +1 -9
  136. package/dist/core/command-generation/adapters/index.js.map +1 -1
  137. package/dist/core/command-generation/generator.d.ts +0 -17
  138. package/dist/core/command-generation/generator.d.ts.map +1 -1
  139. package/dist/core/command-generation/generator.js +0 -17
  140. package/dist/core/command-generation/generator.js.map +1 -1
  141. package/dist/core/command-generation/index.d.ts +2 -5
  142. package/dist/core/command-generation/index.d.ts.map +1 -1
  143. package/dist/core/command-generation/index.js +0 -9
  144. package/dist/core/command-generation/index.js.map +1 -1
  145. package/dist/core/command-generation/types.d.ts +10 -36
  146. package/dist/core/command-generation/types.d.ts.map +1 -1
  147. package/dist/core/command-generation/types.js +0 -6
  148. package/dist/core/command-generation/types.js.map +1 -1
  149. package/dist/core/command-generation/yaml.d.ts +3 -18
  150. package/dist/core/command-generation/yaml.d.ts.map +1 -1
  151. package/dist/core/command-generation/yaml.js +5 -23
  152. package/dist/core/command-generation/yaml.js.map +1 -1
  153. package/dist/core/config-prompts.d.ts +2 -4
  154. package/dist/core/config-prompts.d.ts.map +1 -1
  155. package/dist/core/config-prompts.js +2 -7
  156. package/dist/core/config-prompts.js.map +1 -1
  157. package/dist/core/config-schema.d.ts +8 -53
  158. package/dist/core/config-schema.d.ts.map +1 -1
  159. package/dist/core/config-schema.js +49 -62
  160. package/dist/core/config-schema.js.map +1 -1
  161. package/dist/core/config.d.ts +39 -26
  162. package/dist/core/config.d.ts.map +1 -1
  163. package/dist/core/config.js +36 -22
  164. package/dist/core/config.js.map +1 -1
  165. package/dist/core/dashboard-activity.d.ts +7 -9
  166. package/dist/core/dashboard-activity.d.ts.map +1 -1
  167. package/dist/core/dashboard-activity.js +26 -24
  168. package/dist/core/dashboard-activity.js.map +1 -1
  169. package/dist/core/dashboard-data.d.ts +40 -22
  170. package/dist/core/dashboard-data.d.ts.map +1 -1
  171. package/dist/core/dashboard-data.js +62 -70
  172. package/dist/core/dashboard-data.js.map +1 -1
  173. package/dist/core/global-config.d.ts +24 -53
  174. package/dist/core/global-config.d.ts.map +1 -1
  175. package/dist/core/global-config.js +38 -67
  176. package/dist/core/global-config.js.map +1 -1
  177. package/dist/core/init.d.ts +25 -19
  178. package/dist/core/init.d.ts.map +1 -1
  179. package/dist/core/init.js +168 -181
  180. package/dist/core/init.js.map +1 -1
  181. package/dist/core/list.d.ts +1 -1
  182. package/dist/core/list.d.ts.map +1 -1
  183. package/dist/core/list.js +121 -28
  184. package/dist/core/list.js.map +1 -1
  185. package/dist/core/local-server.d.ts +41 -83
  186. package/dist/core/local-server.d.ts.map +1 -1
  187. package/dist/core/local-server.js +53 -98
  188. package/dist/core/local-server.js.map +1 -1
  189. package/dist/core/markdown-render.d.ts +25 -0
  190. package/dist/core/markdown-render.d.ts.map +1 -0
  191. package/dist/core/markdown-render.js +94 -0
  192. package/dist/core/markdown-render.js.map +1 -0
  193. package/dist/core/migrate.d.ts +29 -14
  194. package/dist/core/migrate.d.ts.map +1 -1
  195. package/dist/core/migrate.js +184 -122
  196. package/dist/core/migrate.js.map +1 -1
  197. package/dist/core/parsers/change-parser.d.ts +7 -10
  198. package/dist/core/parsers/change-parser.d.ts.map +1 -1
  199. package/dist/core/parsers/change-parser.js +48 -56
  200. package/dist/core/parsers/change-parser.js.map +1 -1
  201. package/dist/core/parsers/markdown-parser.d.ts +8 -9
  202. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  203. package/dist/core/parsers/markdown-parser.js +31 -22
  204. package/dist/core/parsers/markdown-parser.js.map +1 -1
  205. package/dist/core/parsers/requirement-blocks.d.ts +43 -15
  206. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
  207. package/dist/core/parsers/requirement-blocks.js +142 -70
  208. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  209. package/dist/core/parsers/requirement-text.d.ts +73 -79
  210. package/dist/core/parsers/requirement-text.d.ts.map +1 -1
  211. package/dist/core/parsers/requirement-text.js +137 -79
  212. package/dist/core/parsers/requirement-text.js.map +1 -1
  213. package/dist/core/parsers/spec-structure.d.ts.map +1 -1
  214. package/dist/core/parsers/spec-structure.js +10 -6
  215. package/dist/core/parsers/spec-structure.js.map +1 -1
  216. package/dist/core/profiles.d.ts +3 -10
  217. package/dist/core/profiles.d.ts.map +1 -1
  218. package/dist/core/profiles.js +5 -12
  219. package/dist/core/profiles.js.map +1 -1
  220. package/dist/core/project-config.d.ts +43 -44
  221. package/dist/core/project-config.d.ts.map +1 -1
  222. package/dist/core/project-config.js +107 -82
  223. package/dist/core/project-config.js.map +1 -1
  224. package/dist/core/project-layout.d.ts +9 -17
  225. package/dist/core/project-layout.d.ts.map +1 -1
  226. package/dist/core/project-layout.js +16 -26
  227. package/dist/core/project-layout.js.map +1 -1
  228. package/dist/core/root-selection.d.ts +11 -7
  229. package/dist/core/root-selection.d.ts.map +1 -1
  230. package/dist/core/root-selection.js +7 -8
  231. package/dist/core/root-selection.js.map +1 -1
  232. package/dist/core/rules.d.ts +6 -1
  233. package/dist/core/rules.d.ts.map +1 -1
  234. package/dist/core/rules.js +23 -2
  235. package/dist/core/rules.js.map +1 -1
  236. package/dist/core/schema-names.d.ts +16 -0
  237. package/dist/core/schema-names.d.ts.map +1 -0
  238. package/dist/core/schema-names.js +16 -0
  239. package/dist/core/schema-names.js.map +1 -0
  240. package/dist/core/schemas/base.schema.d.ts +3 -0
  241. package/dist/core/schemas/base.schema.d.ts.map +1 -1
  242. package/dist/core/schemas/base.schema.js +22 -6
  243. package/dist/core/schemas/base.schema.js.map +1 -1
  244. package/dist/core/schemas/change.schema.d.ts +16 -0
  245. package/dist/core/schemas/change.schema.d.ts.map +1 -1
  246. package/dist/core/schemas/change.schema.js +41 -10
  247. package/dist/core/schemas/change.schema.js.map +1 -1
  248. package/dist/core/schemas/spec.schema.d.ts +2 -0
  249. package/dist/core/schemas/spec.schema.d.ts.map +1 -1
  250. package/dist/core/shared/index.d.ts +3 -8
  251. package/dist/core/shared/index.d.ts.map +1 -1
  252. package/dist/core/shared/index.js +3 -8
  253. package/dist/core/shared/index.js.map +1 -1
  254. package/dist/core/shared/rules-generation.d.ts +19 -8
  255. package/dist/core/shared/rules-generation.d.ts.map +1 -1
  256. package/dist/core/shared/rules-generation.js +117 -50
  257. package/dist/core/shared/rules-generation.js.map +1 -1
  258. package/dist/core/shared/skill-generation.d.ts +28 -43
  259. package/dist/core/shared/skill-generation.d.ts.map +1 -1
  260. package/dist/core/shared/skill-generation.js +82 -51
  261. package/dist/core/shared/skill-generation.js.map +1 -1
  262. package/dist/core/shared/tool-detection.d.ts +39 -61
  263. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  264. package/dist/core/shared/tool-detection.js +88 -80
  265. package/dist/core/shared/tool-detection.js.map +1 -1
  266. package/dist/core/skill-metrics.d.ts +36 -63
  267. package/dist/core/skill-metrics.d.ts.map +1 -1
  268. package/dist/core/skill-metrics.js +34 -73
  269. package/dist/core/skill-metrics.js.map +1 -1
  270. package/dist/core/spec-presenter.js +6 -6
  271. package/dist/core/spec-presenter.js.map +1 -1
  272. package/dist/core/specs-apply.d.ts +22 -23
  273. package/dist/core/specs-apply.d.ts.map +1 -1
  274. package/dist/core/specs-apply.js +166 -193
  275. package/dist/core/specs-apply.js.map +1 -1
  276. package/dist/core/templates/fragments/interview.d.ts +2 -6
  277. package/dist/core/templates/fragments/interview.d.ts.map +1 -1
  278. package/dist/core/templates/fragments/interview.js +2 -6
  279. package/dist/core/templates/fragments/interview.js.map +1 -1
  280. package/dist/core/templates/fragments/next-step.d.ts +4 -8
  281. package/dist/core/templates/fragments/next-step.d.ts.map +1 -1
  282. package/dist/core/templates/fragments/next-step.js +4 -8
  283. package/dist/core/templates/fragments/next-step.js.map +1 -1
  284. package/dist/core/templates/fragments/validate.d.ts +13 -0
  285. package/dist/core/templates/fragments/validate.d.ts.map +1 -0
  286. package/dist/core/templates/fragments/validate.js +13 -0
  287. package/dist/core/templates/fragments/validate.js.map +1 -0
  288. package/dist/core/templates/fragments/verify.d.ts +9 -12
  289. package/dist/core/templates/fragments/verify.d.ts.map +1 -1
  290. package/dist/core/templates/fragments/verify.js +9 -12
  291. package/dist/core/templates/fragments/verify.js.map +1 -1
  292. package/dist/core/templates/index.d.ts +0 -6
  293. package/dist/core/templates/index.d.ts.map +1 -1
  294. package/dist/core/templates/index.js +0 -7
  295. package/dist/core/templates/index.js.map +1 -1
  296. package/dist/core/templates/skill-templates.d.ts +1 -5
  297. package/dist/core/templates/skill-templates.d.ts.map +1 -1
  298. package/dist/core/templates/skill-templates.js +0 -5
  299. package/dist/core/templates/skill-templates.js.map +1 -1
  300. package/dist/core/templates/types.d.ts +3 -7
  301. package/dist/core/templates/types.d.ts.map +1 -1
  302. package/dist/core/templates/types.js +0 -3
  303. package/dist/core/templates/types.js.map +1 -1
  304. package/dist/core/templates/workflows/apply.d.ts +3 -9
  305. package/dist/core/templates/workflows/apply.d.ts.map +1 -1
  306. package/dist/core/templates/workflows/apply.js +11 -13
  307. package/dist/core/templates/workflows/apply.js.map +1 -1
  308. package/dist/core/templates/workflows/archive.d.ts +0 -6
  309. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  310. package/dist/core/templates/workflows/archive.js +19 -6
  311. package/dist/core/templates/workflows/archive.js.map +1 -1
  312. package/dist/core/templates/workflows/decision.js +4 -4
  313. package/dist/core/templates/workflows/decision.js.map +1 -1
  314. package/dist/core/templates/workflows/explore.js +1 -1
  315. package/dist/core/templates/workflows/grill.d.ts.map +1 -1
  316. package/dist/core/templates/workflows/grill.js +0 -2
  317. package/dist/core/templates/workflows/grill.js.map +1 -1
  318. package/dist/core/templates/workflows/issue.d.ts +0 -6
  319. package/dist/core/templates/workflows/issue.d.ts.map +1 -1
  320. package/dist/core/templates/workflows/issue.js +3 -2
  321. package/dist/core/templates/workflows/issue.js.map +1 -1
  322. package/dist/core/templates/workflows/propose.d.ts +0 -6
  323. package/dist/core/templates/workflows/propose.d.ts.map +1 -1
  324. package/dist/core/templates/workflows/propose.js +2 -2
  325. package/dist/core/templates/workflows/propose.js.map +1 -1
  326. package/dist/core/templates/workflows/sync.d.ts +2 -8
  327. package/dist/core/templates/workflows/sync.d.ts.map +1 -1
  328. package/dist/core/templates/workflows/sync.js +4 -3
  329. package/dist/core/templates/workflows/sync.js.map +1 -1
  330. package/dist/core/templates/workflows/update.d.ts +0 -6
  331. package/dist/core/templates/workflows/update.d.ts.map +1 -1
  332. package/dist/core/templates/workflows/update.js +9 -2
  333. package/dist/core/templates/workflows/update.js.map +1 -1
  334. package/dist/core/update.d.ts +23 -23
  335. package/dist/core/update.d.ts.map +1 -1
  336. package/dist/core/update.js +139 -118
  337. package/dist/core/update.js.map +1 -1
  338. package/dist/core/user-state-migration.d.ts +13 -15
  339. package/dist/core/user-state-migration.d.ts.map +1 -1
  340. package/dist/core/user-state-migration.js +16 -20
  341. package/dist/core/user-state-migration.js.map +1 -1
  342. package/dist/core/validation/constants.d.ts +4 -10
  343. package/dist/core/validation/constants.d.ts.map +1 -1
  344. package/dist/core/validation/constants.js +25 -20
  345. package/dist/core/validation/constants.js.map +1 -1
  346. package/dist/core/validation/prose-length.d.ts +15 -0
  347. package/dist/core/validation/prose-length.d.ts.map +1 -0
  348. package/dist/core/validation/prose-length.js +29 -0
  349. package/dist/core/validation/prose-length.js.map +1 -0
  350. package/dist/core/validation/purpose-placeholder.d.ts +9 -16
  351. package/dist/core/validation/purpose-placeholder.d.ts.map +1 -1
  352. package/dist/core/validation/purpose-placeholder.js +30 -44
  353. package/dist/core/validation/purpose-placeholder.js.map +1 -1
  354. package/dist/core/validation/section-validator.d.ts +4 -4
  355. package/dist/core/validation/section-validator.d.ts.map +1 -1
  356. package/dist/core/validation/section-validator.js +43 -7
  357. package/dist/core/validation/section-validator.js.map +1 -1
  358. package/dist/core/validation/task-numbering.d.ts +6 -3
  359. package/dist/core/validation/task-numbering.d.ts.map +1 -1
  360. package/dist/core/validation/task-numbering.js +23 -11
  361. package/dist/core/validation/task-numbering.js.map +1 -1
  362. package/dist/core/validation/types.d.ts +18 -0
  363. package/dist/core/validation/types.d.ts.map +1 -1
  364. package/dist/core/validation/types.js +12 -1
  365. package/dist/core/validation/types.js.map +1 -1
  366. package/dist/core/validation/validator.d.ts +43 -63
  367. package/dist/core/validation/validator.d.ts.map +1 -1
  368. package/dist/core/validation/validator.js +500 -267
  369. package/dist/core/validation/validator.js.map +1 -1
  370. package/dist/prompts/searchable-multi-select.d.ts +3 -8
  371. package/dist/prompts/searchable-multi-select.d.ts.map +1 -1
  372. package/dist/prompts/searchable-multi-select.js +16 -39
  373. package/dist/prompts/searchable-multi-select.js.map +1 -1
  374. package/dist/utils/change-metadata.d.ts +11 -50
  375. package/dist/utils/change-metadata.d.ts.map +1 -1
  376. package/dist/utils/change-metadata.js +48 -67
  377. package/dist/utils/change-metadata.js.map +1 -1
  378. package/dist/utils/change-utils.d.ts +30 -54
  379. package/dist/utils/change-utils.d.ts.map +1 -1
  380. package/dist/utils/change-utils.js +133 -91
  381. package/dist/utils/change-utils.js.map +1 -1
  382. package/dist/utils/file-lock.d.ts +39 -0
  383. package/dist/utils/file-lock.d.ts.map +1 -0
  384. package/dist/utils/file-lock.js +149 -0
  385. package/dist/utils/file-lock.js.map +1 -0
  386. package/dist/utils/file-system.d.ts +12 -32
  387. package/dist/utils/file-system.d.ts.map +1 -1
  388. package/dist/utils/file-system.js +16 -40
  389. package/dist/utils/file-system.js.map +1 -1
  390. package/dist/utils/frontmatter.d.ts +7 -11
  391. package/dist/utils/frontmatter.d.ts.map +1 -1
  392. package/dist/utils/frontmatter.js +11 -11
  393. package/dist/utils/frontmatter.js.map +1 -1
  394. package/dist/utils/interactive.d.ts +4 -9
  395. package/dist/utils/interactive.d.ts.map +1 -1
  396. package/dist/utils/interactive.js +2 -4
  397. package/dist/utils/interactive.js.map +1 -1
  398. package/dist/utils/item-discovery.d.ts +15 -10
  399. package/dist/utils/item-discovery.d.ts.map +1 -1
  400. package/dist/utils/item-discovery.js +42 -47
  401. package/dist/utils/item-discovery.js.map +1 -1
  402. package/dist/utils/link.d.ts +9 -18
  403. package/dist/utils/link.d.ts.map +1 -1
  404. package/dist/utils/link.js +9 -18
  405. package/dist/utils/link.js.map +1 -1
  406. package/dist/utils/requirement-diff.d.ts +13 -23
  407. package/dist/utils/requirement-diff.d.ts.map +1 -1
  408. package/dist/utils/requirement-diff.js +13 -23
  409. package/dist/utils/requirement-diff.js.map +1 -1
  410. package/dist/utils/spec-files.d.ts +7 -20
  411. package/dist/utils/spec-files.d.ts.map +1 -1
  412. package/dist/utils/spec-files.js +26 -51
  413. package/dist/utils/spec-files.js.map +1 -1
  414. package/dist/utils/task-progress.d.ts +11 -9
  415. package/dist/utils/task-progress.d.ts.map +1 -1
  416. package/dist/utils/task-progress.js +53 -32
  417. package/dist/utils/task-progress.js.map +1 -1
  418. package/dist/utils/timestamp.d.ts +5 -8
  419. package/dist/utils/timestamp.d.ts.map +1 -1
  420. package/dist/utils/timestamp.js +5 -8
  421. package/dist/utils/timestamp.js.map +1 -1
  422. package/package.json +2 -3
  423. package/schemas/decision/templates/decision.md +3 -1
  424. package/schemas/decision/templates/index.md +2 -2
  425. package/schemas/issue/schema.yaml +8 -1
  426. package/schemas/issue/templates/spec.md +27 -2
  427. package/schemas/sdd/schema.yaml +20 -1
  428. package/schemas/sdd/templates/spec.md +27 -2
  429. /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
@@ -4,6 +4,10 @@ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
4
4
  import { moveDirectory, moveFile } from './archive.js';
5
5
  import { serializeConfig } from './config-prompts.js';
6
6
  import { formatLocalDate } from '../utils/timestamp.js';
7
+ import { buildCodeFenceMask, normalizeDocument } from './parsers/requirement-text.js';
8
+ import { parseDeltaSpec, parseRequirementBlocks } from './parsers/requirement-blocks.js';
9
+ import { emitSuccess } from '../commands/shared-output.js';
10
+ import { isMissingPathError } from '../utils/file-system.js';
7
11
  /**
8
12
  * `tospec migrate [openspec-dir]` — one-shot conversion of an OpenSpec project
9
13
  * layout into the tospec layout, written to `<cwd>/tospec`.
@@ -18,7 +22,8 @@ import { formatLocalDate } from '../utils/timestamp.js';
18
22
  * level) or headerless (bare `### Requirement:` list) are rebuilt into the
19
23
  * `# <name> Specification / ## Purpose / ## Requirements` shape tospec
20
24
  * validates. MODIFIED blocks are kept (they carry the full updated text),
21
- * REMOVED/RENAMED blocks are dropped.
25
+ * REMOVED requirements are dropped and RENAMED ones are renamed, both
26
+ * through the project's own delta parser and both reported.
22
27
  *
23
28
  * The source directory is never modified.
24
29
  */
@@ -27,21 +32,33 @@ const METADATA_TARGET = '.tospec.yaml';
27
32
  const TARGET_SCHEMA = 'sdd';
28
33
  const PURPOSE_STUB = 'TBD - migrated from OpenSpec; refine this purpose statement.';
29
34
  const DELTA_HEADER = /^## (ADDED|MODIFIED|REMOVED|RENAMED) Requirements\s*$/;
30
- const REQUIREMENT_HEADER = /^### Requirement:\s*(.+?)\s*$/;
35
+ const PURPOSE_HEADER = /^## Purpose\s*$/;
36
+ /** Any Markdown heading — what ends the `## Purpose` body. */
37
+ const ANY_HEADER = /^#{1,6}\s/;
31
38
  const ARCHIVE_DATE_PREFIX = /^(\d{4})-(\d{2})-(\d{2})-(.+)$/;
39
+ /** The `--json` null-shape; mirrors the success payload with `migrate` nulled. */
40
+ export const MIGRATE_FAILURE_PAYLOAD = { migrate: null, root: null };
32
41
  export class MigrateError extends Error {
42
+ /**
43
+ * A full `CommandDiagnostic`: `asStatus` recognises one by `typeof
44
+ * diagnostic.code === 'string'`, so a bare `{ fix }` is dropped.
45
+ */
33
46
  diagnostic;
34
- constructor(message, diagnostic) {
47
+ constructor(message, options) {
35
48
  super(message);
36
- this.diagnostic = diagnostic;
37
49
  this.name = 'MigrateError';
50
+ this.diagnostic = {
51
+ severity: 'error',
52
+ code: options?.code ?? 'migrate_error',
53
+ message,
54
+ ...(options?.fix ? { fix: options.fix } : {}),
55
+ };
38
56
  }
39
57
  }
40
58
  /**
41
59
  * Converts an OpenSpec archive dir name (`YYYY-MM-DD-<name>`) to the tospec
42
- * stamp form (`YYYYMMDD_000000-<name>`). OpenSpec only recorded the date, so
43
- * the time part is zero-filled. Names without the date prefix pass through
44
- * unchanged (they already parse as `<stamp>-<name>` no worse than before).
60
+ * stamp form (`YYYYMMDD_000000-<name>`). OpenSpec only recorded the date, so the
61
+ * time part is zero-filled. Names without the date prefix pass through.
45
62
  */
46
63
  export function convertArchiveDirName(dirName) {
47
64
  const match = dirName.match(ARCHIVE_DATE_PREFIX);
@@ -57,101 +74,69 @@ export function convertArchiveDirName(dirName) {
57
74
  * well-formed main spec (has `## Purpose` and no top-level delta headers).
58
75
  */
59
76
  export function normalizeMainSpec(content, capabilityName) {
60
- const lines = content.replace(/\r\n/g, '\n').split('\n');
77
+ const document = normalizeDocument(content);
78
+ const lines = document.split('\n');
79
+ const fenceMask = buildCodeFenceMask(lines);
61
80
  let hasDelta = false;
62
81
  let hasPurpose = false;
63
- let inFence = false;
64
- for (const line of lines) {
65
- if (/^\s*(```|~~~)/.test(line)) {
66
- inFence = !inFence;
82
+ for (let i = 0; i < lines.length; i++) {
83
+ if (fenceMask[i])
67
84
  continue;
68
- }
69
- if (inFence)
70
- continue;
71
- if (DELTA_HEADER.test(line))
85
+ if (DELTA_HEADER.test(lines[i]))
72
86
  hasDelta = true;
73
- if (/^## Purpose\s*$/.test(line))
87
+ if (PURPOSE_HEADER.test(lines[i]))
74
88
  hasPurpose = true;
75
89
  }
76
90
  if (!hasDelta && hasPurpose) {
77
91
  return null;
78
92
  }
79
- // Collect requirement blocks keyed by name so a MODIFIED block replaces an
80
- // earlier ADDED one; REMOVED/RENAMED delete. Headerless files start in
81
- // ADDED mode (they are plain requirement lists).
93
+ // Delta semantics come from the project's own delta parser rather than a
94
+ // second scan written here: a scan that recognises only the
95
+ // `### Requirement:` header form misses the bullet form the spec template
96
+ // prescribes, migrating a REMOVED requirement intact under an empty report.
97
+ const plan = parseDeltaSpec(document);
98
+ // Collected document-wide rather than per delta section: a block written
99
+ // before the first delta header is still part of the spec. Keyed by name, in
100
+ // document order, so a MODIFIED block replaces the ADDED one it restates.
82
101
  const blocks = new Map();
102
+ for (const block of parseRequirementBlocks(document)) {
103
+ blocks.set(block.name, block.raw);
104
+ }
83
105
  const removed = [];
84
- const renamedKept = [];
85
- let purpose = [];
86
- let mode = 'ADDED';
87
- let section = 'none';
88
- let current = null;
89
- let currentName = null;
90
- const flush = () => {
91
- if (current && currentName !== null) {
92
- if (mode === 'ADDED' || mode === 'MODIFIED') {
93
- blocks.set(currentName, current.join('\n').trim());
94
- }
95
- else if (mode === 'RENAMED') {
96
- // A RENAMED section carrying a full block: keep the content (as if
97
- // MODIFIED) instead of losing it — the migration report flags it for
98
- // a manual name review.
99
- blocks.set(currentName, current.join('\n').trim());
100
- renamedKept.push(currentName);
101
- }
102
- else {
103
- blocks.delete(currentName);
104
- removed.push(currentName);
105
- }
106
- }
107
- current = null;
108
- currentName = null;
109
- };
110
- inFence = false;
111
- for (const line of lines) {
112
- if (/^\s*(```|~~~)/.test(line))
113
- inFence = !inFence;
114
- if (!inFence) {
115
- const delta = line.match(DELTA_HEADER);
116
- if (delta) {
117
- flush();
118
- mode = delta[1];
119
- section = 'none';
120
- continue;
121
- }
122
- const requirement = line.match(REQUIREMENT_HEADER);
123
- if (requirement) {
124
- flush();
125
- section = 'none';
126
- currentName = requirement[1];
127
- current = [line];
128
- continue;
129
- }
130
- if (/^## Purpose\s*$/.test(line)) {
131
- flush();
132
- section = 'purpose';
133
- continue;
134
- }
135
- if (/^##? /.test(line)) {
136
- flush();
137
- section = 'none';
138
- continue;
139
- }
140
- }
141
- if (current) {
142
- current.push(line);
143
- }
144
- else if (section === 'purpose') {
145
- purpose.push(line);
106
+ for (const name of plan.removed) {
107
+ if (blocks.delete(name))
108
+ removed.push(name);
109
+ }
110
+ const renamed = [];
111
+ // A Set: one requirement can be named by both an unresolvable pair and an
112
+ // orphaned line, and this is a review list, not a count.
113
+ const renamedKept = new Set();
114
+ for (const { from, to } of plan.renamed) {
115
+ const block = blocks.get(from);
116
+ if (block === undefined) {
117
+ renamedKept.add(from);
118
+ continue;
146
119
  }
120
+ blocks.delete(from);
121
+ blocks.set(to, renameBlockHeader(block, to));
122
+ renamed.push({ from, to });
123
+ }
124
+ for (const issue of plan.renamedIssues) {
125
+ renamedKept.add(issue.name);
126
+ }
127
+ // A full block written under RENAMED with no FROM:/TO: pair states no rename,
128
+ // so its content is kept under a name only a human can confirm.
129
+ const paired = new Set(plan.renamed.flatMap((pair) => [pair.from, pair.to]));
130
+ for (const block of plan.renamedBlocks) {
131
+ if (!paired.has(block.name) && blocks.has(block.name))
132
+ renamedKept.add(block.name);
147
133
  }
148
- flush();
149
134
  if (blocks.size === 0) {
150
- // Nothing recognizable to rebuild; leave the file as-is rather than
151
- // replacing it with an empty shell.
135
+ // Nothing recognizable to rebuild; leave the file rather than replace it
136
+ // with an empty shell.
152
137
  return null;
153
138
  }
154
- const purposeText = purpose.join('\n').trim() || PURPOSE_STUB;
139
+ const purposeText = extractPurpose(lines, fenceMask) || PURPOSE_STUB;
155
140
  const rebuilt = [
156
141
  `# ${capabilityName} Specification`,
157
142
  '',
@@ -163,7 +148,43 @@ export function normalizeMainSpec(content, capabilityName) {
163
148
  [...blocks.values()].join('\n\n'),
164
149
  '',
165
150
  ].join('\n');
166
- return { content: rebuilt, fixed: hasDelta ? 'delta' : 'headerless', removed, renamedKept };
151
+ return {
152
+ content: rebuilt,
153
+ fixed: hasDelta ? 'delta' : 'headerless',
154
+ removed,
155
+ renamed,
156
+ renamedKept: [...renamedKept],
157
+ };
158
+ }
159
+ /**
160
+ * The text under `## Purpose`, up to the next heading of any level — a
161
+ * `### Requirement:` ends it just as a second `##` section does.
162
+ */
163
+ function extractPurpose(lines, fenceMask) {
164
+ const collected = [];
165
+ let inPurpose = false;
166
+ for (let i = 0; i < lines.length; i++) {
167
+ if (!fenceMask[i]) {
168
+ if (PURPOSE_HEADER.test(lines[i])) {
169
+ inPurpose = true;
170
+ continue;
171
+ }
172
+ if (inPurpose && ANY_HEADER.test(lines[i]))
173
+ break;
174
+ }
175
+ if (inPurpose)
176
+ collected.push(lines[i]);
177
+ }
178
+ return collected.join('\n').trim();
179
+ }
180
+ /**
181
+ * Retitles a requirement block. The parser guarantees the block's first line is
182
+ * its `### Requirement:` header, so only that line is rewritten — a body that
183
+ * quotes the old name is left for the review the rename is reported for.
184
+ */
185
+ function renameBlockHeader(block, to) {
186
+ const [, ...body] = block.split('\n');
187
+ return [`### Requirement: ${to}`, ...body].join('\n');
167
188
  }
168
189
  /**
169
190
  * Rewrites the schema value in change metadata and fills the fields a
@@ -184,17 +205,22 @@ function convertMetadata(raw, defaults) {
184
205
  /** Appends prose as a YAML literal block so its Markdown characters stay verbatim. */
185
206
  function appendContext(config, context) {
186
207
  const prefix = config.endsWith('\n') ? config : `${config}\n`;
187
- const normalized = context.replace(/\r\n/g, '\n');
208
+ const normalized = normalizeDocument(context);
188
209
  const trailingNewlines = normalized.match(/\n*$/)?.[0].length ?? 0;
189
- const chomping = trailingNewlines === 0 ? '-' : trailingNewlines === 1 ? '' : '+';
210
+ // YAML block chomping: strip, clip, or keep the trailing newlines.
211
+ let chomping;
212
+ if (trailingNewlines === 0)
213
+ chomping = '-';
214
+ else if (trailingNewlines === 1)
215
+ chomping = '';
216
+ else
217
+ chomping = '+';
190
218
  const lines = normalized.split('\n');
191
219
  if (trailingNewlines > 0)
192
220
  lines.pop();
193
- // The `2` is an explicit indentation indicator, not decoration. Without it
194
- // YAML infers the block's indentation from the first non-empty line, so a
195
- // project.md opening with an indented line (a four-space code block, a nested
196
- // list) makes the inferred width 6 and every ordinary line below it falls
197
- // short, terminating the block mid-value and yielding an unparseable file.
221
+ // The `2` is an explicit indentation indicator. Without it YAML infers the
222
+ // block's width from the first non-empty line, so a project.md opening with an
223
+ // indented line terminates the block mid-value.
198
224
  return `${prefix}context: |2${chomping}\n${lines
199
225
  .map((line) => ` ${line}`)
200
226
  .join('\n')}\n`;
@@ -210,9 +236,8 @@ export class MigrateCommand {
210
236
  fix: 'Pass the directory explicitly: tospec migrate <openspec-dir>',
211
237
  });
212
238
  }
213
- // An empty tospec/ is fine to migrate into — `tospec init` creates one with
214
- // bare specs/changes dirs and a default config.yaml, and requiring the user
215
- // to delete it would undo the init. Only real content blocks the migration.
239
+ // An empty tospec/ is fine to migrate into: `tospec init` leaves one, and
240
+ // requiring the user to delete it would undo the init.
216
241
  const targetContent = [
217
242
  ...(await listDirs(path.join(target, 'specs'))),
218
243
  ...(await listDirs(path.join(target, 'changes'), 'archive')),
@@ -226,6 +251,12 @@ export class MigrateCommand {
226
251
  const activeChanges = await listDirs(path.join(source, 'changes'), 'archive');
227
252
  const archivedChanges = await listDirs(path.join(source, 'changes', 'archive'), 'archive');
228
253
  const specDirs = await listDirs(path.join(source, 'specs'));
254
+ // JSON mode is non-interactive, so the caller has to say --force up front.
255
+ if (options?.json && !options?.force) {
256
+ throw new MigrateError('migrate --json is non-interactive and needs confirmation up front.', {
257
+ fix: 'tospec migrate <openspec-dir> --json --force',
258
+ });
259
+ }
229
260
  if (!options?.force) {
230
261
  console.log(`Migrate OpenSpec project to tospec format:`);
231
262
  console.log(` Source: ${source} (read-only)`);
@@ -244,11 +275,12 @@ export class MigrateCommand {
244
275
  changes: { active: 0, archived: 0, metadataCreated: 0 },
245
276
  context: 'absent',
246
277
  removedRequirements: [],
278
+ renamedRequirements: [],
247
279
  renamedKept: [],
248
280
  };
249
- // Two-phase: build the whole tree in a sibling staging dir, then promote
250
- // it into place. A mid-migration failure cleans the staging dir and leaves
251
- // the target untouched, so a rerun isn't blocked by half-migrated content.
281
+ // Two-phase: build the whole tree in a sibling staging dir, then promote it.
282
+ // A mid-migration failure cleans staging and leaves the target untouched, so
283
+ // a rerun isn't blocked by half-migrated content.
252
284
  const staging = path.join(projectRoot, `.tospec-migrate-staging-${process.pid}`);
253
285
  await fs.rm(staging, { recursive: true, force: true });
254
286
  try {
@@ -272,6 +304,7 @@ export class MigrateCommand {
272
304
  else
273
305
  summary.specs.normalizedHeaderless++;
274
306
  summary.removedRequirements.push(...normalized.removed.map((n) => `${dir}/${n}`));
307
+ summary.renamedRequirements.push(...normalized.renamed.map((rename) => `${dir}/${rename.from} -> ${rename.to}`));
275
308
  summary.renamedKept.push(...normalized.renamedKept.map((n) => `${dir}/${n}`));
276
309
  }
277
310
  summary.specs.copied++;
@@ -298,9 +331,31 @@ export class MigrateCommand {
298
331
  await fs.rm(staging, { recursive: true, force: true });
299
332
  throw err;
300
333
  }
334
+ if (options?.json) {
335
+ // A migrated project has no skills until `tospec init` runs, and the
336
+ // deferred ticket stubs are a deliberate gap a caller must know about.
337
+ // tospec/decisions/20260916_121552-migrated-changes-defer-ticket-stubs.md
338
+ const migratedChangeCount = summary.changes.active + summary.changes.archived;
339
+ emitSuccess({
340
+ migrate: {
341
+ source,
342
+ target,
343
+ ...summary,
344
+ ticketStubsDeferred: migratedChangeCount,
345
+ nextSteps: [
346
+ 'Run tospec validate --all to verify the migrated artifacts.',
347
+ 'Run tospec init to write the skills and slash commands; migrate does not.',
348
+ ],
349
+ },
350
+ }, { path: projectRoot, source: 'explicit' });
351
+ return;
352
+ }
301
353
  console.log(`✓ Migration complete: ${target}`);
354
+ for (const rename of summary.renamedRequirements) {
355
+ console.log(` Renamed requirement: ${rename} — check nothing still refers to the old name.`);
356
+ }
302
357
  for (const name of summary.renamedKept) {
303
- console.log(` Warning: RENAMED requirement kept as MODIFIED content: ${name} — review its name.`);
358
+ console.log(` Warning: RENAMED entry could not be applied, name kept: ${name} — review it.`);
304
359
  }
305
360
  if (summary.removedRequirements.length > 0) {
306
361
  console.log(` REMOVED requirements dropped during normalization: ${summary.removedRequirements.join(', ')}`);
@@ -337,25 +392,23 @@ export class MigrateCommand {
337
392
  const targetConfig = path.join(target, 'config.yaml');
338
393
  const projectContext = (await exists(sourceProject)) ? await fs.readFile(sourceProject, 'utf-8') : null;
339
394
  const hasProjectContext = projectContext !== null && projectContext.length > 0;
395
+ let content;
396
+ let hasExistingContext = false;
340
397
  if (await exists(sourceConfig)) {
341
398
  const raw = await fs.readFile(sourceConfig, 'utf-8');
342
399
  // Line-level replace to preserve the file's comments and formatting.
343
400
  const rewritten = raw.replace(/^schema:.*$/m, `schema: ${TARGET_SCHEMA}`);
344
- const content = /^schema:/m.test(rewritten) ? rewritten : `schema: ${TARGET_SCHEMA}\n${rewritten}`;
345
- const hasExistingContext = /^context\s*:/m.test(content);
346
- await fs.writeFile(targetConfig, hasProjectContext && !hasExistingContext
347
- ? appendContext(content, projectContext)
348
- : content);
349
- if (!hasProjectContext)
350
- return projectContext === '' ? 'empty' : 'absent';
351
- return hasExistingContext ? 'conflict' : 'carried';
401
+ content = /^schema:/m.test(rewritten) ? rewritten : `schema: ${TARGET_SCHEMA}\n${rewritten}`;
402
+ hasExistingContext = /^context\s*:/m.test(content);
352
403
  }
353
404
  else {
354
- await fs.writeFile(targetConfig, hasProjectContext
355
- ? appendContext(serializeConfig({ schema: TARGET_SCHEMA }), projectContext)
356
- : serializeConfig({ schema: TARGET_SCHEMA }));
357
- return hasProjectContext ? 'carried' : projectContext === '' ? 'empty' : 'absent';
405
+ content = serializeConfig({ schema: TARGET_SCHEMA });
358
406
  }
407
+ await fs.writeFile(targetConfig, hasProjectContext && !hasExistingContext ? appendContext(content, projectContext) : content);
408
+ // An absent project.md and an empty one are reported apart.
409
+ if (!hasProjectContext)
410
+ return projectContext === '' ? 'empty' : 'absent';
411
+ return hasExistingContext ? 'conflict' : 'carried';
359
412
  }
360
413
  /**
361
414
  * Replaces `.openspec.yaml` with `.tospec.yaml` (schema rewritten to sdd,
@@ -379,10 +432,9 @@ export class MigrateCommand {
379
432
  return true;
380
433
  }
381
434
  /**
382
- * Promote the fully-built staging tree into the target. When the target
383
- * doesn't exist, one move does it; when an (verified content-free) tospec/
384
- * dir exists — e.g. from `tospec init` — each staged top-level entry
385
- * replaces its counterpart. Reuses archive's EPERM/EXDEV-safe move helpers.
435
+ * Promotes the built staging tree into the target: one move when the target is
436
+ * absent, else entry-by-entry replacement into the content-free tospec/ that
437
+ * `tospec init` leaves. Uses archive's EPERM/EXDEV-safe helpers.
386
438
  */
387
439
  async promoteStaging(staging, target) {
388
440
  if (!(await exists(target))) {
@@ -413,7 +465,7 @@ async function extractGoal(changeDir) {
413
465
  catch {
414
466
  return fallback;
415
467
  }
416
- const lines = content.replace(/\r\n/g, '\n').split('\n');
468
+ const lines = normalizeDocument(content).split('\n');
417
469
  let inWhy = false;
418
470
  for (const line of lines) {
419
471
  if (/^## Why\s*$/.test(line)) {
@@ -428,11 +480,21 @@ async function extractGoal(changeDir) {
428
480
  }
429
481
  return fallback;
430
482
  }
483
+ /**
484
+ * False only for a path that is not there. Every caller treats `false` as
485
+ * "nothing to migrate from", so answering it for EACCES would silently drop a
486
+ * source that exists.
487
+ */
431
488
  async function exists(p) {
432
- return fs
433
- .access(p)
434
- .then(() => true)
435
- .catch(() => false);
489
+ try {
490
+ await fs.access(p);
491
+ return true;
492
+ }
493
+ catch (error) {
494
+ if (isMissingPathError(error))
495
+ return false;
496
+ throw error;
497
+ }
436
498
  }
437
499
  /** Sorted subdirectory names, minus `exclude`. Unreadable dir → empty list. */
438
500
  async function listDirs(dir, exclude) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,17 @@ export declare class ChangeParser extends MarkdownParser {
5
5
  constructor(content: string, changeDir: string);
6
6
  parseChangeWithDeltas(name: string): Promise<Change>;
7
7
  /**
8
- * Scans `specs/<capability>/spec.md` delta files directly, independent of
9
- * a proposal.md's Why/What-Changes prose. Deltas for sdd/issue changes live
10
- * in specs/ regardless of the global ticket stub (tospec/tickets/) or
11
- * proposal.md, so this is the primary delta source for both schemas.
8
+ * Scans `specs/<capability>/spec.md` directly, independent of a proposal.md's
9
+ * prose: deltas live in specs/ for both schemas, so this is the primary
10
+ * source.
12
11
  */
13
12
  parseDeltaSpecs(specsDir: string): Promise<Delta[]>;
14
13
  private parseSpecDeltas;
15
14
  /**
16
- * Read requirements from a delta section, ignoring headers that are not
17
- * `### Requirement: <name>`. A delta section often carries divider headers
18
- * such as `### Documentation Requirements`; the base parser treats every
19
- * child header as a requirement, inventing a scenario-less requirement that
20
- * does not exist (phantom delta in `show <change> --json`). Overriding here
21
- * rather than in MarkdownParser keeps main spec parsing untouched.
15
+ * Ignores headers that are not `### Requirement: <name>`. A delta section
16
+ * often carries divider headers such as `### Documentation Requirements`, and
17
+ * the base parser treats every child header as a requirement. Overridden here
18
+ * rather than in MarkdownParser so main spec parsing is untouched.
22
19
  */
23
20
  protected parseRequirements(section: Section): Requirement[];
24
21
  private parseSectionsFromContent;
@@ -1 +1 @@
1
- {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIjF,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAG7C;IAEK,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCzD;IAED;;;;;OAKG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2BxD;IAED,OAAO,CAAC,eAAe;IAoEvB;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAO3D;IAID,OAAO,CAAC,wBAAwB;CAGjC"}
1
+ {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIjF,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAG7C;IAEK,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BzD;IAED;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAwBxD;IAED,OAAO,CAAC,eAAe;IAsEvB;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAO3D;IAID,OAAO,CAAC,wBAAwB;CAGjC"}