@tacuchi/agent-workflow-cli 22.4.2 → 23.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 (246) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/git-cli.js +59 -17
  3. package/dist/adapters/git-cli.js.map +1 -1
  4. package/dist/adapters/node-file-system.js +55 -1
  5. package/dist/adapters/node-file-system.js.map +1 -1
  6. package/dist/application/artifacts-service.js +2 -2
  7. package/dist/application/artifacts-service.js.map +1 -1
  8. package/dist/application/capability/dispatcher.js +2 -2
  9. package/dist/application/capability/dispatcher.js.map +1 -1
  10. package/dist/application/capability/installed-inventory.js +2 -2
  11. package/dist/application/capability/installed-inventory.js.map +1 -1
  12. package/dist/application/capability/readiness.js +1 -1
  13. package/dist/application/capability/readiness.js.map +1 -1
  14. package/dist/application/check-branch-service.js +2 -2
  15. package/dist/application/check-branch-service.js.map +1 -1
  16. package/dist/application/checkpoint/files-touched.js +271 -0
  17. package/dist/application/checkpoint/files-touched.js.map +1 -0
  18. package/dist/application/checkpoint/markdown.js +61 -8
  19. package/dist/application/checkpoint/markdown.js.map +1 -1
  20. package/dist/application/checkpoint/state-reader.js +8 -2
  21. package/dist/application/checkpoint/state-reader.js.map +1 -1
  22. package/dist/application/checkpoint-write-service.js +16 -5
  23. package/dist/application/checkpoint-write-service.js.map +1 -1
  24. package/dist/application/claims-ledger.js +330 -0
  25. package/dist/application/claims-ledger.js.map +1 -0
  26. package/dist/application/claims-recovery.js +338 -0
  27. package/dist/application/claims-recovery.js.map +1 -0
  28. package/dist/application/dev-only-services.js +154 -44
  29. package/dist/application/dev-only-services.js.map +1 -1
  30. package/dist/application/elicitation-server.js +382 -0
  31. package/dist/application/elicitation-server.js.map +1 -0
  32. package/dist/application/elicitation-stdio.js +48 -0
  33. package/dist/application/elicitation-stdio.js.map +1 -0
  34. package/dist/application/flow/advance.js +86 -5
  35. package/dist/application/flow/advance.js.map +1 -1
  36. package/dist/application/flow/checkout-observation.js +152 -0
  37. package/dist/application/flow/checkout-observation.js.map +1 -0
  38. package/dist/application/flow/flow-service.js +72 -13
  39. package/dist/application/flow/flow-service.js.map +1 -1
  40. package/dist/application/flow/internal-actions.js +460 -1
  41. package/dist/application/flow/internal-actions.js.map +1 -1
  42. package/dist/application/flow/internal-drive.js +22 -9
  43. package/dist/application/flow/internal-drive.js.map +1 -1
  44. package/dist/application/flow/prove.js +205 -0
  45. package/dist/application/flow/prove.js.map +1 -0
  46. package/dist/application/flow/run-journey.js +15 -0
  47. package/dist/application/flow/run-journey.js.map +1 -0
  48. package/dist/application/flow/run-projection.js +15 -3
  49. package/dist/application/flow/run-projection.js.map +1 -1
  50. package/dist/application/flow/run-state-service.js +19 -4
  51. package/dist/application/flow/run-state-service.js.map +1 -1
  52. package/dist/application/flow/submit.js +250 -72
  53. package/dist/application/flow/submit.js.map +1 -1
  54. package/dist/application/generate-launch-service.js +4 -4
  55. package/dist/application/generate-launch-service.js.map +1 -1
  56. package/dist/application/git-flow-service.js +9 -0
  57. package/dist/application/git-flow-service.js.map +1 -1
  58. package/dist/application/local-proposal.js +9 -0
  59. package/dist/application/local-proposal.js.map +1 -1
  60. package/dist/application/lock-service.js +6 -3
  61. package/dist/application/lock-service.js.map +1 -1
  62. package/dist/application/mcp-doctor-service.js.map +1 -1
  63. package/dist/application/mcp-host-reader.js +30 -13
  64. package/dist/application/mcp-host-reader.js.map +1 -1
  65. package/dist/application/mcp-host-writer.js +136 -112
  66. package/dist/application/mcp-host-writer.js.map +1 -1
  67. package/dist/application/mcp-remove-service.js +7 -3
  68. package/dist/application/mcp-remove-service.js.map +1 -1
  69. package/dist/application/mcp-scope-common.js +1 -3
  70. package/dist/application/mcp-scope-common.js.map +1 -1
  71. package/dist/application/mcp-setup-service.js +7 -3
  72. package/dist/application/mcp-setup-service.js.map +1 -1
  73. package/dist/application/merge-state-service.js +10 -16
  74. package/dist/application/merge-state-service.js.map +1 -1
  75. package/dist/application/multiroot/claude.js +34 -15
  76. package/dist/application/multiroot/claude.js.map +1 -1
  77. package/dist/application/multiroot/codex.js +9 -5
  78. package/dist/application/multiroot/codex.js.map +1 -1
  79. package/dist/application/multiroot-service.js +20 -11
  80. package/dist/application/multiroot-service.js.map +1 -1
  81. package/dist/application/parsers/project-block.js +25 -2
  82. package/dist/application/parsers/project-block.js.map +1 -1
  83. package/dist/application/paths-service.js +30 -31
  84. package/dist/application/paths-service.js.map +1 -1
  85. package/dist/application/plan-exec-batch-service.js +549 -0
  86. package/dist/application/plan-exec-batch-service.js.map +1 -0
  87. package/dist/application/plan-exec-decision-service.js +273 -0
  88. package/dist/application/plan-exec-decision-service.js.map +1 -0
  89. package/dist/application/project-md-service.js +2 -2
  90. package/dist/application/project-md-service.js.map +1 -1
  91. package/dist/application/project-md-upsert-service.js +4 -4
  92. package/dist/application/project-md-upsert-service.js.map +1 -1
  93. package/dist/application/project-tab-data.js +12 -7
  94. package/dist/application/project-tab-data.js.map +1 -1
  95. package/dist/application/release-data-service.js +2 -2
  96. package/dist/application/release-data-service.js.map +1 -1
  97. package/dist/application/resume-service.js +32 -11
  98. package/dist/application/resume-service.js.map +1 -1
  99. package/dist/application/retirement/apply.js +84 -0
  100. package/dist/application/retirement/apply.js.map +1 -1
  101. package/dist/application/retirement/attribution.js +31 -1
  102. package/dist/application/retirement/attribution.js.map +1 -1
  103. package/dist/application/retirement/graph.js +19 -1
  104. package/dist/application/retirement/graph.js.map +1 -1
  105. package/dist/application/retirement/journal.js +11 -0
  106. package/dist/application/retirement/journal.js.map +1 -1
  107. package/dist/application/retirement/prepare.js +89 -3
  108. package/dist/application/retirement/prepare.js.map +1 -1
  109. package/dist/application/retirement/preview.js +16 -0
  110. package/dist/application/retirement/preview.js.map +1 -1
  111. package/dist/application/retirement/resolve.js +65 -0
  112. package/dist/application/retirement/resolve.js.map +1 -1
  113. package/dist/application/self/host-states.js +2 -0
  114. package/dist/application/self/host-states.js.map +1 -1
  115. package/dist/application/self/install-skill.js +53 -19
  116. package/dist/application/self/install-skill.js.map +1 -1
  117. package/dist/application/self/mcp-config.js +28 -30
  118. package/dist/application/self/mcp-config.js.map +1 -1
  119. package/dist/application/self/mcp-offer.js +96 -0
  120. package/dist/application/self/mcp-offer.js.map +1 -0
  121. package/dist/application/self/mcp-via-state.js +59 -0
  122. package/dist/application/self/mcp-via-state.js.map +1 -0
  123. package/dist/application/self/uninstall-skill.js +18 -3
  124. package/dist/application/self/uninstall-skill.js.map +1 -1
  125. package/dist/application/self/uninstall.js +37 -8
  126. package/dist/application/self/uninstall.js.map +1 -1
  127. package/dist/application/session-close-service.js +24 -1
  128. package/dist/application/session-close-service.js.map +1 -1
  129. package/dist/application/session-create-service.js +7 -0
  130. package/dist/application/session-create-service.js.map +1 -1
  131. package/dist/application/session-resume-service.js +2 -2
  132. package/dist/application/session-resume-service.js.map +1 -1
  133. package/dist/application/sessions-service.js +2 -4
  134. package/dist/application/sessions-service.js.map +1 -1
  135. package/dist/application/skills-resolver-service.js +4 -4
  136. package/dist/application/skills-resolver-service.js.map +1 -1
  137. package/dist/application/source-boundary-policy.js +18 -7
  138. package/dist/application/source-boundary-policy.js.map +1 -1
  139. package/dist/application/source-remove-service.js +12 -1
  140. package/dist/application/source-remove-service.js.map +1 -1
  141. package/dist/application/sources-service.js +2 -2
  142. package/dist/application/sources-service.js.map +1 -1
  143. package/dist/application/status-service.js +4 -0
  144. package/dist/application/status-service.js.map +1 -1
  145. package/dist/application/visibility-doctor-service.js +1 -1
  146. package/dist/application/visibility-doctor-service.js.map +1 -1
  147. package/dist/application/workline-index-service.js +182 -27
  148. package/dist/application/workline-index-service.js.map +1 -1
  149. package/dist/application/workspace-init-service.js +85 -265
  150. package/dist/application/workspace-init-service.js.map +1 -1
  151. package/dist/application/workspace-materialization-service.js +300 -0
  152. package/dist/application/workspace-materialization-service.js.map +1 -0
  153. package/dist/application/worktree-service.js +32 -3
  154. package/dist/application/worktree-service.js.map +1 -1
  155. package/dist/cli/commands/capability.js +4 -7
  156. package/dist/cli/commands/capability.js.map +1 -1
  157. package/dist/cli/commands/claims.js +72 -0
  158. package/dist/cli/commands/claims.js.map +1 -0
  159. package/dist/cli/commands/dev-only.js +73 -25
  160. package/dist/cli/commands/dev-only.js.map +1 -1
  161. package/dist/cli/commands/flow.js +145 -42
  162. package/dist/cli/commands/flow.js.map +1 -1
  163. package/dist/cli/commands/index.js +2 -0
  164. package/dist/cli/commands/index.js.map +1 -1
  165. package/dist/cli/commands/mcp.js +124 -35
  166. package/dist/cli/commands/mcp.js.map +1 -1
  167. package/dist/cli/commands/multiroot.js +40 -7
  168. package/dist/cli/commands/multiroot.js.map +1 -1
  169. package/dist/cli/commands/resume.js +9 -3
  170. package/dist/cli/commands/resume.js.map +1 -1
  171. package/dist/cli/commands/retirement.js +9 -0
  172. package/dist/cli/commands/retirement.js.map +1 -1
  173. package/dist/cli/commands/session-create.js +1 -1
  174. package/dist/cli/commands/session-create.js.map +1 -1
  175. package/dist/cli/commands/skills.js +1 -1
  176. package/dist/cli/commands/skills.js.map +1 -1
  177. package/dist/cli/commands/status.js +72 -24
  178. package/dist/cli/commands/status.js.map +1 -1
  179. package/dist/cli/commands/workspace-init.js +5 -5
  180. package/dist/cli/commands/workspace-init.js.map +1 -1
  181. package/dist/cli/help-groups.js +5 -0
  182. package/dist/cli/help-groups.js.map +1 -1
  183. package/dist/cli/main.js +112 -39
  184. package/dist/cli/main.js.map +1 -1
  185. package/dist/cli/parser.js +3 -0
  186. package/dist/cli/parser.js.map +1 -1
  187. package/dist/cli/tui/app.js +3 -2
  188. package/dist/cli/tui/app.js.map +1 -1
  189. package/dist/cli/tui/components/host-admin-section.js +46 -2
  190. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  191. package/dist/cli/tui/components/workspace-init-form.js +7 -7
  192. package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
  193. package/dist/cli/tui/data/workflow-content.js +2 -2
  194. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  195. package/dist/cli/tui/tabs/config-tab.js +4 -3
  196. package/dist/cli/tui/tabs/config-tab.js.map +1 -1
  197. package/dist/cli/tui/tabs/mcp-tab-helpers.js +1 -1
  198. package/dist/cli/tui/tabs/mcp-tab-helpers.js.map +1 -1
  199. package/dist/cli/tui/tabs/project-tab.js +18 -21
  200. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  201. package/dist/cli/tui/workspace-root.js +13 -0
  202. package/dist/cli/tui/workspace-root.js.map +1 -0
  203. package/dist/domain/capability/protocol.js +2 -2
  204. package/dist/domain/capability/protocol.js.map +1 -1
  205. package/dist/domain/degradation-notice.js +60 -0
  206. package/dist/domain/degradation-notice.js.map +1 -0
  207. package/dist/domain/elicitation.js +152 -0
  208. package/dist/domain/elicitation.js.map +1 -0
  209. package/dist/domain/flow/answer.js +173 -42
  210. package/dist/domain/flow/answer.js.map +1 -1
  211. package/dist/domain/flow/authority.js +180 -127
  212. package/dist/domain/flow/authority.js.map +1 -1
  213. package/dist/domain/flow/directive.js +47 -1
  214. package/dist/domain/flow/directive.js.map +1 -1
  215. package/dist/domain/flow/rules.js +7 -4
  216. package/dist/domain/flow/rules.js.map +1 -1
  217. package/dist/domain/flow/run-state.js +636 -31
  218. package/dist/domain/flow/run-state.js.map +1 -1
  219. package/dist/domain/harnesses.js +16 -0
  220. package/dist/domain/harnesses.js.map +1 -1
  221. package/dist/domain/mcp-entry.js +36 -14
  222. package/dist/domain/mcp-entry.js.map +1 -1
  223. package/dist/domain/retirement/proposal.js +1 -0
  224. package/dist/domain/retirement/proposal.js.map +1 -1
  225. package/dist/domain/structured-choice-stamp.js +32 -4
  226. package/dist/domain/structured-choice-stamp.js.map +1 -1
  227. package/dist/domain/workline-mcp-entry.js +37 -0
  228. package/dist/domain/workline-mcp-entry.js.map +1 -0
  229. package/dist/runtime/namespace-resolver.js +104 -18
  230. package/dist/runtime/namespace-resolver.js.map +1 -1
  231. package/package.json +1 -1
  232. package/skills/w/README.md +2 -2
  233. package/skills/w/SKILL.md +9 -10
  234. package/skills/w/artifacts/README.md +1 -1
  235. package/skills/w/commands/README.md +3 -3
  236. package/skills/w/commands/persist.md +3 -1
  237. package/skills/w/commands/resume.md +1 -1
  238. package/skills/w/commands/spec-new.md +2 -2
  239. package/skills/w/commands/status.md +1 -1
  240. package/skills/w/commands/workspace-init.md +9 -10
  241. package/skills/w/context/MANIFEST.json +1 -4
  242. package/skills/w/harness/HARNESS.md +1 -1
  243. package/skills/w/loops/quick-loop/LOOP.md +1 -1
  244. package/skills/w/modules/PROMPT-CONTINUITY.md +1 -1
  245. package/skills/w/modules/WORKSPACE-SCAFFOLD.md +17 -20
  246. package/skills/w/schemas/capability-descriptor.schema.json +1 -1
@@ -25,12 +25,11 @@ import { authorizeEffects, touchesTheWorld, } from "../../domain/capability/effe
25
25
  import { AttemptLedger } from "../../domain/capability/protocol.js";
26
26
  import { DEFAULT_CORE_DOCS_CANON, coreDocumentKindForPath } from "../../domain/docs-canon.js";
27
27
  import { claimedSeal, parseFlowAnswer, spendsAttempt, } from "../../domain/flow/answer.js";
28
- import { actionOf, approvalGrantOf, effectsOf, internalActionOf, journeyOfFlow, proposalContractOf, publishApprovalOf, scopesSources, } from "../../domain/flow/authority.js";
28
+ import { actionOf, alternativesOf, approvalGrantOf, effectsOf, internalActionOf, proposalContractOf, publishApprovalOf, scopesSources, } from "../../domain/flow/authority.js";
29
29
  import { effectApprovalDigest } from "../../domain/flow/authorization.js";
30
30
  import { PAUSE_LABEL, STOP_LABEL, stepOf, } from "../../domain/flow/directive.js";
31
31
  import { executionVerdict } from "../../domain/flow/execution-result.js";
32
- import { applyTransition, checkAgainstJourney, restatesLastEvent, withApproval, withAttempt, withBoundary, withEvent, withObservation, withProposal, withScope, } from "../../domain/flow/run-state.js";
33
- import { unitPath, workspaceKey } from "../../domain/isolation-unit.js";
32
+ import { applyTransition, checkAgainstJourney, currentBatchIteration, restatesLastEvent, withApproval, withAttempt, withBoundary, withContinuation, withDecisionPreparation, withEvent, withHandoff, withObservation, withPlanExecBatchStageForTransition, withProposal, withScope, withSelectedChoice, } from "../../domain/flow/run-state.js";
34
33
  import { specBaselineDigest, withSpecBaseline } from "../../domain/lineage.js";
35
34
  import { destinationsOf, observedEffects, sealProposal } from "../../domain/proposal.js";
36
35
  import { baseDigest } from "../../domain/proposal.js";
@@ -40,11 +39,15 @@ import { resolveCoreDocsCanon } from "../docs-canon-service.js";
40
39
  import { readWorkspaceBlock } from "../parsers/project-block.js";
41
40
  import { parseDerivedFromPath, parseSpecRelation } from "../parsers/spec-relation.js";
42
41
  import { resolveWorkspaceRootFrom } from "../paths-service.js";
42
+ import { commitStoredPlanExecDecision, preparePlanExecDecision, } from "../plan-exec-decision-service.js";
43
43
  import { semanticDigest } from "../semantic-operation/protocol.js";
44
44
  import { resolveSessionTarget } from "../session-resolver.js";
45
- import { checkoutDigest, sourceAliasesOfPlan, validatePlanSourceBoundary, } from "../source-boundary-policy.js";
45
+ import { sourceAliasesOfPlan, validatePlanSourceBoundary, } from "../source-boundary-policy.js";
46
46
  import { actionDigest, advanceFlowRun, directiveFor, effectsOfTransition, resolveBoundary, } from "./advance.js";
47
+ import { observeCheckout, withObservedCheckouts } from "./checkout-observation.js";
48
+ import { resolveCheckoutCandidates } from "./checkout-observation.js";
47
49
  import { driveInternalActions } from "./internal-drive.js";
50
+ import { journeyForRun } from "./run-journey.js";
48
51
  import { applyUnderLock, locateRun } from "./run-state-service.js";
49
52
  export async function submitFlow(fs, paths, input) {
50
53
  const canon = await resolveCoreDocsCanon(fs, paths);
@@ -74,7 +77,7 @@ export async function submitFlow(fs, paths, input) {
74
77
  // scope is checked against. The race it leaves open on the destinations is
75
78
  // exactly the one the compare-and-swap closes at publish time.
76
79
  const snapshot = await observe(fs, paths, input.raw, resolution.session.folder, input.git);
77
- const applied = await applyUnderLock(fs, location, (current) => {
80
+ const applied = await applyUnderLock(fs, location, async (current) => {
78
81
  if (current === null) {
79
82
  return {
80
83
  ok: false,
@@ -85,7 +88,7 @@ export async function submitFlow(fs, paths, input) {
85
88
  },
86
89
  };
87
90
  }
88
- return decide(current, input, snapshot);
91
+ return await decide(fs, paths, current, input, snapshot);
89
92
  });
90
93
  if (!applied.ok)
91
94
  return { ok: false, failure: applied.failure };
@@ -96,8 +99,13 @@ export async function submitFlow(fs, paths, input) {
96
99
  // A REFUSED answer never drives: the directive it produced is the refusal, and
97
100
  // replacing it with whatever the CLI did next would tell the sender their answer
98
101
  // was fine. The run stays where the refusal left it.
99
- if (!applied.value.advanced)
100
- return { ok: true, directive: applied.value.directive };
102
+ // Every directive this verb returns carries the roots too. A boundary is reached
103
+ // by the submit that answered the PREVIOUS one at least as often as by an
104
+ // `advance`, so decorating only the walk left the commonest arrival blind.
105
+ const observed = identitiesOf(snapshot.checkouts);
106
+ if (!applied.value.advanced) {
107
+ return { ok: true, directive: withObservedCheckouts(applied.value.directive, observed) };
108
+ }
101
109
  const driven = await driveInternalActions(fs, location, input.executor, {
102
110
  ok: true,
103
111
  state: applied.state,
@@ -105,10 +113,12 @@ export async function submitFlow(fs, paths, input) {
105
113
  });
106
114
  if (!driven.ok)
107
115
  return { ok: false, failure: driven.failure };
108
- return { ok: true, directive: driven.value };
116
+ return { ok: true, directive: withObservedCheckouts(driven.value, observed) };
109
117
  }
110
118
  async function observe(fs, paths, raw, session, git) {
119
+ const root = await resolveWorkspaceRootFrom(fs, paths);
111
120
  return {
121
+ root,
112
122
  destinations: await observeDestinations(fs, paths, raw),
113
123
  scope: await observeScope(fs, paths, raw),
114
124
  checkouts: await observeCheckouts(fs, paths, session, git),
@@ -254,65 +264,31 @@ async function observeScope(fs, paths, raw) {
254
264
  async function observeCheckouts(fs, paths, session, git) {
255
265
  if (git === undefined)
256
266
  return null;
257
- let root;
258
- let block;
259
- try {
260
- root = await resolveWorkspaceRootFrom(fs, paths);
261
- block = await readWorkspaceBlock(fs, root, paths.blockMarkers());
262
- }
263
- catch {
264
- return [];
265
- }
266
- const candidates = [{ source: "workspace", path: root }];
267
- if (block !== null) {
268
- try {
269
- const units = await fs.realPath(paths.userUnitsDir());
270
- const key = workspaceKey(paths.workspaceDir());
271
- for (const source of block.fuentes) {
272
- candidates.push({
273
- source: source.alias,
274
- path: unitPath(units, { workspaceKey: key, alias: source.alias, session }),
275
- });
276
- }
277
- }
278
- catch {
279
- // A run without isolated units can still prove its documentary checkout.
280
- // Any proof naming another source stays invalid because it is absent below.
281
- }
282
- }
267
+ // The SAME resolution the directive published, from the same function: two
268
+ // callers computing this apart is what made a rejection claim the tree moved
269
+ // when all that differed was the directory each side measured.
270
+ const candidates = await resolveCheckoutCandidates(fs, paths, session);
283
271
  const states = [];
284
272
  for (const candidate of candidates) {
285
- try {
286
- if (!(await fs.exists(candidate.path)) || !(await git.isGitRepo(candidate.path)))
287
- continue;
288
- // The fingerprint is taken twice, concurrently: a digest that does not
289
- // survive its own recomputation must not be reported as a tree that moved.
290
- const [head, dirty, changed, worktreeFingerprint, recomputed] = await Promise.all([
291
- git.head(candidate.path),
292
- git.isDirty(candidate.path),
293
- git.changedFiles(candidate.path),
294
- git.checkoutFingerprint(candidate.path),
295
- git.checkoutFingerprint(candidate.path),
296
- ]);
297
- states.push({
298
- source: candidate.source,
299
- digest: checkoutDigest({
300
- source: candidate.source,
301
- head,
302
- dirty,
303
- changed_files: changed,
304
- worktree_fingerprint: worktreeFingerprint,
305
- }),
306
- reproducible: worktreeFingerprint === recomputed,
307
- });
308
- }
309
- catch {
310
- // An unreadable checkout is deliberately absent from the eligible set; a
311
- // proof against it fails closed instead of being treated as a clean tree.
312
- }
273
+ // An unreadable checkout is deliberately absent from the eligible set: a proof
274
+ // against it fails closed instead of being treated as a clean tree.
275
+ const state = await observeCheckout(fs, git, candidate);
276
+ if (state !== null)
277
+ states.push(state);
313
278
  }
314
279
  return states;
315
280
  }
281
+ /**
282
+ * The alias→root pairs worth publishing: the ones actually OBSERVED.
283
+ *
284
+ * Narrower than the candidate list on purpose. A root that survived observation is
285
+ * a real git checkout, so the directive advertises only what the validator would
286
+ * also accept — advertising a root it would refuse as ineligible is the very
287
+ * divergence between shown and measured that this contract closes.
288
+ */
289
+ function identitiesOf(checkouts) {
290
+ return (checkouts ?? []).flatMap((state) => state.root === undefined ? [] : [{ source: state.source, root: state.root }]);
291
+ }
316
292
  /**
317
293
  * Stat the destinations the payload names, without trusting anything else in it.
318
294
  *
@@ -366,8 +342,9 @@ async function observeDestinations(fs, paths, raw) {
366
342
  }
367
343
  return snapshot;
368
344
  }
369
- function decide(state, input, snapshot) {
370
- const journey = journeyOfFlow(state.flow);
345
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: resend, drift, admission, scope, sealing, preview, grant and handoff checks are one intentional precedence contract.
346
+ async function decide(fs, paths, state, input, snapshot) {
347
+ const journey = journeyForRun(state);
371
348
  const incoherent = checkAgainstJourney(state, journey);
372
349
  if (incoherent !== null)
373
350
  return { ok: false, failure: incoherent };
@@ -408,6 +385,14 @@ function decide(state, input, snapshot) {
408
385
  if ("decision" in admissible)
409
386
  return admissible.decision;
410
387
  const parsed = admissible;
388
+ // The registry, not the Spanish consequence text, owns what a selected
389
+ // alternative does. A handoff must stop before any later plan-exec row can
390
+ // mark work, validate or commit; a decision selection is durably recorded
391
+ // even while its registration is handled by the decision bridge below.
392
+ const selected = choiceOutcomeOf(resolved.stopped, parsed.answer.choice);
393
+ if (selected?.kind === "handoff") {
394
+ return applyAndHandoff(state, journey, resolved.stopped, identity, parsed.answer, selected);
395
+ }
411
396
  // 3 · Apply: the answer is the INPUT to the CLI's decision, so what advances is
412
397
  // the transition, never the sender's own verdict.
413
398
  //
@@ -423,8 +408,19 @@ function decide(state, input, snapshot) {
423
408
  if ("failure" in sealed) {
424
409
  return reject(state, resolved, sealed.failure.message, { code: sealed.failure.code, action: sealed.failure.action }, cost);
425
410
  }
411
+ const preparedForGate = await prepareDecisionForGate(fs, sealed.state, snapshot, parsed.answer, resolved, cost);
412
+ if (!preparedForGate.ok)
413
+ return preparedForGate.decision;
426
414
  const granted = resolved.kind === "authorization" ? (resolved.authorization?.planned ?? []) : [];
427
- const approved = grantOf(sealed.state, resolved, parsed.answer, granted, journey);
415
+ const approved = grantOf(preparedForGate.state, resolved, parsed.answer, granted, journey);
416
+ // All pure scope/proposal checks have now passed. A durable decision is a
417
+ // material write, so it must never land when a later validation of the same
418
+ // answer would refuse the boundary and leave its cursor standing.
419
+ const registered = selected?.kind === "register-decision"
420
+ ? await registerSelectedDecision(fs, paths, approved, snapshot, resolved, cost)
421
+ : null;
422
+ if (registered !== null && !registered.ok)
423
+ return registered.decision;
428
424
  // An approval NEVER applies a step by itself. Two reasons it must hold, and the
429
425
  // second is the one this phase exists for: doctrine may still own the rule, or
430
426
  // the step may be delegated — and an approval that applied a delegated
@@ -432,9 +428,21 @@ function decide(state, input, snapshot) {
432
428
  // someone said the effect was allowed.
433
429
  const holds = resolved.kind === "authorization" &&
434
430
  (resolved.stopped.ownership !== "cli-owned" || actionOf(resolved.stopped) !== null);
431
+ let selectedState = selected?.kind === "register-decision"
432
+ ? withSelectedChoice(approved, {
433
+ transition: resolved.stopped.id,
434
+ label: parsed.answer.choice ?? "Registrar la decisión y seguir",
435
+ outcome: selected,
436
+ })
437
+ : approved;
438
+ if (registered?.ok && registered.reconciliation !== null) {
439
+ selectedState = withContinuation(selectedState, registered.reconciliation);
440
+ }
441
+ if (registered?.ok)
442
+ selectedState = withDecisionPreparation(selectedState, null);
435
443
  return holds
436
- ? holdAfterApproval(approved, journey, identity)
437
- : applyAndAdvance(approved, journey, resolved.stopped, identity, parsed.answer);
444
+ ? holdAfterApproval(selectedState, journey, identity)
445
+ : applyAndAdvance(selectedState, journey, resolved.stopped, identity, parsed.answer);
438
446
  }
439
447
  /**
440
448
  * Fix the run's plan and its sources — checked against the workspace, not taken.
@@ -445,6 +453,7 @@ function decide(state, input, snapshot) {
445
453
  * have different fixes. The document's structural contract is then checked as a
446
454
  * whole, not by finding a word anywhere in its prose.
447
455
  */
456
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: the ordered scope refusals are user-facing contract precedence, so extracting them would hide that sequence rather than simplify it.
448
457
  function scopeFrom(state, stopped, answer, snapshot) {
449
458
  if (!scopesSources(stopped))
450
459
  return { state };
@@ -535,6 +544,106 @@ function scopeFrom(state, stopped, answer, snapshot) {
535
544
  }
536
545
  return { state: withScope(state, { plan, sources }) };
537
546
  }
547
+ /**
548
+ * Prepare the complete decision view one boundary BEFORE the human choice.
549
+ *
550
+ * `deviation-recognition` is where the semantic draft belongs: its result is
551
+ * sealed in the run, then the following human gate can show that exact view.
552
+ * A later `Registrar` choice never reads a new draft or recomputes the preview.
553
+ */
554
+ async function prepareDecisionForGate(fs, state, snapshot, answer, resolved, cost) {
555
+ if (resolved.stopped?.id !== "plan-exec.deviation-recognition")
556
+ return { ok: true, state };
557
+ const candidate = answer.decisions.decision;
558
+ if (candidate === undefined)
559
+ return { ok: true, state: withDecisionPreparation(state, null) };
560
+ const plan = state.scope?.plan;
561
+ if (plan === undefined) {
562
+ return {
563
+ ok: false,
564
+ decision: reject(state, resolved, "la desviación no puede preparar una decisión sin el plan fijado por la corrida", {
565
+ code: "FLOW_DECISION_SCOPE_MISSING",
566
+ action: "fijá el scope de plan-exec antes de declarar la decisión que llegará al gate",
567
+ }, cost),
568
+ };
569
+ }
570
+ const prepared = await preparePlanExecDecision(fs, {
571
+ root: snapshot.root,
572
+ session: state.session,
573
+ plan,
574
+ value: candidate,
575
+ });
576
+ if (!prepared.ok) {
577
+ return {
578
+ ok: false,
579
+ decision: reject(state, resolved, prepared.failure.message, prepared.failure, cost),
580
+ };
581
+ }
582
+ switch (prepared.kind) {
583
+ case "settled":
584
+ return {
585
+ ok: true,
586
+ state: withDecisionPreparation(state, { kind: "settled", decision: prepared.decision }),
587
+ };
588
+ case "reused":
589
+ return {
590
+ ok: true,
591
+ state: withDecisionPreparation(state, {
592
+ kind: "reused",
593
+ note: prepared.note,
594
+ decision: prepared.decision,
595
+ resume_point: prepared.resume_point,
596
+ }),
597
+ };
598
+ case "prepared":
599
+ return {
600
+ ok: true,
601
+ state: withDecisionPreparation(state, {
602
+ kind: "prepared",
603
+ note: prepared.prepared.note,
604
+ preview: prepared.prepared.preview,
605
+ index_path: prepared.indexPath,
606
+ baseline: {
607
+ path: prepared.baseline.path,
608
+ number: prepared.baseline.number,
609
+ digest: prepared.baseline.digest,
610
+ criteria: [...prepared.baseline.criteria],
611
+ },
612
+ }),
613
+ };
614
+ }
615
+ }
616
+ /**
617
+ * The human gate choice is the sole authorization for this registration.
618
+ *
619
+ * The prior semantic boundary already called `preparePlanExecDecision` and
620
+ * persisted its fact/reuse/prepared result. A fresh preference now calls
621
+ * `commitDecision` over exactly that stored preview; there is no second
622
+ * confirmation and no post-choice re-preview.
623
+ */
624
+ async function registerSelectedDecision(fs, paths, state, snapshot, resolved, cost) {
625
+ const preparation = state.decision_preparation;
626
+ if (preparation === null || preparation === undefined) {
627
+ return {
628
+ ok: false,
629
+ decision: reject(state, resolved, "la elección no tiene una vista de decisión preparada que pueda autorizar", {
630
+ code: "FLOW_DECISION_PREVIEW_ABSENT",
631
+ action: "declará la pregunta y el borrador en decisions.decision al reconocer la desviación; el CLI mostrará su preview antes de pedir esta elección",
632
+ }, cost),
633
+ };
634
+ }
635
+ const committed = await commitStoredPlanExecDecision(fs, paths, snapshot.root, preparation);
636
+ if (!committed.ok) {
637
+ return {
638
+ ok: false,
639
+ decision: reject(state, resolved, committed.failure.message, committed.failure, cost),
640
+ };
641
+ }
642
+ return {
643
+ ok: true,
644
+ reconciliation: committed.kind === "committed" ? committed.reconciliation : null,
645
+ };
646
+ }
538
647
  /**
539
648
  * A scope answer the boundary read and refused — under its OWN code.
540
649
  *
@@ -761,7 +870,7 @@ function admit(state, resolved, stopped, input, cost, checkouts) {
761
870
  // would leave the transition pending for an effect nobody could produce.
762
871
  const verdict = executionVerdict(parsed.answer.result, resolved.action, effectsOfTransition(state, stopped), checkouts);
763
872
  if (verdict !== null) {
764
- const trace = declaredTrace(stopped, resolved, parsed.answer, verdict);
873
+ const trace = declaredTrace(state, stopped, resolved, parsed.answer, verdict);
765
874
  return {
766
875
  decision: reject(state, resolved, verdict.message, verdict.detail, {
767
876
  ...cost,
@@ -787,14 +896,16 @@ function admit(state, resolved, stopped, input, cost, checkouts) {
787
896
  * verdict is a PARTIAL one: "it finished and did not apply everything" is the
788
897
  * case where what did reach the world is precisely the unknown.
789
898
  */
790
- function declaredTrace(stopped, resolved, answer, verdict) {
899
+ function declaredTrace(state, stopped, resolved, answer, verdict) {
791
900
  const applied = answer.result?.effects.applied ?? [];
792
901
  if (!touchesTheWorld(applied) && verdict.detail.code !== "FLOW_EFFECT_PARTIAL")
793
902
  return null;
794
903
  const invocation = resolved.action?.invocation;
904
+ const batchIteration = currentBatchIteration(state, stopped.id);
795
905
  return {
796
906
  kind: "failed",
797
907
  transition: stopped.id,
908
+ ...(batchIteration === null ? {} : { batch_iteration: batchIteration }),
798
909
  // What was really run, named the way whoever ran it would recognize it: an
799
910
  // external execution has no internal operation id to quote.
800
911
  operation: invocation === undefined ? stopped.id : [invocation.program, ...invocation.args].join(" "),
@@ -848,9 +959,9 @@ function applyAndAdvance(approved, journey, stopped, identity, answer) {
848
959
  // reads these signals to apply its threshold. The verdict is not stored — it is
849
960
  // derived from these on each read, so the two can never disagree.
850
961
  let next = answer.signals.length > 0
851
- ? withObservation(approved, { transition: stopped.id, signals: answer.signals })
962
+ ? withObservation(approved, observationFor(approved, stopped.id, answer.signals))
852
963
  : approved;
853
- next = applyTransition(next, stopped.id, effectsOfTransition(next, stopped));
964
+ next = withPlanExecBatchStageForTransition(applyTransition(next, stopped.id, effectsOfTransition(next, stopped)), stopped.id);
854
965
  // A published proposal is spent, whoever published it. This is the degraded
855
966
  // path — no internal executor, so the caller ran the write and returned its
856
967
  // result — and leaving the proposal seated would keep a preview of bytes that
@@ -872,6 +983,63 @@ function applyAndAdvance(approved, journey, stopped, identity, answer) {
872
983
  value: { directive: advanced.directive, advanced: true },
873
984
  };
874
985
  }
986
+ /** The executable outcome declared by the registry for this exact human label. */
987
+ function choiceOutcomeOf(stopped, label) {
988
+ if (label === null)
989
+ return null;
990
+ return alternativesOf(stopped)?.find((choice) => choice.label === label)?.outcome ?? null;
991
+ }
992
+ /**
993
+ * Apply a selected escalation and stop the run on its typed destination.
994
+ *
995
+ * No later `plan-exec` transition is even considered: the package, selection,
996
+ * cursor and terminal handoff are sealed together before `advanceFlowRun` sees
997
+ * the state. A retry is recognized by the attempt ledger, so it cannot create a
998
+ * second package or walk the batch toward a commit.
999
+ */
1000
+ function applyAndHandoff(state, journey, stopped, identity, answer, outcome) {
1001
+ const plan = state.scope?.plan ?? null;
1002
+ if (outcome.destination === "plan-refine" && plan === null) {
1003
+ const resolved = resolveBoundary(state, journey);
1004
+ return reject(state, resolved, "la entrega a plan-refine no tiene el plan que debe reabrir", {
1005
+ code: "FLOW_HANDOFF_PLAN_MISSING",
1006
+ action: "fijá el scope de plan-exec antes de elegir una escalación a plan-refine",
1007
+ }, { journey, identity });
1008
+ }
1009
+ const packageBody = {
1010
+ plan,
1011
+ observations: state.observations.filter((observation) => observation.transition.startsWith("plan-exec.deviation-")),
1012
+ decisions: answer.decisions,
1013
+ selection: answer.choice ?? "",
1014
+ };
1015
+ const command = outcome.destination === "plan-refine"
1016
+ ? `/w:plan-refine ${plan}`
1017
+ : outcome.destination === "spec-refine"
1018
+ ? "/w:spec-refine"
1019
+ : "/w:spec-new";
1020
+ let next = withSelectedChoice(state, {
1021
+ transition: stopped.id,
1022
+ label: answer.choice ?? "",
1023
+ outcome,
1024
+ });
1025
+ next = withPlanExecBatchStageForTransition(applyTransition(next, stopped.id, effectsOfTransition(next, stopped)), stopped.id);
1026
+ next = withAttempt(next, identity);
1027
+ next = withHandoff(next, {
1028
+ destination: outcome.destination,
1029
+ command,
1030
+ package: packageBody,
1031
+ package_digest: semanticDigest(packageBody),
1032
+ });
1033
+ next = withBoundary(next, journey[next.applied.length]?.id ?? null);
1034
+ const advanced = advanceFlowRun({ state: next, journey, applied: [stepOf(stopped)] });
1035
+ if (!advanced.ok)
1036
+ return { ok: false, failure: advanced.failure };
1037
+ return {
1038
+ ok: true,
1039
+ state: advanced.state,
1040
+ value: { directive: advanced.directive, advanced: true },
1041
+ };
1042
+ }
875
1043
  /**
876
1044
  * Whether this submission is a resend, judged by the ledger that already knows
877
1045
  * how.
@@ -987,6 +1155,7 @@ function reject(state, resolved, message, detail, cost) {
987
1155
  */
988
1156
  function attemptIdentity(state, input, seal, transition) {
989
1157
  const digest = semanticDigest({ payload: input.raw, approval: input.approval });
1158
+ const batchIteration = currentBatchIteration(state, transition);
990
1159
  const prior = state.attempts.filter((past) => past.invocation_id === seal);
991
1160
  const twin = prior.find((past) => past.request_digest === digest);
992
1161
  const attempt = twin?.attempt ?? prior.length + 1;
@@ -1001,6 +1170,15 @@ function attemptIdentity(state, input, seal, transition) {
1001
1170
  // The seal moves with the state; the transition does not while the run
1002
1171
  // stands there. It is what the cap counts over.
1003
1172
  transition,
1173
+ ...(batchIteration === null ? {} : { batch_iteration: batchIteration }),
1174
+ };
1175
+ }
1176
+ function observationFor(state, transition, signals) {
1177
+ const batchIteration = currentBatchIteration(state, transition);
1178
+ return {
1179
+ transition,
1180
+ signals,
1181
+ ...(batchIteration === null ? {} : { batch_iteration: batchIteration }),
1004
1182
  };
1005
1183
  }
1006
1184
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/application/flow/submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/application/flow/submit.ts"],"names":[],"mappings":"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"}