@tacuchi/agent-workflow-cli 25.8.0 → 26.0.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 (558) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/README.md +6 -3
  3. package/dist/adapters/git-cli.js +225 -17
  4. package/dist/adapters/git-cli.js.map +1 -1
  5. package/dist/adapters/node-file-system.js +48 -0
  6. package/dist/adapters/node-file-system.js.map +1 -1
  7. package/dist/application/amend-service.js +51 -14
  8. package/dist/application/amend-service.js.map +1 -1
  9. package/dist/application/branch-resolver.js +6 -3
  10. package/dist/application/branch-resolver.js.map +1 -1
  11. package/dist/application/capability/design-handler.js +218 -43
  12. package/dist/application/capability/design-handler.js.map +1 -1
  13. package/dist/application/capability/dispatcher.js +182 -19
  14. package/dist/application/capability/dispatcher.js.map +1 -1
  15. package/dist/application/capability/durable-effect.js +3 -0
  16. package/dist/application/capability/durable-effect.js.map +1 -1
  17. package/dist/application/capability/readiness.js +8 -54
  18. package/dist/application/capability/readiness.js.map +1 -1
  19. package/dist/application/capability/resolution.js +124 -192
  20. package/dist/application/capability/resolution.js.map +1 -1
  21. package/dist/application/check-branch-service.js +158 -19
  22. package/dist/application/check-branch-service.js.map +1 -1
  23. package/dist/application/checkpoint/markdown.js +2 -2
  24. package/dist/application/checkpoint/markdown.js.map +1 -1
  25. package/dist/application/checkpoint/state-reader.js +12 -0
  26. package/dist/application/checkpoint/state-reader.js.map +1 -1
  27. package/dist/application/checkpoint-service.js +12 -4
  28. package/dist/application/checkpoint-service.js.map +1 -1
  29. package/dist/application/checkpoint-write-service.js +91 -17
  30. package/dist/application/checkpoint-write-service.js.map +1 -1
  31. package/dist/application/claims-ledger.js +137 -11
  32. package/dist/application/claims-ledger.js.map +1 -1
  33. package/dist/application/claims-recovery.js +85 -44
  34. package/dist/application/claims-recovery.js.map +1 -1
  35. package/dist/application/database-tool-catalog.js +33 -0
  36. package/dist/application/database-tool-catalog.js.map +1 -1
  37. package/dist/application/design/consumer-document.js +2 -2
  38. package/dist/application/design/consumer-document.js.map +1 -1
  39. package/dist/application/design/design-content-gate-service.js +20 -2
  40. package/dist/application/design/design-content-gate-service.js.map +1 -1
  41. package/dist/application/design/design-gate-service.js +2 -0
  42. package/dist/application/design/design-gate-service.js.map +1 -1
  43. package/dist/application/design/design-index-service.js +4 -0
  44. package/dist/application/design/design-index-service.js.map +1 -1
  45. package/dist/application/design/design-publish-service.js +1 -4
  46. package/dist/application/design/design-publish-service.js.map +1 -1
  47. package/dist/application/design/design-record-service.js +13 -7
  48. package/dist/application/design/design-record-service.js.map +1 -1
  49. package/dist/application/design/design-resolver-service.js +22 -3
  50. package/dist/application/design/design-resolver-service.js.map +1 -1
  51. package/dist/application/design/design-simple-service.js +24 -5
  52. package/dist/application/design/design-simple-service.js.map +1 -1
  53. package/dist/application/design/digest.js +41 -0
  54. package/dist/application/design/digest.js.map +1 -0
  55. package/dist/application/dev-only-services.js +166 -20
  56. package/dist/application/dev-only-services.js.map +1 -1
  57. package/dist/application/doc-branch-ledger.js +145 -0
  58. package/dist/application/doc-branch-ledger.js.map +1 -0
  59. package/dist/application/docs-canon-service.js +1 -1
  60. package/dist/application/docs-canon-service.js.map +1 -1
  61. package/dist/application/doctor/dist-integrity.js +113 -0
  62. package/dist/application/doctor/dist-integrity.js.map +1 -0
  63. package/dist/application/doctor/hosts.js +5 -2
  64. package/dist/application/doctor/hosts.js.map +1 -1
  65. package/dist/application/doctor/prepare.js +3 -3
  66. package/dist/application/doctor/prepare.js.map +1 -1
  67. package/dist/application/doctor/provider-installation.js +39 -19
  68. package/dist/application/doctor/provider-installation.js.map +1 -1
  69. package/dist/application/doctor/provider-mcps.js +9 -1
  70. package/dist/application/doctor/provider-mcps.js.map +1 -1
  71. package/dist/application/doctor/provider-skills.js +29 -115
  72. package/dist/application/doctor/provider-skills.js.map +1 -1
  73. package/dist/application/doctor/provider-visibility.js +76 -3
  74. package/dist/application/doctor/provider-visibility.js.map +1 -1
  75. package/dist/application/doctor/provider-workspace-block.js +156 -0
  76. package/dist/application/doctor/provider-workspace-block.js.map +1 -0
  77. package/dist/application/doctor/repair-runner.js +36 -39
  78. package/dist/application/doctor/repair-runner.js.map +1 -1
  79. package/dist/application/doctor/report.js +24 -4
  80. package/dist/application/doctor/report.js.map +1 -1
  81. package/dist/application/export-catalog-check.js +200 -0
  82. package/dist/application/export-catalog-check.js.map +1 -0
  83. package/dist/application/export-service.js +716 -79
  84. package/dist/application/export-service.js.map +1 -1
  85. package/dist/application/fix-git-service.js +285 -64
  86. package/dist/application/fix-git-service.js.map +1 -1
  87. package/dist/application/flow/advance.js +202 -25
  88. package/dist/application/flow/advance.js.map +1 -1
  89. package/dist/application/flow/annul-service.js +3 -1
  90. package/dist/application/flow/annul-service.js.map +1 -1
  91. package/dist/application/flow/batch-commit.js +189 -0
  92. package/dist/application/flow/batch-commit.js.map +1 -0
  93. package/dist/application/flow/checkout-observation.js +63 -10
  94. package/dist/application/flow/checkout-observation.js.map +1 -1
  95. package/dist/application/flow/close-artifacts.js +105 -0
  96. package/dist/application/flow/close-artifacts.js.map +1 -0
  97. package/dist/application/flow/close-at-boundary.js +25 -14
  98. package/dist/application/flow/close-at-boundary.js.map +1 -1
  99. package/dist/application/flow/close-document-guidance.js +70 -0
  100. package/dist/application/flow/close-document-guidance.js.map +1 -0
  101. package/dist/application/flow/flow-service.js +46 -3
  102. package/dist/application/flow/flow-service.js.map +1 -1
  103. package/dist/application/flow/internal-actions.js +300 -82
  104. package/dist/application/flow/internal-actions.js.map +1 -1
  105. package/dist/application/flow/internal-drive.js +24 -1
  106. package/dist/application/flow/internal-drive.js.map +1 -1
  107. package/dist/application/flow/plan-entry.js +82 -0
  108. package/dist/application/flow/plan-entry.js.map +1 -0
  109. package/dist/application/flow/prove.js +32 -1
  110. package/dist/application/flow/prove.js.map +1 -1
  111. package/dist/application/flow/quick-checkouts.js +48 -0
  112. package/dist/application/flow/quick-checkouts.js.map +1 -0
  113. package/dist/application/flow/reinfer-batch.js +177 -0
  114. package/dist/application/flow/reinfer-batch.js.map +1 -0
  115. package/dist/application/flow/reopen-run.js +12 -5
  116. package/dist/application/flow/reopen-run.js.map +1 -1
  117. package/dist/application/flow/run-state-service.js +2 -0
  118. package/dist/application/flow/run-state-service.js.map +1 -1
  119. package/dist/application/flow/submit.js +584 -117
  120. package/dist/application/flow/submit.js.map +1 -1
  121. package/dist/application/generate-launch-service.js +16 -6
  122. package/dist/application/generate-launch-service.js.map +1 -1
  123. package/dist/application/git-flow-service.js +34 -3
  124. package/dist/application/git-flow-service.js.map +1 -1
  125. package/dist/application/history-publications.js +24 -0
  126. package/dist/application/history-publications.js.map +1 -1
  127. package/dist/application/history-reconcile-service.js +45 -0
  128. package/dist/application/history-reconcile-service.js.map +1 -0
  129. package/dist/application/history-table.js +61 -12
  130. package/dist/application/history-table.js.map +1 -1
  131. package/dist/application/history-update-service.js +25 -4
  132. package/dist/application/history-update-service.js.map +1 -1
  133. package/dist/application/hook-branch-check.js +25 -3
  134. package/dist/application/hook-branch-check.js.map +1 -1
  135. package/dist/application/hook-git-commit-advisor.js +3 -4
  136. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  137. package/dist/application/hook-turn-start.js +51 -0
  138. package/dist/application/hook-turn-start.js.map +1 -0
  139. package/dist/application/host-memory/codex.js +1 -1
  140. package/dist/application/host-memory/codex.js.map +1 -1
  141. package/dist/application/hub-registry.js +135 -0
  142. package/dist/application/hub-registry.js.map +1 -0
  143. package/dist/application/local-proposal.js +72 -19
  144. package/dist/application/local-proposal.js.map +1 -1
  145. package/dist/application/mcp-host-reader.js +1 -1
  146. package/dist/application/mcp-host-reader.js.map +1 -1
  147. package/dist/application/mcp-host-writer.js +16 -10
  148. package/dist/application/mcp-host-writer.js.map +1 -1
  149. package/dist/application/merge-state-service.js +150 -34
  150. package/dist/application/merge-state-service.js.map +1 -1
  151. package/dist/application/multiroot/claude.js +17 -10
  152. package/dist/application/multiroot/claude.js.map +1 -1
  153. package/dist/application/multiroot/codex.js +17 -11
  154. package/dist/application/multiroot/codex.js.map +1 -1
  155. package/dist/application/multiroot-service.js +52 -28
  156. package/dist/application/multiroot-service.js.map +1 -1
  157. package/dist/application/parsers/execution-batches.js +64 -0
  158. package/dist/application/parsers/execution-batches.js.map +1 -0
  159. package/dist/application/parsers/phases.js +23 -2
  160. package/dist/application/parsers/phases.js.map +1 -1
  161. package/dist/application/parsers/project-block.js +146 -17
  162. package/dist/application/parsers/project-block.js.map +1 -1
  163. package/dist/application/parsers/tasks.js +16 -2
  164. package/dist/application/parsers/tasks.js.map +1 -1
  165. package/dist/application/parsers/toml.js +19 -0
  166. package/dist/application/parsers/toml.js.map +1 -0
  167. package/dist/application/paths-service.js +13 -16
  168. package/dist/application/paths-service.js.map +1 -1
  169. package/dist/application/persist-service.js +118 -5
  170. package/dist/application/persist-service.js.map +1 -1
  171. package/dist/application/plan-exec-batch-service.js +162 -22
  172. package/dist/application/plan-exec-batch-service.js.map +1 -1
  173. package/dist/application/plan-exec-decision-service.js +61 -12
  174. package/dist/application/plan-exec-decision-service.js.map +1 -1
  175. package/dist/application/plan-exec-plan-diff.js +105 -0
  176. package/dist/application/plan-exec-plan-diff.js.map +1 -0
  177. package/dist/application/plan-lint-service.js +33 -5
  178. package/dist/application/plan-lint-service.js.map +1 -1
  179. package/dist/application/plan-passes.js +41 -0
  180. package/dist/application/plan-passes.js.map +1 -0
  181. package/dist/application/preparation-receipts.js +58 -0
  182. package/dist/application/preparation-receipts.js.map +1 -0
  183. package/dist/application/project-md-upsert-service.js +191 -52
  184. package/dist/application/project-md-upsert-service.js.map +1 -1
  185. package/dist/application/project-tab-data.js +40 -10
  186. package/dist/application/project-tab-data.js.map +1 -1
  187. package/dist/application/release-data/artifacts.js +15 -7
  188. package/dist/application/release-data/artifacts.js.map +1 -1
  189. package/dist/application/release-data/bundles.js +52 -6
  190. package/dist/application/release-data/bundles.js.map +1 -1
  191. package/dist/application/release-data/common.js +2 -2
  192. package/dist/application/release-data/common.js.map +1 -1
  193. package/dist/application/release-data/rollback.js +7 -0
  194. package/dist/application/release-data/rollback.js.map +1 -0
  195. package/dist/application/release-data/sessions.js +2 -2
  196. package/dist/application/release-data/sessions.js.map +1 -1
  197. package/dist/application/release-pass-ledger.js +1 -1
  198. package/dist/application/render/history-row.js +2 -0
  199. package/dist/application/render/history-row.js.map +1 -1
  200. package/dist/application/render/project-block.js +28 -11
  201. package/dist/application/render/project-block.js.map +1 -1
  202. package/dist/application/reseal-service.js +1 -0
  203. package/dist/application/reseal-service.js.map +1 -1
  204. package/dist/application/resume-service.js +55 -8
  205. package/dist/application/resume-service.js.map +1 -1
  206. package/dist/application/retirement/apply.js +25 -7
  207. package/dist/application/retirement/apply.js.map +1 -1
  208. package/dist/application/retirement/attribution.js +122 -50
  209. package/dist/application/retirement/attribution.js.map +1 -1
  210. package/dist/application/retirement/prepare.js +17 -11
  211. package/dist/application/retirement/prepare.js.map +1 -1
  212. package/dist/application/retirement/preview.js +2 -1
  213. package/dist/application/retirement/preview.js.map +1 -1
  214. package/dist/application/self/clean-legacy.js +1 -2
  215. package/dist/application/self/clean-legacy.js.map +1 -1
  216. package/dist/application/self/codex-plugin.js +1 -1
  217. package/dist/application/self/codex-plugin.js.map +1 -1
  218. package/dist/application/self/host-states.js +3 -3
  219. package/dist/application/self/host-states.js.map +1 -1
  220. package/dist/application/self/install-hooks.js +1 -1
  221. package/dist/application/self/install-hooks.js.map +1 -1
  222. package/dist/application/self/install-skill.js +5 -49
  223. package/dist/application/self/install-skill.js.map +1 -1
  224. package/dist/application/self/mcp-config.js +19 -11
  225. package/dist/application/self/mcp-config.js.map +1 -1
  226. package/dist/application/self/opencode-plugin.js +1 -0
  227. package/dist/application/self/opencode-plugin.js.map +1 -1
  228. package/dist/application/self/skill-files.js +29 -0
  229. package/dist/application/self/skill-files.js.map +1 -0
  230. package/dist/application/self/uninstall.js +1 -1
  231. package/dist/application/self/uninstall.js.map +1 -1
  232. package/dist/application/semantic-operation/protocol.js +66 -5
  233. package/dist/application/semantic-operation/protocol.js.map +1 -1
  234. package/dist/application/session-archive-service.js +113 -0
  235. package/dist/application/session-archive-service.js.map +1 -0
  236. package/dist/application/session-binding-service.js +35 -0
  237. package/dist/application/session-binding-service.js.map +1 -1
  238. package/dist/application/session-close-service.js +390 -54
  239. package/dist/application/session-close-service.js.map +1 -1
  240. package/dist/application/session-create-service.js +97 -5
  241. package/dist/application/session-create-service.js.map +1 -1
  242. package/dist/application/session-custody-recorder.js +15 -12
  243. package/dist/application/session-custody-recorder.js.map +1 -1
  244. package/dist/application/session-custody-service.js +1 -0
  245. package/dist/application/session-custody-service.js.map +1 -1
  246. package/dist/application/session-narrative.js +42 -12
  247. package/dist/application/session-narrative.js.map +1 -1
  248. package/dist/application/session-pause-service.js +46 -0
  249. package/dist/application/session-pause-service.js.map +1 -0
  250. package/dist/application/session-resolver.js +36 -11
  251. package/dist/application/session-resolver.js.map +1 -1
  252. package/dist/application/session-resume-service.js +134 -13
  253. package/dist/application/session-resume-service.js.map +1 -1
  254. package/dist/application/sessions-service.js +4 -0
  255. package/dist/application/sessions-service.js.map +1 -1
  256. package/dist/application/sessions-sweep-service.js +77 -0
  257. package/dist/application/sessions-sweep-service.js.map +1 -0
  258. package/dist/application/settle-service.js +3 -1
  259. package/dist/application/settle-service.js.map +1 -1
  260. package/dist/application/skills-resolver-service.js +6 -92
  261. package/dist/application/skills-resolver-service.js.map +1 -1
  262. package/dist/application/source-add-service.js +37 -0
  263. package/dist/application/source-add-service.js.map +1 -0
  264. package/dist/application/source-boundary-policy.js +105 -8
  265. package/dist/application/source-boundary-policy.js.map +1 -1
  266. package/dist/application/source-pipeline.js +68 -0
  267. package/dist/application/source-pipeline.js.map +1 -0
  268. package/dist/application/source-remove-service.js +15 -3
  269. package/dist/application/source-remove-service.js.map +1 -1
  270. package/dist/application/sources-service.js +71 -16
  271. package/dist/application/sources-service.js.map +1 -1
  272. package/dist/application/status-service.js +55 -5
  273. package/dist/application/status-service.js.map +1 -1
  274. package/dist/application/unit-dependencies.js +100 -0
  275. package/dist/application/unit-dependencies.js.map +1 -0
  276. package/dist/application/unit-membership.js +37 -0
  277. package/dist/application/unit-membership.js.map +1 -0
  278. package/dist/application/unit-residue.js +72 -0
  279. package/dist/application/unit-residue.js.map +1 -0
  280. package/dist/application/visibility-doctor-service.js +66 -4
  281. package/dist/application/visibility-doctor-service.js.map +1 -1
  282. package/dist/application/working-branch-service.js +6 -0
  283. package/dist/application/working-branch-service.js.map +1 -1
  284. package/dist/application/workline-graph.js +1 -1
  285. package/dist/application/workline-graph.js.map +1 -1
  286. package/dist/application/workline-index-service.js +118 -17
  287. package/dist/application/workline-index-service.js.map +1 -1
  288. package/dist/application/workspace-commit-service.js +218 -0
  289. package/dist/application/workspace-commit-service.js.map +1 -0
  290. package/dist/application/workspace-init-service.js +64 -34
  291. package/dist/application/workspace-init-service.js.map +1 -1
  292. package/dist/application/workspace-local-config.js +90 -0
  293. package/dist/application/workspace-local-config.js.map +1 -0
  294. package/dist/application/workspace-materialization-service.js +52 -3
  295. package/dist/application/workspace-materialization-service.js.map +1 -1
  296. package/dist/application/workspace-migrate/apply.js +525 -4
  297. package/dist/application/workspace-migrate/apply.js.map +1 -1
  298. package/dist/application/workspace-migrate/markers.js +9 -6
  299. package/dist/application/workspace-migrate/markers.js.map +1 -1
  300. package/dist/application/workspace-migrate/plan.js +97 -5
  301. package/dist/application/workspace-migrate/plan.js.map +1 -1
  302. package/dist/application/workspace-move-service.js +270 -0
  303. package/dist/application/workspace-move-service.js.map +1 -0
  304. package/dist/application/workspace-untrack-service.js +28 -0
  305. package/dist/application/workspace-untrack-service.js.map +1 -0
  306. package/dist/application/worktree-service.js +654 -105
  307. package/dist/application/worktree-service.js.map +1 -1
  308. package/dist/cli/ascii.js +2 -0
  309. package/dist/cli/ascii.js.map +1 -1
  310. package/dist/cli/commands/add-source.js +38 -0
  311. package/dist/cli/commands/add-source.js.map +1 -0
  312. package/dist/cli/commands/amend.js +14 -3
  313. package/dist/cli/commands/amend.js.map +1 -1
  314. package/dist/cli/commands/capability.js +23 -4
  315. package/dist/cli/commands/capability.js.map +1 -1
  316. package/dist/cli/commands/designs.js +14 -5
  317. package/dist/cli/commands/designs.js.map +1 -1
  318. package/dist/cli/commands/dev-only.js +19 -6
  319. package/dist/cli/commands/dev-only.js.map +1 -1
  320. package/dist/cli/commands/doc-branch.js +184 -0
  321. package/dist/cli/commands/doc-branch.js.map +1 -0
  322. package/dist/cli/commands/doctor.js +5 -1
  323. package/dist/cli/commands/doctor.js.map +1 -1
  324. package/dist/cli/commands/export.js +78 -18
  325. package/dist/cli/commands/export.js.map +1 -1
  326. package/dist/cli/commands/fix-git.js +89 -14
  327. package/dist/cli/commands/fix-git.js.map +1 -1
  328. package/dist/cli/commands/flow.js +120 -15
  329. package/dist/cli/commands/flow.js.map +1 -1
  330. package/dist/cli/commands/generate-launch.js +14 -2
  331. package/dist/cli/commands/generate-launch.js.map +1 -1
  332. package/dist/cli/commands/history-update.js +1 -1
  333. package/dist/cli/commands/history-update.js.map +1 -1
  334. package/dist/cli/commands/history.js +14 -0
  335. package/dist/cli/commands/history.js.map +1 -0
  336. package/dist/cli/commands/hook.js +15 -2
  337. package/dist/cli/commands/hook.js.map +1 -1
  338. package/dist/cli/commands/index.js +18 -5
  339. package/dist/cli/commands/index.js.map +1 -1
  340. package/dist/cli/commands/merge-state.js +2 -2
  341. package/dist/cli/commands/merge-state.js.map +1 -1
  342. package/dist/cli/commands/persist.js +6 -5
  343. package/dist/cli/commands/persist.js.map +1 -1
  344. package/dist/cli/commands/project-md-upsert.js +5 -3
  345. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  346. package/dist/cli/commands/release-pass.js +3 -3
  347. package/dist/cli/commands/release-pass.js.map +1 -1
  348. package/dist/cli/commands/resume.js +12 -3
  349. package/dist/cli/commands/resume.js.map +1 -1
  350. package/dist/cli/commands/self.js +8 -24
  351. package/dist/cli/commands/self.js.map +1 -1
  352. package/dist/cli/commands/session-close.js +64 -9
  353. package/dist/cli/commands/session-close.js.map +1 -1
  354. package/dist/cli/commands/session-create.js +4 -2
  355. package/dist/cli/commands/session-create.js.map +1 -1
  356. package/dist/cli/commands/session-pause.js +14 -0
  357. package/dist/cli/commands/session-pause.js.map +1 -0
  358. package/dist/cli/commands/sessions.js +16 -3
  359. package/dist/cli/commands/sessions.js.map +1 -1
  360. package/dist/cli/commands/set-branch.js +28 -4
  361. package/dist/cli/commands/set-branch.js.map +1 -1
  362. package/dist/cli/commands/set-edit-mode.js +20 -0
  363. package/dist/cli/commands/set-edit-mode.js.map +1 -0
  364. package/dist/cli/commands/set-pipeline.js +35 -0
  365. package/dist/cli/commands/set-pipeline.js.map +1 -0
  366. package/dist/cli/commands/skills.js +4 -11
  367. package/dist/cli/commands/skills.js.map +1 -1
  368. package/dist/cli/commands/sources.js +4 -0
  369. package/dist/cli/commands/sources.js.map +1 -1
  370. package/dist/cli/commands/status.js +35 -2
  371. package/dist/cli/commands/status.js.map +1 -1
  372. package/dist/cli/commands/unknown-flags.js +1 -0
  373. package/dist/cli/commands/unknown-flags.js.map +1 -1
  374. package/dist/cli/commands/visibility.js +1 -0
  375. package/dist/cli/commands/visibility.js.map +1 -1
  376. package/dist/cli/commands/workspace-commit.js +62 -0
  377. package/dist/cli/commands/workspace-commit.js.map +1 -0
  378. package/dist/cli/commands/workspace-init.js +39 -2
  379. package/dist/cli/commands/workspace-init.js.map +1 -1
  380. package/dist/cli/commands/workspace-migrate.js +31 -3
  381. package/dist/cli/commands/workspace-migrate.js.map +1 -1
  382. package/dist/cli/commands/workspace-move.js +42 -0
  383. package/dist/cli/commands/workspace-move.js.map +1 -0
  384. package/dist/cli/commands/worktree.js +4 -4
  385. package/dist/cli/commands/worktree.js.map +1 -1
  386. package/dist/cli/context-id.js +6 -0
  387. package/dist/cli/context-id.js.map +1 -1
  388. package/dist/cli/full-cli.js +555 -0
  389. package/dist/cli/full-cli.js.map +1 -0
  390. package/dist/cli/help-groups.js +76 -19
  391. package/dist/cli/help-groups.js.map +1 -1
  392. package/dist/cli/hook-stdin-cache.js +12 -0
  393. package/dist/cli/hook-stdin-cache.js.map +1 -0
  394. package/dist/cli/main.js +47 -453
  395. package/dist/cli/main.js.map +1 -1
  396. package/dist/cli/parser.js +4 -0
  397. package/dist/cli/parser.js.map +1 -1
  398. package/dist/cli/tui/app.js +3 -4
  399. package/dist/cli/tui/app.js.map +1 -1
  400. package/dist/cli/tui/components/host-admin-section.js +2 -13
  401. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  402. package/dist/cli/tui/components/tabs-config.js +1 -2
  403. package/dist/cli/tui/components/tabs-config.js.map +1 -1
  404. package/dist/cli/tui/components/workspace-init-form.js +4 -1
  405. package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
  406. package/dist/cli/tui/data/workflow-content.js +6 -1
  407. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  408. package/dist/cli/tui/tabs/mcp-tab.js +4 -3
  409. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  410. package/dist/cli/tui/tabs/project-tab.js +7 -2
  411. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  412. package/dist/cli/tui/tui-prefs.js +2 -0
  413. package/dist/cli/tui/tui-prefs.js.map +1 -1
  414. package/dist/dist-manifest.json +3973 -0
  415. package/dist/domain/capability/protocol.js +3 -1
  416. package/dist/domain/capability/protocol.js.map +1 -1
  417. package/dist/domain/decision-note.js +13 -0
  418. package/dist/domain/decision-note.js.map +1 -1
  419. package/dist/domain/design/artifact.js +22 -3
  420. package/dist/domain/design/artifact.js.map +1 -1
  421. package/dist/domain/design/capability.js +1 -0
  422. package/dist/domain/design/capability.js.map +1 -1
  423. package/dist/domain/design/expansion.js +1 -1
  424. package/dist/domain/design/expansion.js.map +1 -1
  425. package/dist/domain/design/maturity.js +16 -0
  426. package/dist/domain/design/maturity.js.map +1 -1
  427. package/dist/domain/design/reference.js +5 -0
  428. package/dist/domain/design/reference.js.map +1 -1
  429. package/dist/domain/doctor/operations.js +20 -12
  430. package/dist/domain/doctor/operations.js.map +1 -1
  431. package/dist/domain/effective-contract.js +3 -1
  432. package/dist/domain/effective-contract.js.map +1 -1
  433. package/dist/domain/elicitation.js +1 -1
  434. package/dist/domain/flow/answer.js +265 -130
  435. package/dist/domain/flow/answer.js.map +1 -1
  436. package/dist/domain/flow/authority.js +194 -37
  437. package/dist/domain/flow/authority.js.map +1 -1
  438. package/dist/domain/flow/batch-review.js +65 -0
  439. package/dist/domain/flow/batch-review.js.map +1 -0
  440. package/dist/domain/flow/decision-schema.js +47 -0
  441. package/dist/domain/flow/decision-schema.js.map +1 -0
  442. package/dist/domain/flow/directive.js +16 -0
  443. package/dist/domain/flow/directive.js.map +1 -1
  444. package/dist/domain/flow/execution-result.js +91 -2
  445. package/dist/domain/flow/execution-result.js.map +1 -1
  446. package/dist/domain/flow/run-state.js +352 -24
  447. package/dist/domain/flow/run-state.js.map +1 -1
  448. package/dist/domain/flow/test-run-evidence.js +285 -0
  449. package/dist/domain/flow/test-run-evidence.js.map +1 -0
  450. package/dist/domain/flow/unchanged-phase.js +15 -0
  451. package/dist/domain/flow/unchanged-phase.js.map +1 -0
  452. package/dist/domain/harnesses.js +14 -5
  453. package/dist/domain/harnesses.js.map +1 -1
  454. package/dist/domain/isolation-unit.js +2 -2
  455. package/dist/domain/isolation-unit.js.map +1 -1
  456. package/dist/domain/lineage.js +7 -2
  457. package/dist/domain/lineage.js.map +1 -1
  458. package/dist/domain/obligation-correspondence.js +4 -2
  459. package/dist/domain/obligation-correspondence.js.map +1 -1
  460. package/dist/domain/plan-handoff.js +5 -0
  461. package/dist/domain/plan-handoff.js.map +1 -0
  462. package/dist/domain/proposal.js +18 -7
  463. package/dist/domain/proposal.js.map +1 -1
  464. package/dist/domain/reservation.js +5 -3
  465. package/dist/domain/reservation.js.map +1 -1
  466. package/dist/domain/retirement/proposal.js +1 -0
  467. package/dist/domain/retirement/proposal.js.map +1 -1
  468. package/dist/domain/session/custody.js +10 -6
  469. package/dist/domain/session/custody.js.map +1 -1
  470. package/dist/domain/session/narrative.js +4 -1
  471. package/dist/domain/session/narrative.js.map +1 -1
  472. package/dist/domain/skills.js +4 -6
  473. package/dist/domain/skills.js.map +1 -1
  474. package/dist/domain/sql-lexer.js +1 -1
  475. package/dist/domain/sql-lexer.js.map +1 -1
  476. package/dist/runtime/namespace-resolver.js +4 -0
  477. package/dist/runtime/namespace-resolver.js.map +1 -1
  478. package/dist/runtime/workline-marker.js +35 -8
  479. package/dist/runtime/workline-marker.js.map +1 -1
  480. package/dist/runtime/workspace-resolution.js +123 -0
  481. package/dist/runtime/workspace-resolution.js.map +1 -0
  482. package/package.json +6 -5
  483. package/skills/w/SKILL.md +12 -17
  484. package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +1 -1
  485. package/skills/w/artifacts/artifacts-core/SCRIPTS.rollback.sql +8 -0
  486. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +4 -8
  487. package/skills/w/commands/export-diagrams.md +3 -3
  488. package/skills/w/commands/export-manuals.md +6 -6
  489. package/skills/w/commands/export-reports.md +3 -3
  490. package/skills/w/commands/export-scripts.md +5 -5
  491. package/skills/w/commands/fix-git.md +12 -13
  492. package/skills/w/commands/persist.md +2 -2
  493. package/skills/w/commands/plan-exec.md +4 -2
  494. package/skills/w/commands/spec-new.md +1 -1
  495. package/skills/w/commands/workspace-init.md +2 -0
  496. package/skills/w/context/MANIFEST.json +1 -1
  497. package/skills/w/exports/README.md +4 -4
  498. package/skills/w/exports/export-diagrams/EXPORT.md +4 -4
  499. package/skills/w/exports/export-manuals/EXPORT.md +14 -16
  500. package/skills/w/exports/export-reports/EXPORT.md +3 -3
  501. package/skills/w/exports/export-scripts/EXPORT.md +46 -22
  502. package/skills/w/harness/HARNESS.md +4 -7
  503. package/skills/w/hooks/hooks.template.json +6 -4
  504. package/skills/w/loops/CHASSIS.md +12 -6
  505. package/skills/w/loops/CODE-POLICIES.md +8 -5
  506. package/skills/w/loops/README.md +2 -2
  507. package/skills/w/loops/plan-exec-loop/LOOP.md +23 -22
  508. package/skills/w/loops/plan-new-loop/LOOP.md +23 -31
  509. package/skills/w/loops/plan-refine-loop/LOOP.md +8 -2
  510. package/skills/w/loops/quick-loop/LOOP.md +7 -6
  511. package/skills/w/loops/spec-refine-loop/LOOP.md +1 -1
  512. package/skills/w/modules/DESIGN-REFERENCES.md +9 -11
  513. package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +4 -4
  514. package/skills/w/modules/SESSION-NUMBERING.md +2 -0
  515. package/skills/w/roles/README.md +11 -47
  516. package/skills/w/roles/design/CONTRACT.md +6 -4
  517. package/skills/w/roles/design/ROLE.md +7 -3
  518. package/skills/w/roles/diagrams/ROLE.md +1 -1
  519. package/skills/w/roles/git/ROLE.md +17 -10
  520. package/skills/w/roles/research/ROLE.md +2 -2
  521. package/skills/w/roles/sql/ROLE.md +17 -15
  522. package/skills/w/schemas/design/ui-screen.v1.schema.json +9 -0
  523. package/dist/application/capability/descriptor-loader.js +0 -109
  524. package/dist/application/capability/descriptor-loader.js.map +0 -1
  525. package/dist/application/capability/installed-inventory.js +0 -168
  526. package/dist/application/capability/installed-inventory.js.map +0 -1
  527. package/dist/application/self/install-plugin-skills-git.js +0 -226
  528. package/dist/application/self/install-plugin-skills-git.js.map +0 -1
  529. package/dist/application/self/install-plugin-skills.js +0 -203
  530. package/dist/application/self/install-plugin-skills.js.map +0 -1
  531. package/dist/application/self/plugin-cache-clear.js +0 -133
  532. package/dist/application/self/plugin-cache-clear.js.map +0 -1
  533. package/dist/application/self/plugin-cache-reload.js +0 -141
  534. package/dist/application/self/plugin-cache-reload.js.map +0 -1
  535. package/dist/application/self/skills-apply.js +0 -623
  536. package/dist/application/self/skills-apply.js.map +0 -1
  537. package/dist/application/self/skills-catalog.js +0 -35
  538. package/dist/application/self/skills-catalog.js.map +0 -1
  539. package/dist/application/self/skills-change.js +0 -479
  540. package/dist/application/self/skills-change.js.map +0 -1
  541. package/dist/application/self/skills-discovery.js +0 -275
  542. package/dist/application/self/skills-discovery.js.map +0 -1
  543. package/dist/application/self/skills-manager.js +0 -253
  544. package/dist/application/self/skills-manager.js.map +0 -1
  545. package/dist/application/self/skills-payload.js +0 -566
  546. package/dist/application/self/skills-payload.js.map +0 -1
  547. package/dist/application/self/skills-registry.js +0 -107
  548. package/dist/application/self/skills-registry.js.map +0 -1
  549. package/dist/application/skill-index-service.js +0 -78
  550. package/dist/application/skill-index-service.js.map +0 -1
  551. package/dist/cli/commands/plugin-cache.js +0 -25
  552. package/dist/cli/commands/plugin-cache.js.map +0 -1
  553. package/dist/cli/commands/skill-index.js +0 -19
  554. package/dist/cli/commands/skill-index.js.map +0 -1
  555. package/dist/cli/tui/data/recommended-skills.js +0 -482
  556. package/dist/cli/tui/data/recommended-skills.js.map +0 -1
  557. package/dist/cli/tui/tabs/skills-tab.js +0 -664
  558. package/dist/cli/tui/tabs/skills-tab.js.map +0 -1
@@ -14,17 +14,23 @@
14
14
  * `create` cannot invent a package body, so it says what a valid answer must
15
15
  * contain and waits for one — that is a question, not a failure.
16
16
  */
17
+ import { createHash } from "node:crypto";
17
18
  import { join } from "node:path";
18
19
  import { requireAdapter } from "../../domain/design/adapter.js";
19
20
  import { DESIGN_DESCRIPTOR, DESIGN_OPERATIONS } from "../../domain/design/capability.js";
20
21
  import { attainedMaturity, isIndexable, resolveOutputRoot, } from "../../domain/design/direct.js";
21
22
  import { deriveStructuralSignals, judgeExpansion, } from "../../domain/design/expansion.js";
22
23
  import { DESIGN_MANIFEST_FILE, DESIGN_MANIFEST_SCHEMA_ID, } from "../../domain/design/manifest.js";
24
+ import { HANDOFF_RULES } from "../../domain/design/maturity.js";
23
25
  import { PROJECTIONS } from "../../domain/design/naming.js";
24
26
  import { DESIGN_ADAPTERS } from "../../domain/design/profiles.js";
25
27
  import { SIMPLE_CORE_SECTIONS, SIMPLE_DESIGN_FILE, SIMPLE_SECTIONS, designFolder, designSlug, nextPackageId, simpleMaturity, validateSimpleDesign, } from "../../domain/design/simple.js";
26
28
  import { classifySource, reportSources, } from "../../domain/design/sources.js";
27
29
  import { DEFAULT_CORE_DOCS_CANON } from "../../domain/docs-canon.js";
30
+ import { baseDigest } from "../../domain/proposal.js";
31
+ import { FOLDER_RESERVATION_MARKER } from "../../domain/reservation.js";
32
+ import { reservationMarker } from "../../domain/reservation.js";
33
+ import { checkSafeRelativePath } from "../../domain/safe-path.js";
28
34
  import { localDateIso } from "../dates.js";
29
35
  import { readConsumerDocument } from "../design/consumer-document.js";
30
36
  import { currentEntries, gatePackageContent } from "../design/design-content-gate-service.js";
@@ -32,8 +38,10 @@ import { readDesignIndex, resolveDesignPackage, } from "../design/design-index-s
32
38
  import { buildPackageCandidate, } from "../design/design-publish-service.js";
33
39
  import { checkRecordPrecondition } from "../design/design-record-service.js";
34
40
  import { buildSimpleProposal, resolveSimpleTarget, } from "../design/design-simple-service.js";
41
+ import { runNextNumber } from "../dev-only-services.js";
35
42
  import { resolveCoreDocsCanon } from "../docs-canon-service.js";
36
43
  import { buildSemanticRequest, parseSemanticResponse } from "../semantic-operation/protocol.js";
44
+ import { resolveSessionTarget } from "../session-resolver.js";
37
45
  import { registerCapability } from "./dispatcher.js";
38
46
  /** Artefact ceilings for one authored revision. Generous, and still a ceiling. */
39
47
  const LIMITS = { max_artifacts: 60, max_artifact_bytes: 256_000 };
@@ -86,8 +94,8 @@ async function validatePackage(ctx) {
86
94
  // structural check alone answered `handoff` for a tree the listing then
87
95
  // rejected — the verdict and the listing have to be the same verdict.
88
96
  const content = await gatePackageContent(ctx.fs, ctx.workspace, found);
89
- const failures = [...found.failures, ...content];
90
- const ok = found.ok && content.length === 0;
97
+ const failures = [...found.failures, ...content.failures];
98
+ const ok = found.ok && content.failures.length === 0;
91
99
  const validations = [
92
100
  {
93
101
  id: "design-manifest",
@@ -96,10 +104,22 @@ async function validatePackage(ctx) {
96
104
  },
97
105
  {
98
106
  id: "design-content",
99
- passed: content.length === 0,
100
- detail: content.length === 0 ? null : content.map((f) => `${f.code}: ${f.message}`).join("; "),
107
+ passed: content.failures.length === 0,
108
+ detail: content.failures.length === 0
109
+ ? null
110
+ : content.failures.map((f) => `${f.code}: ${f.message}`).join("; "),
101
111
  },
102
112
  ];
113
+ const hostChecks = await validatedHostChecks(ctx, found.path);
114
+ if (!ok && hostChecks.rejection !== null)
115
+ return {
116
+ kind: "blocked",
117
+ failure: {
118
+ code: "DESIGN_PACKAGE_INVALID",
119
+ message: `observación host rechazada: ${hostChecks.rejection}; floor inválido: ${failures.map((f) => f.message).join("; ")}`,
120
+ action: "repará el package: el floor tampoco pudo validarlo",
121
+ },
122
+ };
103
123
  const report = reportSources([], `${id}`);
104
124
  const simple = found.mode === "simple";
105
125
  const gate = ok
@@ -128,8 +148,23 @@ async function validatePackage(ctx) {
128
148
  return {
129
149
  kind: "completed",
130
150
  validations,
151
+ ...(hostChecks.observations.length > 0
152
+ ? {
153
+ uncredited: hostChecks.rejection ??
154
+ "la observación host autodeclarada no prueba el check ni su contribuyente",
155
+ }
156
+ : {}),
131
157
  output: {
132
- value: { design: fields, ok, failures, gaps: [...gate.reasons, ...maturity.gaps] },
158
+ value: {
159
+ design: fields,
160
+ ok,
161
+ failures,
162
+ warnings: content.warnings,
163
+ gaps: [...gate.reasons, ...maturity.gaps],
164
+ ...(hostChecks.observations.length > 0
165
+ ? { host_observations: hostChecks.observations }
166
+ : {}),
167
+ },
133
168
  reference: found.id === null || found.current_baseline === null
134
169
  ? null
135
170
  : {
@@ -144,6 +179,79 @@ async function validatePackage(ctx) {
144
179
  },
145
180
  };
146
181
  }
182
+ /** Keep host claims as uncredited observations, including their rejection reason. */
183
+ async function validatedHostChecks(ctx, packagePath) {
184
+ if (ctx.answer === null)
185
+ return { observations: [], rejection: null };
186
+ const invalid = (message, id = "invalid") => ({
187
+ observations: [{ id: `host:${id}`, passed: false, detail: message }],
188
+ rejection: message,
189
+ });
190
+ let parsed;
191
+ try {
192
+ parsed = JSON.parse(ctx.answer);
193
+ }
194
+ catch {
195
+ return invalid("el reporte de validación del host no es JSON");
196
+ }
197
+ if (typeof parsed !== "object" || parsed === null || !("host_observations" in parsed)) {
198
+ return { observations: [], rejection: null };
199
+ }
200
+ const claims = parsed.host_observations;
201
+ if (!Array.isArray(claims) || claims.length === 0) {
202
+ return invalid("el reporte del host no trae observaciones identificables");
203
+ }
204
+ const observations = [];
205
+ const seen = new Set();
206
+ let root;
207
+ try {
208
+ root = await ctx.fs.realPath(join(ctx.workspace, packagePath));
209
+ }
210
+ catch {
211
+ return invalid("el package observado no se puede leer");
212
+ }
213
+ for (const observation of claims) {
214
+ if (typeof observation !== "object" || observation === null)
215
+ return invalid("observación ilegible");
216
+ const { id, path, digest, detail, passed } = observation;
217
+ if (typeof id !== "string" ||
218
+ !id.trim() ||
219
+ seen.has(id) ||
220
+ typeof detail !== "string" ||
221
+ !detail.trim() ||
222
+ typeof path !== "string" ||
223
+ typeof digest !== "string" ||
224
+ typeof passed !== "boolean")
225
+ return invalid("la observación no identifica check, resultado y evidencia");
226
+ seen.add(id);
227
+ const safe = checkSafeRelativePath(path);
228
+ if (!safe.ok || !safe.path.startsWith(`${packagePath}/`))
229
+ return invalid("archivo fuera del package validado", id);
230
+ const file = join(ctx.workspace, safe.path);
231
+ let actual;
232
+ try {
233
+ const stat = await ctx.fs.lstat(file);
234
+ if (stat?.type !== "file" ||
235
+ stat.isSymlink ||
236
+ !(await ctx.fs.realPath(file)).startsWith(`${root}/`))
237
+ return invalid("archivo del reporte inexistente o enlazado fuera del package", id);
238
+ actual = `sha256:${createHash("sha256")
239
+ .update(await ctx.fs.readBytes(file))
240
+ .digest("hex")}`;
241
+ }
242
+ catch {
243
+ return invalid("el archivo observado no se puede leer", id);
244
+ }
245
+ if (digest !== actual)
246
+ return invalid("el digest del archivo observado no coincide con el package", id);
247
+ observations.push({
248
+ id: `host:${id}`,
249
+ passed: false,
250
+ detail: `declarado: ${passed ? "passed" : "failed"} — ${detail}; el digest sólo prueba los bytes del archivo, no el check`,
251
+ });
252
+ }
253
+ return { observations, rejection: null };
254
+ }
147
255
  /**
148
256
  * The authoring operations, through the handshake the repo already uses.
149
257
  *
@@ -226,14 +334,9 @@ async function authoring(ctx) {
226
334
  const sources = declaredSources(ctx);
227
335
  const report = reportSources(sources, ctx.operation.name);
228
336
  if (report.failures.length > 0) {
229
- const first = report.failures[0];
230
337
  return {
231
338
  kind: "blocked",
232
- failure: {
233
- code: first?.code ?? "DESIGN_SOURCE_INVALID",
234
- message: first?.message ?? "una fuente declarada no es reportable",
235
- action: first?.action ?? "declará la causa de cada fuente que no se usó",
236
- },
339
+ failure: combinedFailure(report.failures, "DESIGN_SOURCE_INVALID", "una fuente declarada no es reportable", "declará la causa de cada fuente que no se usó"),
237
340
  };
238
341
  }
239
342
  // Simple by default, and the route is decided BEFORE the contract is published:
@@ -307,7 +410,8 @@ async function decideRoute(ctx, workspace, sources, root) {
307
410
  // no identity is not the one this invocation continues.
308
411
  const named = packageInput(ctx);
309
412
  const targeted = named === null ? null : (index.packages.find((p) => p.id === named) ?? null);
310
- const verdict = judgeExpansion(declaredExpansionSignals(ctx), deriveStructuralSignals({
413
+ const judged = judgeExpansion(declaredExpansionSignals(ctx), deriveStructuralSignals({
414
+ mode: ctx.operation.name === "update" ? (targeted?.manifest?.mode ?? null) : null,
311
415
  sensitiveSources: ctx.request.policy.sensitive_sources === true,
312
416
  externalTransmission: ctx.request.policy.external_transmission === true,
313
417
  sources,
@@ -315,6 +419,28 @@ async function decideRoute(ctx, workspace, sources, root) {
315
419
  (targeted?.manifest?.governance.revocations.length ?? 0),
316
420
  publishedRevisions: targeted?.manifest?.baselines.length ?? 0,
317
421
  }));
422
+ const verdict = ctx.operation.name === "update" && targeted?.manifest?.mode === "package"
423
+ ? { ...judged, mode: "package", cause: judged.cause ?? "el manifest publicado es package" }
424
+ : judged;
425
+ // A published mode is a durable contract: an update cannot silently convert a
426
+ // simple design into a package or strip a package down to one document.
427
+ if (ctx.operation.name === "update" && targeted?.manifest?.mode === "simple") {
428
+ if (verdict.fired.length > 0) {
429
+ return {
430
+ ok: false,
431
+ failure: {
432
+ code: "DESIGN_ROUTE_INCOMPATIBLE",
433
+ message: `el diseño ${targeted.id} sigue en modo simple; ${verdict.fired.map((s) => s.id).join(", ")} requiere un package`,
434
+ action: "cerrá la causa de expansión o publicá un package nuevo: un update no cambia el modo sellado",
435
+ },
436
+ };
437
+ }
438
+ }
439
+ const reservation = ctx.operation.name === "create" && textInput(ctx, "title") !== null
440
+ ? await reserveDesignNumber(ctx, index, root)
441
+ : null;
442
+ if (reservation !== null && "failure" in reservation)
443
+ return { ok: false, failure: reservation.failure };
318
444
  // The package route is also the only one available outside `docs/designs/`: a
319
445
  // simple design derives its identity from the index, and a root the index does
320
446
  // not cover has none to derive from.
@@ -326,12 +452,13 @@ async function decideRoute(ctx, workspace, sources, root) {
326
452
  if (verdict.mode === "package" ||
327
453
  !AUTHORING_OPERATIONS.includes(ctx.operation.name) ||
328
454
  !isIndexable(root)) {
329
- return packageRoute(ctx, verdict, index, root);
455
+ return packageRoute(ctx, verdict, index, root, reservation);
330
456
  }
331
457
  const resolved = resolveSimpleTarget(index, ctx.operation.name, {
332
458
  title: textInput(ctx, "title"),
333
459
  packageId: packageInput(ctx),
334
460
  root: root.root,
461
+ ...(reservation === null ? {} : { reserved: reservation }),
335
462
  });
336
463
  if (!resolved.ok) {
337
464
  const { code, message, action } = resolved.failure;
@@ -357,6 +484,31 @@ async function decideRoute(ctx, workspace, sources, root) {
357
484
  },
358
485
  };
359
486
  }
487
+ async function reserveDesignNumber(ctx, index, root) {
488
+ const title = textInput(ctx, "title") ?? "";
489
+ const code = textInput(ctx, "code");
490
+ const session = code === null ? null : await resolveSessionTarget(ctx.fs, ctx.paths, { code, intent: "write" });
491
+ if (session !== null && session.outcome !== "resolved")
492
+ return {
493
+ failure: {
494
+ code: "DESIGN_SESSION_NOT_FOUND",
495
+ message: `--code ${code} no resuelve una sesión activa`,
496
+ action: "elegí una sesión activa o quitá --code",
497
+ },
498
+ };
499
+ const owner = session === null ? `operation-${ctx.request.semantic_inputs_digest}` : session.session.folder;
500
+ const material = ctx.request.semantic_inputs_digest;
501
+ const slug = designSlug(title);
502
+ const minimum = nextPackageId(index.packages.map((p) => p.id ?? p.declared_id)).slice(4);
503
+ const number = (await runNextNumber(ctx.fs, ctx.env, ctx.paths, {
504
+ directory: root.root,
505
+ minimum,
506
+ claim: { name: `design-${slug}`, owner, folder: true, material },
507
+ })).next;
508
+ const packageId = `DES-${number}`;
509
+ const path = designFolder(root.root, packageId, slug);
510
+ return { packageId, path, marker: `${path}/${FOLDER_RESERVATION_MARKER}`, owner, material };
511
+ }
360
512
  /**
361
513
  * The package route. It seals, or it does not run.
362
514
  *
@@ -369,7 +521,7 @@ async function decideRoute(ctx, workspace, sources, root) {
369
521
  * a silent half-write is now either a sealed publication or a refusal that names
370
522
  * what is missing.
371
523
  */
372
- function packageRoute(ctx, verdict, index, root) {
524
+ function packageRoute(ctx, verdict, index, root, reservation) {
373
525
  // `render` and `record` author no normative content: a projection is derived
374
526
  // from the manifest and a governance decision decides ON a baseline. Minting
375
527
  // no revision is their NATURE, not a defect, so they get their own route
@@ -377,7 +529,7 @@ function packageRoute(ctx, verdict, index, root) {
377
529
  if (!AUTHORING_OPERATIONS.includes(ctx.operation.name)) {
378
530
  return projectionRoute(ctx, verdict, index, root);
379
531
  }
380
- const resolved = resolvePackageTarget(ctx, index, root);
532
+ const resolved = resolvePackageTarget(ctx, index, root, reservation);
381
533
  if (!resolved.ok)
382
534
  return { ok: false, failure: resolved.failure };
383
535
  const target = resolved.value;
@@ -459,13 +611,13 @@ function projectionRoute(ctx, verdict, index, root) {
459
611
  },
460
612
  };
461
613
  }
462
- function resolvePackageTarget(ctx, index, root) {
614
+ function resolvePackageTarget(ctx, index, root, reservation) {
463
615
  return ctx.operation.name === "create"
464
- ? mintPackageTarget(ctx, index, root)
616
+ ? mintPackageTarget(ctx, index, root, reservation)
465
617
  : continuePackageTarget(ctx, index);
466
618
  }
467
619
  /** A brand-new package: the identity and the folder, from the title and the root. */
468
- function mintPackageTarget(ctx, index, root) {
620
+ function mintPackageTarget(ctx, index, root, reservation) {
469
621
  const title = textInput(ctx, "title");
470
622
  if (title === null) {
471
623
  return {
@@ -477,7 +629,7 @@ function mintPackageTarget(ctx, index, root) {
477
629
  },
478
630
  };
479
631
  }
480
- const packageId = nextPackageId(index.packages.map((p) => p.id ?? p.declared_id));
632
+ const packageId = reservation?.packageId ?? nextPackageId(index.packages.map((p) => p.id ?? p.declared_id));
481
633
  return {
482
634
  ok: true,
483
635
  value: {
@@ -485,7 +637,8 @@ function mintPackageTarget(ctx, index, root) {
485
637
  // The DECLARED root, not the index's: a `target` that narrows where the
486
638
  // package lands has to be where it lands, or the folder and the
487
639
  // destination allowlist the request publishes disagree.
488
- path: designFolder(root.root, packageId, designSlug(title)),
640
+ path: reservation?.path ?? designFolder(root.root, packageId, designSlug(title)),
641
+ ...(reservation === null ? {} : { reservation }),
489
642
  revision: 1,
490
643
  manifest: initialPackageManifest(packageId, title, localDateIso(new Date())),
491
644
  manifest_base: null,
@@ -522,14 +675,9 @@ function locatePackage(index, named) {
522
675
  // whoever has to fix one, so what comes back is the manifest's own diagnosis
523
676
  // and not «no existe».
524
677
  if (found.manifest === null) {
525
- const first = found.failures[0];
526
678
  return {
527
679
  ok: false,
528
- failure: {
529
- code: first?.code ?? "DESIGN_MANIFEST_MISSING",
530
- message: `${found.manifest_path}: ${first?.message ?? "el package no tiene un manifest legible"}`,
531
- action: first?.action ?? "reparalo antes de publicar sobre él",
532
- },
680
+ failure: combinedFailure(found.failures, "DESIGN_MANIFEST_MISSING", "el package no tiene un manifest legible", "reparalo antes de publicar sobre él", found.manifest_path),
533
681
  };
534
682
  }
535
683
  return { ok: true, value: { ...found, manifest: found.manifest } };
@@ -552,6 +700,16 @@ function continuePackageTarget(ctx, index) {
552
700
  return { ok: false, failure: located.failure };
553
701
  const found = located.value;
554
702
  const manifest = found.manifest;
703
+ if (manifest.mode === "simple") {
704
+ return {
705
+ ok: false,
706
+ failure: {
707
+ code: "DESIGN_ROUTE_INCOMPATIBLE",
708
+ message: `${named} es un diseño simple: la ruta package no puede continuar su manifest`,
709
+ action: "actualizalo con un único DESIGN.md por la ruta simple",
710
+ },
711
+ };
712
+ }
555
713
  const current = manifest.current_baseline;
556
714
  const actual = current === null ? null : `${manifest.id}@r${current.revision}`;
557
715
  // The declared base is text on the wire: "null" is how a caller states the
@@ -634,14 +792,9 @@ async function simpleProposal(ctx, workspace, report, route, target, answered, c
634
792
  docs_canon: docsCanon,
635
793
  });
636
794
  if (!built.ok) {
637
- const first = built.failures[0];
638
795
  return {
639
796
  kind: "blocked",
640
- failure: {
641
- code: first?.code ?? "DESIGN_FIELD_INVALID",
642
- message: first?.message ?? "el documento no cumple el contrato de un diseño simple",
643
- action: first?.action ?? "corregí el documento y volvé a responder",
644
- },
797
+ failure: combinedFailure(built.failures, "DESIGN_FIELD_INVALID", "el documento no cumple el contrato de un diseño simple", "corregí el documento y volvé a responder"),
645
798
  };
646
799
  }
647
800
  // The gate's verdict over the document, exactly as the package route takes it
@@ -672,12 +825,20 @@ async function simpleProposal(ctx, workspace, report, route, target, answered, c
672
825
  value: {
673
826
  design: fields,
674
827
  artifacts: built.value.artifacts.map((a) => a.path),
828
+ warnings: built.value.warnings,
675
829
  gaps: [...gate.reasons, ...maturity.gaps],
676
830
  },
677
831
  reference: null,
678
832
  completeness: "partial",
679
833
  },
680
- bases: proposalBases(built.value.base, consumer?.base ?? null),
834
+ bases: proposalBases(built.value.base, consumer?.base ?? null, ...(target.reservation === undefined
835
+ ? []
836
+ : [
837
+ {
838
+ path: target.reservation.marker,
839
+ digest: baseDigest(reservationMarker(target.reservation.owner, target.reservation.material)),
840
+ },
841
+ ])),
681
842
  };
682
843
  }
683
844
  /**
@@ -719,14 +880,9 @@ async function packageProposal(ctx, workspace, report, route, target, answered,
719
880
  if (!candidate.ok) {
720
881
  // The gate's own verdict, with its real code and next action: this is where
721
882
  // an invalid tree stops being publishable instead of being sealed verbatim.
722
- const first = candidate.failures[0];
723
883
  return {
724
884
  kind: "blocked",
725
- failure: {
726
- code: first?.code ?? "DESIGN_FIELD_INVALID",
727
- message: first?.message ?? "el package no cumple el contrato de publicación",
728
- action: first?.action ?? "corregí los artefactos y volvé a responder",
729
- },
885
+ failure: combinedFailure(candidate.failures, "DESIGN_FIELD_INVALID", "el package no cumple el contrato de publicación", "corregí los artefactos y volvé a responder"),
730
886
  };
731
887
  }
732
888
  // The verdict over the catalog this revision LEAVES, not over the files it
@@ -765,7 +921,14 @@ async function packageProposal(ctx, workspace, report, route, target, answered,
765
921
  // `target.manifest_base` was captured with the exact bytes parsed into
766
922
  // `target.manifest`. A concurrent change therefore fails at apply instead
767
923
  // of being accidentally adopted as this candidate's CAS base.
768
- bases: proposalBases(target.manifest_base, consumer?.base ?? null),
924
+ bases: proposalBases(target.manifest_base, consumer?.base ?? null, ...(target.reservation === undefined
925
+ ? []
926
+ : [
927
+ {
928
+ path: target.reservation.marker,
929
+ digest: baseDigest(reservationMarker(target.reservation.owner, target.reservation.material)),
930
+ },
931
+ ])),
769
932
  };
770
933
  }
771
934
  /**
@@ -946,9 +1109,8 @@ async function operationPrecondition(ctx) {
946
1109
  const id = inputValue(ctx, "package");
947
1110
  if (typeof id === "string" && id.trim().length > 0) {
948
1111
  const outcome = await checkRecordPrecondition(ctx.fs, ctx.workspace, id.trim());
949
- const first = outcome.failures[0];
950
- if (!outcome.ok && first !== undefined) {
951
- return { code: first.code, message: first.message, action: first.action };
1112
+ if (!outcome.ok) {
1113
+ return combinedFailure(outcome.failures, "DESIGN_RECORD_INVALID", "la evidencia de record no está vigente", "revisá la evidencia y volvé a intentar");
952
1114
  }
953
1115
  }
954
1116
  }
@@ -1056,6 +1218,7 @@ function packageContract(operation, target) {
1056
1218
  `El id asignado es '${target.packageId}' y la carpeta '${target.path}': ambos van en el 'inventory' del request.`,
1057
1219
  `El frontmatter de cada artefacto declara ese id de package (por ejemplo '${target.packageId}/FLW-001').`,
1058
1220
  "NO autores 'design-manifest.json', nada bajo 'baselines/' ni 'PACKAGE.md': el CLI los deriva y sella a partir de tus artefactos, y rechaza la respuesta si los incluye.",
1221
+ `Para declarar 'handoff': ${HANDOFF_RULES.map((rule) => `${rule.code}: ${rule.description}`).join(" · ")}.`,
1059
1222
  "Respondé un único objeto JSON con 'version', 'operation', 'input_digest', 'state': 'proposed' y 'artifacts': [{path, content}]. Cada 'path' es relativo al workspace y cae dentro de los destinos permitidos. Ningún artefacto inventa un formato: los del UI Design Package v1 son los únicos aceptados.",
1060
1223
  ]
1061
1224
  .join(" ")
@@ -1101,4 +1264,16 @@ function proposalBases(...candidates) {
1101
1264
  }
1102
1265
  /** The five operations this floor answers — the descriptor's, not a second list. */
1103
1266
  export const DESIGN_FLOOR_OPERATIONS = DESIGN_OPERATIONS;
1267
+ /** Preserve the first diagnostic code while never hiding subsequent failures. */
1268
+ function combinedFailure(failures, fallbackCode, fallbackMessage, fallbackAction, prefix) {
1269
+ const first = failures[0];
1270
+ const messages = failures.length > 1
1271
+ ? failures.map((f) => `${f.artifact}: ${f.code}: ${f.message}`).join("; ")
1272
+ : (first?.message ?? fallbackMessage);
1273
+ return {
1274
+ code: first?.code ?? fallbackCode,
1275
+ message: `${prefix === undefined ? "" : `${prefix}: `}${messages}`,
1276
+ action: [...new Set(failures.map((f) => f.action))].join("; ") || fallbackAction,
1277
+ };
1278
+ }
1104
1279
  //# sourceMappingURL=design-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-handler.js","sourceRoot":"","sources":["../../../src/application/capability/design-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-handler.js","sourceRoot":"","sources":["../../../src/application/capability/design-handler.ts"],"names":[],"mappings":"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"}