wingfoil 0.2.2 → 0.3.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 (454) hide show
  1. package/README.md +83 -43
  2. package/dist/agent/discovery.d.ts +72 -0
  3. package/dist/agent/discovery.d.ts.map +1 -0
  4. package/dist/agent/discovery.js +210 -0
  5. package/dist/agent/discovery.js.map +1 -0
  6. package/dist/agent/execute.d.ts +206 -0
  7. package/dist/agent/execute.d.ts.map +1 -0
  8. package/dist/agent/execute.js +581 -0
  9. package/dist/agent/execute.js.map +1 -0
  10. package/dist/agent/index.d.ts +23 -0
  11. package/dist/agent/index.d.ts.map +1 -0
  12. package/dist/agent/index.js +85 -0
  13. package/dist/agent/index.js.map +1 -0
  14. package/dist/agent/launch.d.ts +133 -0
  15. package/dist/agent/launch.d.ts.map +1 -0
  16. package/dist/agent/launch.js +380 -0
  17. package/dist/agent/launch.js.map +1 -0
  18. package/dist/agent/manifest.d.ts +30 -0
  19. package/dist/agent/manifest.d.ts.map +1 -0
  20. package/dist/agent/manifest.js +93 -0
  21. package/dist/agent/manifest.js.map +1 -0
  22. package/dist/agent/placeholders.d.ts +49 -0
  23. package/dist/agent/placeholders.d.ts.map +1 -0
  24. package/dist/agent/placeholders.js +177 -0
  25. package/dist/agent/placeholders.js.map +1 -0
  26. package/dist/agent/run-log.d.ts +254 -0
  27. package/dist/agent/run-log.d.ts.map +1 -0
  28. package/dist/agent/run-log.js +612 -0
  29. package/dist/agent/run-log.js.map +1 -0
  30. package/dist/agent/schema.d.ts +100 -0
  31. package/dist/agent/schema.d.ts.map +1 -0
  32. package/dist/agent/schema.js +89 -0
  33. package/dist/agent/schema.js.map +1 -0
  34. package/dist/agent/step.d.ts +41 -0
  35. package/dist/agent/step.d.ts.map +1 -0
  36. package/dist/agent/step.js +95 -0
  37. package/dist/agent/step.js.map +1 -0
  38. package/dist/build-info.json +4 -0
  39. package/dist/cli/error.d.ts +11 -2
  40. package/dist/cli/error.d.ts.map +1 -1
  41. package/dist/cli/error.js +27 -6
  42. package/dist/cli/error.js.map +1 -1
  43. package/dist/cli/exit.d.ts +33 -3
  44. package/dist/cli/exit.d.ts.map +1 -1
  45. package/dist/cli/exit.js +54 -3
  46. package/dist/cli/exit.js.map +1 -1
  47. package/dist/cli/index.d.ts +1 -1
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +2 -1
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/init-command.d.ts.map +1 -1
  52. package/dist/cli/init-command.js +4 -2
  53. package/dist/cli/init-command.js.map +1 -1
  54. package/dist/cli/mcp-command.d.ts +13 -4
  55. package/dist/cli/mcp-command.d.ts.map +1 -1
  56. package/dist/cli/mcp-command.js +25 -8
  57. package/dist/cli/mcp-command.js.map +1 -1
  58. package/dist/cli/output.d.ts +12 -4
  59. package/dist/cli/output.d.ts.map +1 -1
  60. package/dist/cli/output.js +15 -4
  61. package/dist/cli/output.js.map +1 -1
  62. package/dist/cli/program.d.ts +1 -1
  63. package/dist/cli/program.d.ts.map +1 -1
  64. package/dist/cli/program.js +162 -40
  65. package/dist/cli/program.js.map +1 -1
  66. package/dist/cli/registrar.d.ts +1 -1
  67. package/dist/cli/registrar.d.ts.map +1 -1
  68. package/dist/cli/registrar.js +67 -6
  69. package/dist/cli/registrar.js.map +1 -1
  70. package/dist/cli/suggest.d.ts +20 -0
  71. package/dist/cli/suggest.d.ts.map +1 -0
  72. package/dist/cli/suggest.js +49 -0
  73. package/dist/cli/suggest.js.map +1 -0
  74. package/dist/cli/warning.d.ts +26 -0
  75. package/dist/cli/warning.d.ts.map +1 -0
  76. package/dist/cli/warning.js +66 -0
  77. package/dist/cli/warning.js.map +1 -0
  78. package/dist/cli.js +11 -2
  79. package/dist/cli.js.map +1 -1
  80. package/dist/core/agent-execute.d.ts +44 -0
  81. package/dist/core/agent-execute.d.ts.map +1 -0
  82. package/dist/core/agent-execute.js +71 -0
  83. package/dist/core/agent-execute.js.map +1 -0
  84. package/dist/core/agent-list.d.ts +95 -0
  85. package/dist/core/agent-list.d.ts.map +1 -0
  86. package/dist/core/agent-list.js +207 -0
  87. package/dist/core/agent-list.js.map +1 -0
  88. package/dist/core/agent-show.d.ts +44 -0
  89. package/dist/core/agent-show.d.ts.map +1 -0
  90. package/dist/core/agent-show.js +188 -0
  91. package/dist/core/agent-show.js.map +1 -0
  92. package/dist/core/approval-authority.d.ts +17 -14
  93. package/dist/core/approval-authority.d.ts.map +1 -1
  94. package/dist/core/approval-authority.js +9 -9
  95. package/dist/core/approval-authority.js.map +1 -1
  96. package/dist/core/builtin-asset.d.ts +18 -15
  97. package/dist/core/builtin-asset.d.ts.map +1 -1
  98. package/dist/core/builtin-asset.js +17 -14
  99. package/dist/core/builtin-asset.js.map +1 -1
  100. package/dist/core/builtin-integrity.d.ts +12 -2
  101. package/dist/core/builtin-integrity.d.ts.map +1 -1
  102. package/dist/core/builtin-integrity.js +85 -9
  103. package/dist/core/builtin-integrity.js.map +1 -1
  104. package/dist/core/confinement.d.ts +3 -1
  105. package/dist/core/confinement.d.ts.map +1 -1
  106. package/dist/core/confinement.js +7 -4
  107. package/dist/core/confinement.js.map +1 -1
  108. package/dist/core/context.d.ts +150 -98
  109. package/dist/core/context.d.ts.map +1 -1
  110. package/dist/core/context.js +602 -66
  111. package/dist/core/context.js.map +1 -1
  112. package/dist/core/directive-assign.d.ts +33 -7
  113. package/dist/core/directive-assign.d.ts.map +1 -1
  114. package/dist/core/directive-assign.js +67 -27
  115. package/dist/core/directive-assign.js.map +1 -1
  116. package/dist/core/directive-scope.d.ts +36 -0
  117. package/dist/core/directive-scope.d.ts.map +1 -0
  118. package/dist/core/directive-scope.js +34 -0
  119. package/dist/core/directive-scope.js.map +1 -0
  120. package/dist/core/directives-list.d.ts +13 -3
  121. package/dist/core/directives-list.d.ts.map +1 -1
  122. package/dist/core/directives-list.js +18 -6
  123. package/dist/core/directives-list.js.map +1 -1
  124. package/dist/core/dry-run.d.ts +33 -0
  125. package/dist/core/dry-run.d.ts.map +1 -0
  126. package/dist/core/dry-run.js +45 -0
  127. package/dist/core/dry-run.js.map +1 -0
  128. package/dist/core/element-ref.d.ts +23 -0
  129. package/dist/core/element-ref.d.ts.map +1 -0
  130. package/dist/core/element-ref.js +24 -0
  131. package/dist/core/element-ref.js.map +1 -0
  132. package/dist/core/error-details.d.ts +20 -0
  133. package/dist/core/error-details.d.ts.map +1 -0
  134. package/dist/core/error-details.js +65 -0
  135. package/dist/core/error-details.js.map +1 -0
  136. package/dist/core/exit-code.d.ts.map +1 -1
  137. package/dist/core/exit-code.js +6 -7
  138. package/dist/core/exit-code.js.map +1 -1
  139. package/dist/core/git-identity.d.ts +46 -11
  140. package/dist/core/git-identity.d.ts.map +1 -1
  141. package/dist/core/git-identity.js +140 -27
  142. package/dist/core/git-identity.js.map +1 -1
  143. package/dist/core/index.d.ts +184 -10
  144. package/dist/core/index.d.ts.map +1 -1
  145. package/dist/core/index.js +1045 -185
  146. package/dist/core/index.js.map +1 -1
  147. package/dist/core/init.d.ts +45 -5
  148. package/dist/core/init.d.ts.map +1 -1
  149. package/dist/core/init.js +134 -24
  150. package/dist/core/init.js.map +1 -1
  151. package/dist/core/loaders.d.ts +170 -14
  152. package/dist/core/loaders.d.ts.map +1 -1
  153. package/dist/core/loaders.js +570 -89
  154. package/dist/core/loaders.js.map +1 -1
  155. package/dist/core/memory-add-link.d.ts +28 -0
  156. package/dist/core/memory-add-link.d.ts.map +1 -0
  157. package/dist/core/memory-add-link.js +67 -0
  158. package/dist/core/memory-add-link.js.map +1 -0
  159. package/dist/core/memory-add-type.d.ts +25 -1
  160. package/dist/core/memory-add-type.d.ts.map +1 -1
  161. package/dist/core/memory-add-type.js +59 -1
  162. package/dist/core/memory-add-type.js.map +1 -1
  163. package/dist/core/memory-amend.d.ts +80 -0
  164. package/dist/core/memory-amend.d.ts.map +1 -0
  165. package/dist/core/memory-amend.js +160 -0
  166. package/dist/core/memory-amend.js.map +1 -0
  167. package/dist/core/memory-supersede.d.ts +28 -0
  168. package/dist/core/memory-supersede.d.ts.map +1 -0
  169. package/dist/core/memory-supersede.js +79 -0
  170. package/dist/core/memory-supersede.js.map +1 -0
  171. package/dist/core/memory-transition.d.ts +190 -30
  172. package/dist/core/memory-transition.d.ts.map +1 -1
  173. package/dist/core/memory-transition.js +480 -59
  174. package/dist/core/memory-transition.js.map +1 -1
  175. package/dist/core/registry.d.ts +82 -10
  176. package/dist/core/registry.d.ts.map +1 -1
  177. package/dist/core/registry.js +50 -0
  178. package/dist/core/registry.js.map +1 -1
  179. package/dist/core/relevance.d.ts +74 -12
  180. package/dist/core/relevance.d.ts.map +1 -1
  181. package/dist/core/relevance.js +45 -27
  182. package/dist/core/relevance.js.map +1 -1
  183. package/dist/core/require-reason.d.ts.map +1 -1
  184. package/dist/core/require-reason.js +6 -5
  185. package/dist/core/require-reason.js.map +1 -1
  186. package/dist/core/required-fields.d.ts +28 -0
  187. package/dist/core/required-fields.d.ts.map +1 -0
  188. package/dist/core/required-fields.js +60 -0
  189. package/dist/core/required-fields.js.map +1 -0
  190. package/dist/core/revision.d.ts +82 -0
  191. package/dist/core/revision.d.ts.map +1 -0
  192. package/dist/core/revision.js +144 -0
  193. package/dist/core/revision.js.map +1 -0
  194. package/dist/core/types.d.ts +28 -2
  195. package/dist/core/types.d.ts.map +1 -1
  196. package/dist/core/types.js +12 -3
  197. package/dist/core/types.js.map +1 -1
  198. package/dist/core/workflow-core-checks.d.ts +34 -0
  199. package/dist/core/workflow-core-checks.d.ts.map +1 -0
  200. package/dist/core/workflow-core-checks.js +403 -0
  201. package/dist/core/workflow-core-checks.js.map +1 -0
  202. package/dist/core/workflow-create-remove.d.ts +65 -0
  203. package/dist/core/workflow-create-remove.d.ts.map +1 -0
  204. package/dist/core/workflow-create-remove.js +277 -0
  205. package/dist/core/workflow-create-remove.js.map +1 -0
  206. package/dist/core/workflow-deduction.d.ts +48 -0
  207. package/dist/core/workflow-deduction.d.ts.map +1 -0
  208. package/dist/core/workflow-deduction.js +523 -0
  209. package/dist/core/workflow-deduction.js.map +1 -0
  210. package/dist/core/workflow-diagnostics.d.ts +83 -0
  211. package/dist/core/workflow-diagnostics.d.ts.map +1 -0
  212. package/dist/core/workflow-diagnostics.js +375 -0
  213. package/dist/core/workflow-diagnostics.js.map +1 -0
  214. package/dist/core/workflow-exit-state.d.ts +125 -0
  215. package/dist/core/workflow-exit-state.d.ts.map +1 -0
  216. package/dist/core/workflow-exit-state.js +243 -0
  217. package/dist/core/workflow-exit-state.js.map +1 -0
  218. package/dist/core/workflow-finalize.d.ts +37 -0
  219. package/dist/core/workflow-finalize.d.ts.map +1 -0
  220. package/dist/core/workflow-finalize.js +153 -0
  221. package/dist/core/workflow-finalize.js.map +1 -0
  222. package/dist/core/workflow-list-show.d.ts +176 -0
  223. package/dist/core/workflow-list-show.d.ts.map +1 -0
  224. package/dist/core/workflow-list-show.js +268 -0
  225. package/dist/core/workflow-list-show.js.map +1 -0
  226. package/dist/core/workflow-next.d.ts +268 -0
  227. package/dist/core/workflow-next.d.ts.map +1 -0
  228. package/dist/core/workflow-next.js +503 -0
  229. package/dist/core/workflow-next.js.map +1 -0
  230. package/dist/core/workflow-registry.d.ts +52 -0
  231. package/dist/core/workflow-registry.d.ts.map +1 -0
  232. package/dist/core/workflow-registry.js +158 -0
  233. package/dist/core/workflow-registry.js.map +1 -0
  234. package/dist/core/workflow-start-end.d.ts +71 -0
  235. package/dist/core/workflow-start-end.d.ts.map +1 -0
  236. package/dist/core/workflow-start-end.js +298 -0
  237. package/dist/core/workflow-start-end.js.map +1 -0
  238. package/dist/core/workflow-status.d.ts +83 -0
  239. package/dist/core/workflow-status.d.ts.map +1 -0
  240. package/dist/core/workflow-status.js +125 -0
  241. package/dist/core/workflow-status.js.map +1 -0
  242. package/dist/core/write-guard.d.ts +51 -8
  243. package/dist/core/write-guard.d.ts.map +1 -1
  244. package/dist/core/write-guard.js +139 -9
  245. package/dist/core/write-guard.js.map +1 -1
  246. package/dist/directives/index.d.ts +3 -2
  247. package/dist/directives/index.d.ts.map +1 -1
  248. package/dist/directives/index.js +5 -3
  249. package/dist/directives/index.js.map +1 -1
  250. package/dist/directives/schema.d.ts +34 -29
  251. package/dist/directives/schema.d.ts.map +1 -1
  252. package/dist/directives/schema.js +35 -29
  253. package/dist/directives/schema.js.map +1 -1
  254. package/dist/directives/version.d.ts +28 -0
  255. package/dist/directives/version.d.ts.map +1 -0
  256. package/dist/directives/version.js +51 -0
  257. package/dist/directives/version.js.map +1 -0
  258. package/dist/dna/edit.d.ts +7 -6
  259. package/dist/dna/edit.d.ts.map +1 -1
  260. package/dist/dna/edit.js +96 -41
  261. package/dist/dna/edit.js.map +1 -1
  262. package/dist/dna/mutate.js +18 -3
  263. package/dist/dna/mutate.js.map +1 -1
  264. package/dist/dna/path.d.ts +2 -2
  265. package/dist/dna/roles.d.ts +1 -1
  266. package/dist/dna/schema.d.ts +61 -3
  267. package/dist/dna/schema.d.ts.map +1 -1
  268. package/dist/dna/schema.js +121 -6
  269. package/dist/dna/schema.js.map +1 -1
  270. package/dist/mcp/dna-resource.d.ts.map +1 -1
  271. package/dist/mcp/dna-resource.js +4 -4
  272. package/dist/mcp/dna-resource.js.map +1 -1
  273. package/dist/mcp/index.d.ts +8 -4
  274. package/dist/mcp/index.d.ts.map +1 -1
  275. package/dist/mcp/index.js +13 -2
  276. package/dist/mcp/index.js.map +1 -1
  277. package/dist/mcp/memory-resource.d.ts.map +1 -1
  278. package/dist/mcp/memory-resource.js +30 -19
  279. package/dist/mcp/memory-resource.js.map +1 -1
  280. package/dist/mcp/prompt.d.ts +61 -24
  281. package/dist/mcp/prompt.d.ts.map +1 -1
  282. package/dist/mcp/prompt.js +176 -47
  283. package/dist/mcp/prompt.js.map +1 -1
  284. package/dist/mcp/read-only.d.ts +39 -0
  285. package/dist/mcp/read-only.d.ts.map +1 -1
  286. package/dist/mcp/read-only.js +61 -0
  287. package/dist/mcp/read-only.js.map +1 -1
  288. package/dist/mcp/registrar.d.ts +10 -0
  289. package/dist/mcp/registrar.d.ts.map +1 -1
  290. package/dist/mcp/registrar.js +48 -12
  291. package/dist/mcp/registrar.js.map +1 -1
  292. package/dist/mcp/server.d.ts +21 -14
  293. package/dist/mcp/server.d.ts.map +1 -1
  294. package/dist/mcp/server.js +41 -15
  295. package/dist/mcp/server.js.map +1 -1
  296. package/dist/mcp/session-resource.d.ts +13 -0
  297. package/dist/mcp/session-resource.d.ts.map +1 -0
  298. package/dist/mcp/session-resource.js +65 -0
  299. package/dist/mcp/session-resource.js.map +1 -0
  300. package/dist/mcp/workflow-resource.d.ts +18 -0
  301. package/dist/mcp/workflow-resource.d.ts.map +1 -1
  302. package/dist/mcp/workflow-resource.js +37 -8
  303. package/dist/mcp/workflow-resource.js.map +1 -1
  304. package/dist/memory/add.d.ts +110 -24
  305. package/dist/memory/add.d.ts.map +1 -1
  306. package/dist/memory/add.js +251 -64
  307. package/dist/memory/add.js.map +1 -1
  308. package/dist/memory/audit.d.ts +152 -39
  309. package/dist/memory/audit.d.ts.map +1 -1
  310. package/dist/memory/audit.js +257 -103
  311. package/dist/memory/audit.js.map +1 -1
  312. package/dist/memory/commit-message.d.ts +60 -38
  313. package/dist/memory/commit-message.d.ts.map +1 -1
  314. package/dist/memory/commit-message.js +167 -21
  315. package/dist/memory/commit-message.js.map +1 -1
  316. package/dist/memory/entry.d.ts.map +1 -1
  317. package/dist/memory/entry.js +1 -2
  318. package/dist/memory/entry.js.map +1 -1
  319. package/dist/memory/frontmatter-edit.d.ts +16 -4
  320. package/dist/memory/frontmatter-edit.d.ts.map +1 -1
  321. package/dist/memory/frontmatter-edit.js +13 -1
  322. package/dist/memory/frontmatter-edit.js.map +1 -1
  323. package/dist/memory/git-log.d.ts +18 -6
  324. package/dist/memory/git-log.d.ts.map +1 -1
  325. package/dist/memory/git-log.js +40 -13
  326. package/dist/memory/git-log.js.map +1 -1
  327. package/dist/memory/history.d.ts +73 -12
  328. package/dist/memory/history.d.ts.map +1 -1
  329. package/dist/memory/history.js +128 -44
  330. package/dist/memory/history.js.map +1 -1
  331. package/dist/memory/index.d.ts +13 -11
  332. package/dist/memory/index.d.ts.map +1 -1
  333. package/dist/memory/index.js +34 -3
  334. package/dist/memory/index.js.map +1 -1
  335. package/dist/memory/query.d.ts +161 -19
  336. package/dist/memory/query.d.ts.map +1 -1
  337. package/dist/memory/query.js +435 -55
  338. package/dist/memory/query.js.map +1 -1
  339. package/dist/memory/schema.d.ts +52 -3
  340. package/dist/memory/schema.d.ts.map +1 -1
  341. package/dist/memory/schema.js +132 -8
  342. package/dist/memory/schema.js.map +1 -1
  343. package/dist/memory/state-machine.d.ts +65 -10
  344. package/dist/memory/state-machine.d.ts.map +1 -1
  345. package/dist/memory/state-machine.js +134 -46
  346. package/dist/memory/state-machine.js.map +1 -1
  347. package/dist/memory/submit.d.ts +52 -3
  348. package/dist/memory/submit.d.ts.map +1 -1
  349. package/dist/memory/submit.js +118 -11
  350. package/dist/memory/submit.js.map +1 -1
  351. package/dist/storage/build-stamp.d.ts +18 -0
  352. package/dist/storage/build-stamp.d.ts.map +1 -0
  353. package/dist/storage/build-stamp.js +68 -0
  354. package/dist/storage/build-stamp.js.map +1 -0
  355. package/dist/storage/builtin-adapters.d.ts +32 -0
  356. package/dist/storage/builtin-adapters.d.ts.map +1 -0
  357. package/dist/storage/builtin-adapters.js +100 -0
  358. package/dist/storage/builtin-adapters.js.map +1 -0
  359. package/dist/storage/builtin-directives.d.ts +0 -29
  360. package/dist/storage/builtin-directives.d.ts.map +1 -1
  361. package/dist/storage/builtin-directives.js +9 -4
  362. package/dist/storage/builtin-directives.js.map +1 -1
  363. package/dist/storage/commit.d.ts +310 -3
  364. package/dist/storage/commit.d.ts.map +1 -1
  365. package/dist/storage/commit.js +807 -33
  366. package/dist/storage/commit.js.map +1 -1
  367. package/dist/storage/document.d.ts +6 -0
  368. package/dist/storage/document.d.ts.map +1 -1
  369. package/dist/storage/document.js +10 -1
  370. package/dist/storage/document.js.map +1 -1
  371. package/dist/storage/dry-run.d.ts +65 -0
  372. package/dist/storage/dry-run.d.ts.map +1 -0
  373. package/dist/storage/dry-run.js +150 -0
  374. package/dist/storage/dry-run.js.map +1 -0
  375. package/dist/storage/errors.d.ts +26 -0
  376. package/dist/storage/errors.d.ts.map +1 -1
  377. package/dist/storage/errors.js +27 -1
  378. package/dist/storage/errors.js.map +1 -1
  379. package/dist/storage/frontmatter.d.ts +1 -1
  380. package/dist/storage/frontmatter.js +1 -1
  381. package/dist/storage/git-read.d.ts +64 -0
  382. package/dist/storage/git-read.d.ts.map +1 -0
  383. package/dist/storage/git-read.js +107 -0
  384. package/dist/storage/git-read.js.map +1 -0
  385. package/dist/storage/index.d.ts +13 -5
  386. package/dist/storage/index.d.ts.map +1 -1
  387. package/dist/storage/index.js +39 -2
  388. package/dist/storage/index.js.map +1 -1
  389. package/dist/storage/layout.d.ts +2 -2
  390. package/dist/storage/layout.d.ts.map +1 -1
  391. package/dist/storage/layout.js +2 -7
  392. package/dist/storage/layout.js.map +1 -1
  393. package/dist/storage/memory-path.d.ts +18 -5
  394. package/dist/storage/memory-path.d.ts.map +1 -1
  395. package/dist/storage/memory-path.js +41 -5
  396. package/dist/storage/memory-path.js.map +1 -1
  397. package/dist/storage/snapshot.js +1 -1
  398. package/dist/storage/templates.d.ts +33 -6
  399. package/dist/storage/templates.d.ts.map +1 -1
  400. package/dist/storage/templates.js +170 -16
  401. package/dist/storage/templates.js.map +1 -1
  402. package/dist/validation/config-version.d.ts +19 -0
  403. package/dist/validation/config-version.d.ts.map +1 -0
  404. package/dist/validation/config-version.js +53 -0
  405. package/dist/validation/config-version.js.map +1 -0
  406. package/dist/validation/diagnostic.d.ts +40 -0
  407. package/dist/validation/diagnostic.d.ts.map +1 -0
  408. package/dist/validation/diagnostic.js +41 -0
  409. package/dist/validation/diagnostic.js.map +1 -0
  410. package/dist/validation/format.d.ts +74 -0
  411. package/dist/validation/format.d.ts.map +1 -0
  412. package/dist/validation/format.js +104 -0
  413. package/dist/validation/format.js.map +1 -0
  414. package/dist/validation/id.d.ts +14 -0
  415. package/dist/validation/id.d.ts.map +1 -1
  416. package/dist/validation/id.js +35 -11
  417. package/dist/validation/id.js.map +1 -1
  418. package/dist/validation/identity.d.ts +40 -0
  419. package/dist/validation/identity.d.ts.map +1 -0
  420. package/dist/validation/identity.js +78 -0
  421. package/dist/validation/identity.js.map +1 -0
  422. package/dist/validation/index.d.ts +9 -3
  423. package/dist/validation/index.d.ts.map +1 -1
  424. package/dist/validation/index.js +30 -1
  425. package/dist/validation/index.js.map +1 -1
  426. package/dist/validation/secret-scan.d.ts +3 -2
  427. package/dist/validation/secret-scan.d.ts.map +1 -1
  428. package/dist/validation/secret-scan.js +32 -11
  429. package/dist/validation/secret-scan.js.map +1 -1
  430. package/dist/validation/warning.d.ts +30 -16
  431. package/dist/validation/warning.d.ts.map +1 -1
  432. package/dist/validation/warning.js +74 -7
  433. package/dist/validation/warning.js.map +1 -1
  434. package/dist/workflow/bindings.d.ts +152 -0
  435. package/dist/workflow/bindings.d.ts.map +1 -0
  436. package/dist/workflow/bindings.js +249 -0
  437. package/dist/workflow/bindings.js.map +1 -0
  438. package/dist/workflow/create.d.ts +13 -0
  439. package/dist/workflow/create.d.ts.map +1 -0
  440. package/dist/workflow/create.js +41 -0
  441. package/dist/workflow/create.js.map +1 -0
  442. package/dist/workflow/deduce.d.ts +400 -0
  443. package/dist/workflow/deduce.d.ts.map +1 -0
  444. package/dist/workflow/deduce.js +1109 -0
  445. package/dist/workflow/deduce.js.map +1 -0
  446. package/dist/workflow/manifest-edit.d.ts +19 -0
  447. package/dist/workflow/manifest-edit.d.ts.map +1 -0
  448. package/dist/workflow/manifest-edit.js +124 -0
  449. package/dist/workflow/manifest-edit.js.map +1 -0
  450. package/dist/workflow/schema.d.ts +158 -19
  451. package/dist/workflow/schema.d.ts.map +1 -1
  452. package/dist/workflow/schema.js +163 -15
  453. package/dist/workflow/schema.js.map +1 -1
  454. package/package.json +18 -8
@@ -1 +1 @@
1
- {"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/core/loaders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/core/loaders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type CoreResult } from './types';
2
+ /** The step an added element is linked to: the values of its two trailers. */
3
+ export interface AddLink {
4
+ /** The open instance's id — `WingFoil-Instance`. */
5
+ readonly instance: string;
6
+ /** The frontier step's key, `<workflow>.<phase>[@<scope>]` — `WingFoil-Step`. */
7
+ readonly step: string;
8
+ }
9
+ /** The trailer lines that record `link` on the add commit (`spec-017` §4.8), in this order. */
10
+ export declare function addLinkTrailers(link: AddLink): string[];
11
+ /**
12
+ * Resolve `--workflow <ref> [--step <key>]` for an element of `type` (`spec-017` §7.10). Refusals, each
13
+ * exit `1` (`spec-017` §10):
14
+ *
15
+ * - `<ref>` names no open instance: `workflow is not open: <ref>` when it is a loaded workflow's name or an
16
+ * instance plan's id, else `unknown workflow: <ref>` (`NOT_FOUND`) — `unresolvedRef`, the one answer `workflow
17
+ * next`, `status`, `finalize` and `end` give for the same `<ref>` (task-281, `bug-326`);
18
+ * - `--step <key>` is not on the instance's frontier: `step '<key>' is not on the frontier of <instance>`
19
+ * (`CONFLICT`), as `workflow finalize` refuses it;
20
+ * - no frontier step (or the `--step` one) adds a `type`: `no step of <instance> adds a <type>` (`CONFLICT`);
21
+ * - several do and no `--step` picks one: the same refusal, listing their keys in frontier order and asking
22
+ * for `--step` (`CONFLICT`, the keys also in `details.steps`).
23
+ *
24
+ * @throws `DiagnosticsError` (`VALIDATION`) when the registry at `HEAD` has a `spec-003` error; `StorageError`
25
+ * when git cannot answer — mapped by the caller, as `workflow next` maps them.
26
+ */
27
+ export declare function resolveAddLink(root: string, ref: string, stepKey: string | undefined, type: string): CoreResult<AddLink>;
28
+ //# sourceMappingURL=memory-add-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-add-link.d.ts","sourceRoot":"","sources":["../../src/core/memory-add-link.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAI3D,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAEvD;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAkBxH"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addLinkTrailers = addLinkTrailers;
4
+ exports.resolveAddLink = resolveAddLink;
5
+ /**
6
+ * `memory add --workflow <ref> [--step <key>]` — which workflow step the added element is linked to
7
+ * (task-227; `spec-017` §4.8 "Linkage", §7.10, §10, §11; ruling R16).
8
+ *
9
+ * The link is the pair of trailers `WingFoil-Instance: <instance-id>` / `WingFoil-Step: <key>` on the add
10
+ * commit, which the deduction reads back (`readFacts`, `./workflow-deduction.ts`) to list the element in the
11
+ * step's `created`. This module decides the pair, before anything is written: one deduction at `HEAD`, the
12
+ * one `workflow next` answers from (`spec-017` §11's `memory add --workflow` row), then the frontier steps of
13
+ * the selected instance whose phase declares `memory.add(type: <T>)` for the `--type` given.
14
+ *
15
+ * A pure function of the repository as committed at `HEAD` (REQ-SYS-07): the frontier is in the deduction's
16
+ * order, and nothing reads the clock or the working tree.
17
+ */
18
+ const bindings_1 = require("../workflow/bindings");
19
+ const deduce_1 = require("../workflow/deduce");
20
+ const types_1 = require("./types");
21
+ const workflow_deduction_1 = require("./workflow-deduction");
22
+ const workflow_next_1 = require("./workflow-next");
23
+ /** The trailer lines that record `link` on the add commit (`spec-017` §4.8), in this order. */
24
+ function addLinkTrailers(link) {
25
+ return [`WingFoil-Instance: ${link.instance}`, `WingFoil-Step: ${link.step}`];
26
+ }
27
+ /** Whether `step`'s phase declares a `memory.add` of `type`. */
28
+ function addsType(step, type) {
29
+ return step.actions.some((action) => (0, bindings_1.tokenName)(action.token) === 'memory.add' && (0, bindings_1.memoryAddType)(action.token) === type);
30
+ }
31
+ /**
32
+ * Resolve `--workflow <ref> [--step <key>]` for an element of `type` (`spec-017` §7.10). Refusals, each
33
+ * exit `1` (`spec-017` §10):
34
+ *
35
+ * - `<ref>` names no open instance: `workflow is not open: <ref>` when it is a loaded workflow's name or an
36
+ * instance plan's id, else `unknown workflow: <ref>` (`NOT_FOUND`) — `unresolvedRef`, the one answer `workflow
37
+ * next`, `status`, `finalize` and `end` give for the same `<ref>` (task-281, `bug-326`);
38
+ * - `--step <key>` is not on the instance's frontier: `step '<key>' is not on the frontier of <instance>`
39
+ * (`CONFLICT`), as `workflow finalize` refuses it;
40
+ * - no frontier step (or the `--step` one) adds a `type`: `no step of <instance> adds a <type>` (`CONFLICT`);
41
+ * - several do and no `--step` picks one: the same refusal, listing their keys in frontier order and asking
42
+ * for `--step` (`CONFLICT`, the keys also in `details.steps`).
43
+ *
44
+ * @throws `DiagnosticsError` (`VALIDATION`) when the registry at `HEAD` has a `spec-003` error; `StorageError`
45
+ * when git cannot answer — mapped by the caller, as `workflow next` maps them.
46
+ */
47
+ function resolveAddLink(root, ref, stepKey, type) {
48
+ const snapshot = (0, workflow_deduction_1.readDeductionSnapshotAtHead)(root);
49
+ const selected = (0, deduce_1.resolveInstanceRef)((0, deduce_1.deduceWorkflowState)(snapshot), ref);
50
+ if (selected === null) {
51
+ return (0, workflow_next_1.unresolvedRef)({ workflows: snapshot.workflows, plans: (0, workflow_deduction_1.instancePlanIds)(snapshot.documents) }, ref);
52
+ }
53
+ const instance = selected.instance.id;
54
+ if (stepKey !== undefined && !selected.frontier.some((step) => step.key === stepKey)) {
55
+ return (0, types_1.coreErr)({ code: 'CONFLICT', message: `step '${stepKey}' is not on the frontier of ${instance}`, details: { instance, step: stepKey } });
56
+ }
57
+ const candidates = selected.frontier.filter((step) => (stepKey === undefined || step.key === stepKey) && addsType(step, type));
58
+ const none = `no step of ${instance} adds a ${type}`;
59
+ if (candidates.length === 0)
60
+ return (0, types_1.coreErr)({ code: 'CONFLICT', message: none, details: { instance, type, steps: [] } });
61
+ if (candidates.length > 1) {
62
+ const steps = candidates.map((step) => step.key);
63
+ return (0, types_1.coreErr)({ code: 'CONFLICT', message: `${none} alone: give --step, one of: ${steps.join(', ')}`, details: { instance, type, steps } });
64
+ }
65
+ return (0, types_1.coreOk)({ instance, step: candidates[0].key });
66
+ }
67
+ //# sourceMappingURL=memory-add-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-add-link.js","sourceRoot":"","sources":["../../src/core/memory-add-link.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TemplateConfig } from '../memory';
1
+ import { type MemoryYaml, type TemplateConfig } from '../memory';
2
2
  import { type CoreResult } from './types';
3
3
  /** Everything `memory add` needs about a type, all of it resolved from the same committed baseline. */
4
4
  export interface ResolvedAddType {
@@ -14,6 +14,14 @@ export interface ResolvedAddType {
14
14
  readonly templatePath: string;
15
15
  /** The scaffold's bytes **as committed at `HEAD`**, the text `renderAddDocument` fills in. */
16
16
  readonly scaffold: string;
17
+ /**
18
+ * The state the new element starts in: the head of the type's machine — its own `states.sequence`,
19
+ * else `defaults.states.sequence`, else the built-in default's (REQ-STATE-08) — from `HEAD`
20
+ * (`spec-001`: "`sequence[0]` is the state `memory.add` assigns"; `bug-214`, task-180).
21
+ */
22
+ readonly initialState: string;
23
+ /** The committed `memory.yaml` all of the above came from — what the WIP-limit check reads. */
24
+ readonly memoryYaml: MemoryYaml;
17
25
  }
18
26
  /**
19
27
  * Resolve `type` against the `memory.yaml` **committed at `HEAD`** and return its `path`,
@@ -40,4 +48,20 @@ export interface ResolvedAddType {
40
48
  * disagree about *this type* ({@link workingTreeEntry}).
41
49
  */
42
50
  export declare function resolveAddType(root: string, type: string): CoreResult<ResolvedAddType>;
51
+ /**
52
+ * The one reader of a Memory template's frontmatter (task-257, `bug-243`), shared by `memory add`,
53
+ * which copies the scaffold, and `memory amend`, which reads which fields the type declares — so the
54
+ * two cannot disagree on whether a template is readable. `label` names the file in a refusal
55
+ * (`HEAD:<path>` for a committed template).
56
+ *
57
+ * - A format newer than this build reads is refused for its format alone (`E_INVALID_FORMAT`), and a
58
+ * `format` that is not a positive integer as a schema error naming the field — both `VALIDATION`,
59
+ * exit 1, `cannot read the scaffold for memory type '<type>': …` (`dl-149`, task-251).
60
+ * - A scaffold with no frontmatter, one whose frontmatter is not YAML, and one whose frontmatter block
61
+ * is empty yield `null`: there are no fields to read. A frontmatter that is a list or a scalar is
62
+ * refused by the schema, as `memory add` refused it before. They are left as they were before the key
63
+ * existed — `renderAddDocument` refuses the first, the second is copied as text.
64
+ * - Otherwise, the parsed fields.
65
+ */
66
+ export declare function readTemplateFrontmatter(type: string, scaffold: string, label: string): CoreResult<Record<string, unknown> | null>;
43
67
  //# sourceMappingURL=memory-add-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-add-type.d.ts","sourceRoot":"","sources":["../../src/core/memory-add-type.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,WAAW,CAAC;AAK5D,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAmEtF"}
1
+ {"version":3,"file":"memory-add-type.d.ts","sourceRoot":"","sources":["../../src/core/memory-add-type.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAkD,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAMjH,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAuEtF;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAuBjI"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveAddType = resolveAddType;
4
+ exports.readTemplateFrontmatter = readTemplateFrontmatter;
4
5
  /**
5
6
  * `memory add`'s type resolution, against the repository **as committed at `HEAD`**
6
7
  * (task-095-memory-add-resolves-its-type-at-head, `bug-085`,
@@ -27,8 +28,10 @@ exports.resolveAddType = resolveAddType;
27
28
  * @see `src/core/memory-transition.ts` for the same rule on the four state-transition verbs.
28
29
  */
29
30
  const path_1 = require("path");
31
+ const memory_1 = require("../memory");
30
32
  const storage_1 = require("../storage");
31
33
  const validation_1 = require("../validation");
34
+ const format_1 = require("../validation/format");
32
35
  const loaders_1 = require("./loaders");
33
36
  const types_1 = require("./types");
34
37
  /** The directory every `template.file` path is relative to, matching `MEMORY_YAML_PATH`'s prefix. */
@@ -146,6 +149,61 @@ function resolveAddType(root, type) {
146
149
  `copies the scaffold the repository records, not one a working tree holds (dl-080)${tail}.`,
147
150
  });
148
151
  }
149
- return (0, types_1.coreOk)({ type, pathPattern, idPattern, template, templatePath, scaffold });
152
+ const unreadable = templateFormatRefusal(type, scaffold, `HEAD:${templatePath}`);
153
+ if (unreadable)
154
+ return unreadable;
155
+ const initialState = (0, memory_1.resolveStateMachine)(committed, type).sequence[0];
156
+ return (0, types_1.coreOk)({ type, pathPattern, idPattern, template, templatePath, scaffold, initialState, memoryYaml: committed });
157
+ }
158
+ /**
159
+ * The template's `format` check (`dl-149`, task-251), or `null` when the scaffold may be copied — the
160
+ * refusal half of {@link readTemplateFrontmatter}.
161
+ */
162
+ function templateFormatRefusal(type, scaffold, label) {
163
+ const read = readTemplateFrontmatter(type, scaffold, label);
164
+ return read.ok ? null : read;
165
+ }
166
+ /**
167
+ * The one reader of a Memory template's frontmatter (task-257, `bug-243`), shared by `memory add`,
168
+ * which copies the scaffold, and `memory amend`, which reads which fields the type declares — so the
169
+ * two cannot disagree on whether a template is readable. `label` names the file in a refusal
170
+ * (`HEAD:<path>` for a committed template).
171
+ *
172
+ * - A format newer than this build reads is refused for its format alone (`E_INVALID_FORMAT`), and a
173
+ * `format` that is not a positive integer as a schema error naming the field — both `VALIDATION`,
174
+ * exit 1, `cannot read the scaffold for memory type '<type>': …` (`dl-149`, task-251).
175
+ * - A scaffold with no frontmatter, one whose frontmatter is not YAML, and one whose frontmatter block
176
+ * is empty yield `null`: there are no fields to read. A frontmatter that is a list or a scalar is
177
+ * refused by the schema, as `memory add` refused it before. They are left as they were before the key
178
+ * existed — `renderAddDocument` refuses the first, the second is copied as text.
179
+ * - Otherwise, the parsed fields.
180
+ */
181
+ function readTemplateFrontmatter(type, scaffold, label) {
182
+ const frontmatter = (0, storage_1.extractFrontmatter)(scaffold);
183
+ if (frontmatter === null)
184
+ return (0, types_1.coreOk)(null);
185
+ let data;
186
+ try {
187
+ data = (0, validation_1.parseYaml)(frontmatter, label);
188
+ }
189
+ catch {
190
+ return (0, types_1.coreOk)(null);
191
+ }
192
+ try {
193
+ (0, format_1.refuseNewerFormat)(data, format_1.MEMORY_TEMPLATE_FORMAT, label);
194
+ const parsed = memory_1.MemoryTemplateFrontmatter.safeParse(data ?? {});
195
+ if (!parsed.success)
196
+ throw (0, validation_1.toValidationError)(parsed.error, label);
197
+ }
198
+ catch (error) {
199
+ const refusal = error;
200
+ return (0, types_1.coreErr)({
201
+ code: 'VALIDATION',
202
+ message: `cannot read the scaffold for memory type '${type}': ${refusal.message}`,
203
+ details: { issues: refusal.issues },
204
+ });
205
+ }
206
+ // The schema admitted a mapping (an object schema refuses a list or a scalar) or an empty block.
207
+ return (0, types_1.coreOk)((data ?? null));
150
208
  }
151
209
  //# sourceMappingURL=memory-add-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-add-type.js","sourceRoot":"","sources":["../../src/core/memory-add-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-add-type.js","sourceRoot":"","sources":["../../src/core/memory-add-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * The two refusals that are `memory amend`'s own (task-127, `dl-108` A1 (a) and A3). The rest of the
3
+ * verb — usage checks, git identity, locating the document, approval authority, the one-file commit —
4
+ * is shared with the transition verbs; see `memoryAmendFn` in `./index.ts`.
5
+ *
6
+ * An amendment is the one Memory operation whose content comes from the author rather than from the
7
+ * verb: the author edits the document, then `amend` records that edit under an approver's name. So
8
+ * the questions are about the edit — is there one, is the type open to one, and does it stay inside
9
+ * what an amendment owns (`spec-010` § Field-write ownership: the body and every frontmatter field
10
+ * except those in {@link AMEND_RESERVED_FIELDS}).
11
+ */
12
+ import { type MemoryYaml } from '../memory';
13
+ import { type CoreResult } from './types';
14
+ /**
15
+ * The frontmatter fields an amendment may not change. A refusal names them in sorted order
16
+ * (`describeDocumentChanges`). Each has another owner:
17
+ * - `status` belongs to the transition verbs;
18
+ * - `id` and `type` locate the element and select its path and machine, so changing either is a new
19
+ * element, not a correction to this one;
20
+ * - `release` belongs to `assign` (`element.set_release`, approver ruling 2026-10-01) — but only on a
21
+ * type whose committed scaffold declares it; see {@link amendReservedFields};
22
+ * - `rejection_reason` belongs to `reject` (and is cleared by `submit`);
23
+ * - `supersedes` is the trigger of the `superseded` edge, read when the element is approved
24
+ * (`src/core/memory-supersede.ts`, task-162).
25
+ * The last three are the approver's ruling (b) at `task-127`'s review, 2026-10-01; the condition on
26
+ * `release` is the approver's ruling of 2026-10-01 at `task-170` (`bug-166`, option (A)).
27
+ */
28
+ export declare const AMEND_RESERVED_FIELDS: readonly string[];
29
+ /**
30
+ * Refuse a type whose scaffold, as committed at `HEAD`, `memory add` would refuse to read: a `format`
31
+ * newer than this build reads (`E_INVALID_FORMAT`) or not a positive integer (`dl-149`; task-257,
32
+ * `bug-243`) — `VALIDATION`, exit `1`, with `memory add`'s own message, before anything is written.
33
+ * `amend` reads that scaffold to decide which fields it owns ({@link amendReservedFields}), and does
34
+ * not apply today's rule to a template shape this build may not understand. No scaffold to read is
35
+ * not a refusal: `release` then stays reserved.
36
+ */
37
+ export declare function requireReadableScaffold(root: string, memoryYaml: MemoryYaml, type: string): CoreResult<undefined>;
38
+ /**
39
+ * The fields an amendment of a `type` document may not change: {@link AMEND_RESERVED_FIELDS}, except
40
+ * `release` when the type's scaffold committed at `HEAD` (`template.file` of the committed
41
+ * `memory.yaml`, `command-baseline`) does not declare a `release` field.
42
+ *
43
+ * `release` is reserved because `assign` owns it, and `assign` owns it only on the types that carry it
44
+ * with the `traceability` directive's meaning, the release the element's implementation is assigned
45
+ * to. The scaffold is where a type declares the fields its documents carry. A type whose scaffold has
46
+ * no `release` (`service`, since `task-170` named its set-up release `set_up_in`) has no assign-owned
47
+ * `release`, so a `release` key left on one of its documents is a leftover an amendment may remove.
48
+ * With no readable committed scaffold nothing shows the field is unowned, and it stays reserved.
49
+ * Sorted, as {@link AMEND_RESERVED_FIELDS} is (REQ-SYS-07).
50
+ */
51
+ export declare function amendReservedFields(root: string, memoryYaml: MemoryYaml, type: string): readonly string[];
52
+ /**
53
+ * Refuse a type whose committed `memory.yaml` entry does not declare `amendable: true` (`dl-108` A3,
54
+ * `spec-001`). `memoryYaml` is the copy committed at `HEAD` that `prepareMemoryTransition` resolved
55
+ * (`command-baseline`): an uncommitted `amendable: true` cannot open a type to amendment.
56
+ */
57
+ export declare function requireAmendableType(memoryYaml: MemoryYaml, type: string): CoreResult<undefined>;
58
+ /**
59
+ * Refuse a working-tree document that is not an amendment of its committed self: no commit holds it,
60
+ * it carries no change, or the change touches a field in `reserved` (the type's
61
+ * {@link amendReservedFields}). `content` is the document as read from the working tree, which is
62
+ * what the commit will record.
63
+ *
64
+ * The comparison is against `HEAD`, the committed baseline. That is also what keeps the subject's
65
+ * `[s → s]` bracket true: `status` is the same on both sides, so the state the bracket names is the
66
+ * committed one.
67
+ */
68
+ export declare function requireAmendableEdit(root: string, id: string, path: string, content: string, reserved: readonly string[]): CoreResult<undefined>;
69
+ /**
70
+ * Refuse an amendment that would leave a non-draft document violating `spec-010` § Validation rules:
71
+ * `title` and every `template.frontmatter.required` field must be non-empty once `status` is past the
72
+ * type's initial state (task-127 review F1). The rule is `memory submit`'s own
73
+ * (`requireRequiredFields`, declared not-applicable values included — task-168), applied to the
74
+ * edited frontmatter, because an amendment is the one other
75
+ * verb that writes those fields; a field the type's `template.frontmatter.exempt` lists for this id is
76
+ * not required of it (`bug-342`, task-279). "Draft" is read as the machine's initial state (`sequence[0]`),
77
+ * which is `draft` for every type `spec-001` declares.
78
+ */
79
+ export declare function requireRequiredFieldsKept(memoryYaml: MemoryYaml, type: string, state: string, frontmatter: Readonly<Record<string, unknown>>): CoreResult<undefined>;
80
+ //# sourceMappingURL=memory-amend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-amend.d.ts","sourceRoot":"","sources":["../../src/core/memory-amend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAgD,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAK1F,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA0E,CAAC;AA+B9H;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAGjH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGzG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAKhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,UAAU,CAAC,SAAS,CAAC,CAyBvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC7C,UAAU,CAAC,SAAS,CAAC,CAGvB"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AMEND_RESERVED_FIELDS = void 0;
4
+ exports.requireReadableScaffold = requireReadableScaffold;
5
+ exports.amendReservedFields = amendReservedFields;
6
+ exports.requireAmendableType = requireAmendableType;
7
+ exports.requireAmendableEdit = requireAmendableEdit;
8
+ exports.requireRequiredFieldsKept = requireRequiredFieldsKept;
9
+ /**
10
+ * The two refusals that are `memory amend`'s own (task-127, `dl-108` A1 (a) and A3). The rest of the
11
+ * verb — usage checks, git identity, locating the document, approval authority, the one-file commit —
12
+ * is shared with the transition verbs; see `memoryAmendFn` in `./index.ts`.
13
+ *
14
+ * An amendment is the one Memory operation whose content comes from the author rather than from the
15
+ * verb: the author edits the document, then `amend` records that edit under an approver's name. So
16
+ * the questions are about the edit — is there one, is the type open to one, and does it stay inside
17
+ * what an amendment owns (`spec-010` § Field-write ownership: the body and every frontmatter field
18
+ * except those in {@link AMEND_RESERVED_FIELDS}).
19
+ */
20
+ const memory_1 = require("../memory");
21
+ const storage_1 = require("../storage");
22
+ const memory_add_type_1 = require("./memory-add-type");
23
+ const required_fields_1 = require("./required-fields");
24
+ const types_1 = require("./types");
25
+ /**
26
+ * The frontmatter fields an amendment may not change. A refusal names them in sorted order
27
+ * (`describeDocumentChanges`). Each has another owner:
28
+ * - `status` belongs to the transition verbs;
29
+ * - `id` and `type` locate the element and select its path and machine, so changing either is a new
30
+ * element, not a correction to this one;
31
+ * - `release` belongs to `assign` (`element.set_release`, approver ruling 2026-10-01) — but only on a
32
+ * type whose committed scaffold declares it; see {@link amendReservedFields};
33
+ * - `rejection_reason` belongs to `reject` (and is cleared by `submit`);
34
+ * - `supersedes` is the trigger of the `superseded` edge, read when the element is approved
35
+ * (`src/core/memory-supersede.ts`, task-162).
36
+ * The last three are the approver's ruling (b) at `task-127`'s review, 2026-10-01; the condition on
37
+ * `release` is the approver's ruling of 2026-10-01 at `task-170` (`bug-166`, option (A)).
38
+ */
39
+ exports.AMEND_RESERVED_FIELDS = ['id', 'rejection_reason', 'release', 'status', 'supersedes', 'type'];
40
+ /** The one reserved field whose reservation depends on the type: see {@link amendReservedFields}. */
41
+ const ASSIGN_OWNED_FIELD = 'release';
42
+ /**
43
+ * The frontmatter of the type's scaffold as committed at `HEAD`, read by the reader `memory add` uses
44
+ * ({@link readTemplateFrontmatter}, task-257, `bug-243`): `null` when there is no scaffold to read — no
45
+ * `template.file`, not committed, or no parseable frontmatter mapping — and the `dl-149` refusal when
46
+ * it declares a `format` this build does not read.
47
+ */
48
+ function committedScaffoldFrontmatter(root, memoryYaml, type) {
49
+ const file = memoryYaml.types[type]?.template?.file;
50
+ if (file === undefined)
51
+ return (0, types_1.coreOk)(null);
52
+ const path = `${storage_1.WINGFOIL_DIR}/${file}`;
53
+ const scaffold = (0, storage_1.readPathAtRev)(root, 'HEAD', path);
54
+ if (scaffold === null)
55
+ return (0, types_1.coreOk)(null);
56
+ return (0, memory_add_type_1.readTemplateFrontmatter)(type, scaffold, `HEAD:${path}`);
57
+ }
58
+ /**
59
+ * Whether the type's scaffold, as committed at `HEAD`, declares a `release` frontmatter field. `null`
60
+ * when there is no scaffold to read, or it cannot be read ({@link requireReadableScaffold} refuses
61
+ * that case before this answer is used).
62
+ */
63
+ function committedScaffoldDeclaresRelease(root, memoryYaml, type) {
64
+ const fields = committedScaffoldFrontmatter(root, memoryYaml, type);
65
+ if (!fields.ok || fields.value === null)
66
+ return null;
67
+ return Object.prototype.hasOwnProperty.call(fields.value, ASSIGN_OWNED_FIELD);
68
+ }
69
+ /**
70
+ * Refuse a type whose scaffold, as committed at `HEAD`, `memory add` would refuse to read: a `format`
71
+ * newer than this build reads (`E_INVALID_FORMAT`) or not a positive integer (`dl-149`; task-257,
72
+ * `bug-243`) — `VALIDATION`, exit `1`, with `memory add`'s own message, before anything is written.
73
+ * `amend` reads that scaffold to decide which fields it owns ({@link amendReservedFields}), and does
74
+ * not apply today's rule to a template shape this build may not understand. No scaffold to read is
75
+ * not a refusal: `release` then stays reserved.
76
+ */
77
+ function requireReadableScaffold(root, memoryYaml, type) {
78
+ const fields = committedScaffoldFrontmatter(root, memoryYaml, type);
79
+ return fields.ok ? (0, types_1.coreOk)(undefined) : fields;
80
+ }
81
+ /**
82
+ * The fields an amendment of a `type` document may not change: {@link AMEND_RESERVED_FIELDS}, except
83
+ * `release` when the type's scaffold committed at `HEAD` (`template.file` of the committed
84
+ * `memory.yaml`, `command-baseline`) does not declare a `release` field.
85
+ *
86
+ * `release` is reserved because `assign` owns it, and `assign` owns it only on the types that carry it
87
+ * with the `traceability` directive's meaning, the release the element's implementation is assigned
88
+ * to. The scaffold is where a type declares the fields its documents carry. A type whose scaffold has
89
+ * no `release` (`service`, since `task-170` named its set-up release `set_up_in`) has no assign-owned
90
+ * `release`, so a `release` key left on one of its documents is a leftover an amendment may remove.
91
+ * With no readable committed scaffold nothing shows the field is unowned, and it stays reserved.
92
+ * Sorted, as {@link AMEND_RESERVED_FIELDS} is (REQ-SYS-07).
93
+ */
94
+ function amendReservedFields(root, memoryYaml, type) {
95
+ if (committedScaffoldDeclaresRelease(root, memoryYaml, type) !== false)
96
+ return exports.AMEND_RESERVED_FIELDS;
97
+ return exports.AMEND_RESERVED_FIELDS.filter((field) => field !== ASSIGN_OWNED_FIELD);
98
+ }
99
+ /**
100
+ * Refuse a type whose committed `memory.yaml` entry does not declare `amendable: true` (`dl-108` A3,
101
+ * `spec-001`). `memoryYaml` is the copy committed at `HEAD` that `prepareMemoryTransition` resolved
102
+ * (`command-baseline`): an uncommitted `amendable: true` cannot open a type to amendment.
103
+ */
104
+ function requireAmendableType(memoryYaml, type) {
105
+ const declared = memoryYaml.types[type]?.amendable;
106
+ if (declared === true)
107
+ return (0, types_1.coreOk)(undefined);
108
+ const why = declared === false ? 'declares amendable: false' : 'does not declare amendable: true';
109
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: `type '${type}' is not amendable: its memory.yaml entry ${why}` });
110
+ }
111
+ /**
112
+ * Refuse a working-tree document that is not an amendment of its committed self: no commit holds it,
113
+ * it carries no change, or the change touches a field in `reserved` (the type's
114
+ * {@link amendReservedFields}). `content` is the document as read from the working tree, which is
115
+ * what the commit will record.
116
+ *
117
+ * The comparison is against `HEAD`, the committed baseline. That is also what keeps the subject's
118
+ * `[s → s]` bracket true: `status` is the same on both sides, so the state the bracket names is the
119
+ * committed one.
120
+ */
121
+ function requireAmendableEdit(root, id, path, content, reserved) {
122
+ const committed = (0, storage_1.readPathAtRev)(root, 'HEAD', path);
123
+ if (committed === null) {
124
+ return (0, types_1.coreErr)({
125
+ code: 'VALIDATION',
126
+ message: `nothing to amend: ${path} is not committed at HEAD — an amendment corrects a recorded document; ` +
127
+ 'a new one is recorded by memory add and memory submit',
128
+ });
129
+ }
130
+ if (committed === content) {
131
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: `nothing to amend: ${path} carries no uncommitted change` });
132
+ }
133
+ const owned = new Set(reserved.map((field) => `frontmatter field '${field}'`));
134
+ const touched = (0, memory_1.describeDocumentChanges)(committed, content).filter((change) => owned.has(change));
135
+ if (touched.length > 0) {
136
+ return (0, types_1.coreErr)({
137
+ code: 'VALIDATION',
138
+ message: `refusing to amend ${id}: the working-tree edit changes ${touched.join(', ')}, which an amendment does not ` +
139
+ 'own — status is a transition verb\'s, release is assign\'s, rejection_reason is reject\'s, supersedes is ' +
140
+ 'the supersede trigger\'s, and a new id or type is a new element; undo that change, then retry',
141
+ });
142
+ }
143
+ return (0, types_1.coreOk)(undefined);
144
+ }
145
+ /**
146
+ * Refuse an amendment that would leave a non-draft document violating `spec-010` § Validation rules:
147
+ * `title` and every `template.frontmatter.required` field must be non-empty once `status` is past the
148
+ * type's initial state (task-127 review F1). The rule is `memory submit`'s own
149
+ * (`requireRequiredFields`, declared not-applicable values included — task-168), applied to the
150
+ * edited frontmatter, because an amendment is the one other
151
+ * verb that writes those fields; a field the type's `template.frontmatter.exempt` lists for this id is
152
+ * not required of it (`bug-342`, task-279). "Draft" is read as the machine's initial state (`sequence[0]`),
153
+ * which is `draft` for every type `spec-001` declares.
154
+ */
155
+ function requireRequiredFieldsKept(memoryYaml, type, state, frontmatter) {
156
+ if (state === (0, memory_1.resolveStateMachine)(memoryYaml, type).sequence[0])
157
+ return (0, types_1.coreOk)(undefined);
158
+ return (0, required_fields_1.requireRequiredFields)(memoryYaml, type, frontmatter, 'amend');
159
+ }
160
+ //# sourceMappingURL=memory-amend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-amend.js","sourceRoot":"","sources":["../../src/core/memory-amend.ts"],"names":[],"mappings":";;;AAuEA,0DAGC;AAeD,kDAGC;AAOD,oDAKC;AAYD,oDA+BC;AAYD,8DAQC;AAvKD;;;;;;;;;;GAUG;AACH,sCAA0F;AAC1F,wCAAyD;AAEzD,uDAA4D;AAC5D,uDAA0D;AAC1D,mCAA2D;AAE3D;;;;;;;;;;;;;GAaG;AACU,QAAA,qBAAqB,GAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAE9H,qGAAqG;AACrG,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,IAAY,EAAE,UAAsB,EAAE,IAAY;IACtF,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;IACpD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,sBAAY,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAA,yCAAuB,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CAAC,IAAY,EAAE,UAAsB,EAAE,IAAY;IAC1F,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,IAAY,EAAE,UAAsB,EAAE,IAAY;IACxF,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,IAAY,EAAE,UAAsB,EAAE,IAAY;IACpF,IAAI,gCAAgC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,6BAAqB,CAAC;IACrG,OAAO,6BAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,UAAsB,EAAE,IAAY;IACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IACnD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAA,cAAM,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,kCAAkC,CAAC;IAClG,OAAO,IAAA,eAAO,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,IAAI,6CAA6C,GAAG,EAAE,EAAE,CAAC,CAAC;AACnH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,OAAe,EACf,QAA2B;IAE3B,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,IAAA,eAAO,EAAC;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EACL,qBAAqB,IAAI,yEAAyE;gBAClG,uDAAuD;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAA,eAAO,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,IAAI,gCAAgC,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,IAAA,gCAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAA,eAAO,EAAC;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EACL,qBAAqB,EAAE,mCAAmC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;gBAC5G,2GAA2G;gBAC3G,+FAA+F;SAClG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAA,cAAM,EAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,IAAY,EACZ,KAAa,EACb,WAA8C;IAE9C,IAAI,KAAK,KAAK,IAAA,4BAAmB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAA,cAAM,EAAC,SAAS,CAAC,CAAC;IAC1F,OAAO,IAAA,uCAAqB,EAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type BegunMemoryTransition } from './memory-transition';
2
+ import { type CoreResult } from './types';
3
+ /** The frontmatter field that names the element an approval supersedes (`spec-010`). */
4
+ export declare const SUPERSEDES_FIELD = "supersedes";
5
+ /**
6
+ * Resolve the `supersedes:` trigger for an approval already prepared and authorized: `null` when it
7
+ * does not fire, the superseded element's prepared transition when it does, or a refusal.
8
+ *
9
+ * It fires only when the approve's target is a `waiting` state whose forward edge leads to
10
+ * `superseded` ({@link supersedesEdgeFrom}) and the approved element's committed `supersedes:` is a
11
+ * non-empty string. On any other approval the field is not read: a type without that edge has nothing
12
+ * for it to trigger. Refusals (exit `1`), each worded `cannot approve <B>: its supersedes: field names
13
+ * …`:
14
+ *
15
+ * - a value that is not a string → `VALIDATION`;
16
+ * - no element at `HEAD` carries that id → `NOT_FOUND`;
17
+ * - an element of another type → `VALIDATION`;
18
+ * - an element not in the approve's target state, the approved element itself included (it is in its
19
+ * gate state at `HEAD`) → `INVALID_TRANSITION`, `illegal transition <s> -> superseded for type '<t>'`;
20
+ * - every working-tree refusal a transition target meets (`prepareMemoryTransitionAtRev`).
21
+ *
22
+ * The caller still runs `checkMemoryTransition` on the result before writing anything, which adds the
23
+ * unmodified-document and confinement guards.
24
+ */
25
+ export declare function prepareSupersede(root: string, approved: BegunMemoryTransition): CoreResult<BegunMemoryTransition | null>;
26
+ /** The `Reason:` of the trigger's `finalize` commit: what superseded the element, and where it was approved. */
27
+ export declare function supersedeReason(approvedId: string, approveSha: string): string;
28
+ //# sourceMappingURL=memory-supersede.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-supersede.d.ts","sourceRoot":"","sources":["../../src/core/memory-supersede.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,qBAAqB,GAC9B,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAuB1C;AAED,gHAAgH;AAChH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E"}