@tacuchi/agent-workflow-cli 24.0.0 → 25.0.1

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 (75) hide show
  1. package/dist/adapters/postgres-readonly-tools.js +27 -12
  2. package/dist/adapters/postgres-readonly-tools.js.map +1 -1
  3. package/dist/application/checkpoint/markdown.js +85 -5
  4. package/dist/application/checkpoint/markdown.js.map +1 -1
  5. package/dist/application/checkpoint-service.js +7 -6
  6. package/dist/application/checkpoint-service.js.map +1 -1
  7. package/dist/application/checkpoint-write-service.js +270 -16
  8. package/dist/application/checkpoint-write-service.js.map +1 -1
  9. package/dist/application/database-tool-catalog.js +2 -2
  10. package/dist/application/database-tool-catalog.js.map +1 -1
  11. package/dist/application/flow/advance.js +60 -10
  12. package/dist/application/flow/advance.js.map +1 -1
  13. package/dist/application/flow/internal-actions.js +1 -1
  14. package/dist/application/flow/internal-actions.js.map +1 -1
  15. package/dist/application/flow/submit.js +256 -9
  16. package/dist/application/flow/submit.js.map +1 -1
  17. package/dist/application/lifecycle-target.js +16 -19
  18. package/dist/application/lifecycle-target.js.map +1 -1
  19. package/dist/application/markdown.js +6 -2
  20. package/dist/application/markdown.js.map +1 -1
  21. package/dist/application/parsers/spec-functional.js +220 -0
  22. package/dist/application/parsers/spec-functional.js.map +1 -0
  23. package/dist/application/parsers/spec-relation.js +142 -5
  24. package/dist/application/parsers/spec-relation.js.map +1 -1
  25. package/dist/application/paths-service.js +13 -0
  26. package/dist/application/paths-service.js.map +1 -1
  27. package/dist/application/plan-exec-decision-service.js +57 -4
  28. package/dist/application/plan-exec-decision-service.js.map +1 -1
  29. package/dist/application/reseal-service.js +300 -0
  30. package/dist/application/reseal-service.js.map +1 -0
  31. package/dist/application/workline-index-service.js +64 -6
  32. package/dist/application/workline-index-service.js.map +1 -1
  33. package/dist/cli/commands/checkpoint-write.js +24 -22
  34. package/dist/cli/commands/checkpoint-write.js.map +1 -1
  35. package/dist/cli/commands/index.js +5 -0
  36. package/dist/cli/commands/index.js.map +1 -1
  37. package/dist/cli/commands/mcp.js +12 -13
  38. package/dist/cli/commands/mcp.js.map +1 -1
  39. package/dist/cli/commands/reseal.js +140 -0
  40. package/dist/cli/commands/reseal.js.map +1 -0
  41. package/dist/cli/commands/status.js +5 -1
  42. package/dist/cli/commands/status.js.map +1 -1
  43. package/dist/cli/help-groups.js +6 -0
  44. package/dist/cli/help-groups.js.map +1 -1
  45. package/dist/domain/database-tools.js +6 -2
  46. package/dist/domain/database-tools.js.map +1 -1
  47. package/dist/domain/effective-contract.js +10 -2
  48. package/dist/domain/effective-contract.js.map +1 -1
  49. package/dist/domain/flow/answer.js +4 -0
  50. package/dist/domain/flow/answer.js.map +1 -1
  51. package/dist/domain/flow/authority.js +99 -14
  52. package/dist/domain/flow/authority.js.map +1 -1
  53. package/dist/domain/flow/directive.js +2 -0
  54. package/dist/domain/flow/directive.js.map +1 -1
  55. package/dist/domain/flow/run-state.js +42 -0
  56. package/dist/domain/flow/run-state.js.map +1 -1
  57. package/dist/domain/lineage.js +38 -11
  58. package/dist/domain/lineage.js.map +1 -1
  59. package/dist/ports/postgres-tools.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/w/commands/plan-exec.md +1 -1
  62. package/skills/w/commands/spec-new.md +6 -5
  63. package/skills/w/context/MANIFEST.json +1 -1
  64. package/skills/w/harness/HARNESS.md +1 -1
  65. package/skills/w/hooks/README.md +13 -9
  66. package/skills/w/hooks/hooks.template.json +2 -2
  67. package/skills/w/loops/CHASSIS.md +1 -1
  68. package/skills/w/loops/plan-exec-loop/LOOP.md +7 -5
  69. package/skills/w/loops/plan-new-loop/LOOP.md +46 -41
  70. package/skills/w/loops/plan-refine-loop/LOOP.md +4 -4
  71. package/skills/w/loops/quick-loop/LOOP.md +12 -13
  72. package/skills/w/loops/spec-refine-loop/LOOP.md +7 -3
  73. package/skills/w/modules/COMPACTION.md +1 -1
  74. package/skills/w/modules/PLAN-INPUT.md +3 -3
  75. package/skills/w/modules/PROMPT-CONTINUITY.md +1 -1
@@ -1,10 +1,14 @@
1
1
  import { join } from "node:path";
2
2
  import { findActiveSessions } from "./checkpoint-service.js";
3
3
  import { totalInScope } from "./checkpoint/files-touched.js";
4
- import { formatCheckpointMd, isPristineCheckpoint } from "./checkpoint/markdown.js";
4
+ import { appendSealedBlock, blocksUnder, formatCheckpointMd, isPristineCheckpoint, } from "./checkpoint/markdown.js";
5
5
  import { extractSessionState } from "./checkpoint/state-reader.js";
6
- import { resolveLifecycleTarget, unresolvedDetail, } from "./lifecycle-target.js";
6
+ import { localMinuteIso } from "./dates.js";
7
+ import { resolveLifecycleTarget, } from "./lifecycle-target.js";
8
+ import { parseMdValue } from "./markdown.js";
7
9
  import { resolveWorkspaceRoot } from "./paths-service.js";
10
+ import { relpath } from "./paths.js";
11
+ import { hashContextId } from "./session-binding-service.js";
8
12
  import { writeSessionNarrative } from "./session-narrative.js";
9
13
  // This module deliberately owns NO placeholder marker of its own. `_[AI:` used
10
14
  // to be declared here as well as in `checkpoint-service.ts`, with incompatible
@@ -27,18 +31,26 @@ export async function runCheckpointWrite(fs, env, git, paths, options = {}) {
27
31
  // the association to land on the same one.
28
32
  const target = await resolveLifecycleTarget(fs, paths, options, "bind");
29
33
  if (target.outcome !== "resolved")
30
- return unresolved(fs, paths, target);
34
+ return unresolved(fs, paths, target, options);
31
35
  const session = target.session;
32
36
  const cpPath = join(session.path, "CHECKPOINT.md");
33
37
  if (await hasContentToPreserve(fs, cpPath, options.force === true)) {
38
+ // Adoption runs even here: preservation protects written prose from being
39
+ // REGENERATED, and folding a refuge in only appends to it.
40
+ const adopted = await adoptRefuge(fs, paths, session, adoptionScope(options));
34
41
  return {
35
42
  session: session.folder,
36
43
  checkpoint_path: cpPath,
37
44
  skipped: true,
38
45
  preserved: true,
39
46
  reason: PRESERVED_REASON,
47
+ ...adoptedField(adopted.adopted),
40
48
  };
41
49
  }
50
+ // Read BEFORE the write that replaces it: an adopted refuge is not part of any
51
+ // template, so regenerating without carrying it across would drop the state
52
+ // the refuge existed to save (its file on disk is long gone).
53
+ const carried = await carriedAdoptions(fs, cpPath);
42
54
  // The workspace root rather than the raw cwd. Today the two coincide by
43
55
  // construction — session resolution already refuses to run from a
44
56
  // subdirectory, so nothing reaches here with a deeper cwd — and what actually
@@ -48,13 +60,16 @@ export async function runCheckpointWrite(fs, env, git, paths, options = {}) {
48
60
  // widen to the parent repository along with it.
49
61
  const workspaceRoot = await resolveWorkspaceRoot(fs, env, paths);
50
62
  const state = await extractSessionState(fs, git, workspaceRoot, session.path);
51
- const md = formatCheckpointMd(state);
63
+ const md = withCarried(formatCheckpointMd(state), carried);
52
64
  await fs.mkdirp(session.path);
53
65
  await fs.writeText(cpPath, md);
54
66
  // The CHECKPOINT is where progress lives, so writing one is exactly when the
55
67
  // session's entry point stops being current. Refreshed here and never on a
56
68
  // read, which is what keeps a `status` or a `resume` from rewriting history.
57
69
  await writeSessionNarrative(fs, paths, { folder: session.folder, path: session.path });
70
+ // Last, never first: a refuge is folded into the checkpoint this run just
71
+ // produced, so the file it appends to is already there.
72
+ const adopted = await adoptRefuge(fs, paths, session, adoptionScope(options));
58
73
  return {
59
74
  session: session.folder,
60
75
  checkpoint_path: cpPath,
@@ -63,33 +78,40 @@ export async function runCheckpointWrite(fs, env, git, paths, options = {}) {
63
78
  tasks_open: state.tasks.open,
64
79
  tasks_closed: state.tasks.closed,
65
80
  files_touched_count: totalInScope(state.files_touched),
81
+ ...adoptedField(adopted.adopted),
66
82
  };
67
83
  }
68
84
  /**
69
85
  * SessionEnd. It used to iterate EVERY active session, so closing one host
70
86
  * conversation wrote checkpoints over lines belonging to others. It now
71
- * checkpoints the resolved target and nothing else; with no sufficient
72
- * identity it writes nothing at all. The host is exiting, so there is nobody
73
- * left to answer a selection prompt: this surface always degrades, never blocks.
87
+ * checkpoints the resolved target and nothing else; with no sufficient identity
88
+ * it writes no session line at all and parks a refuge instead.
74
89
  */
75
90
  export async function runAutoCompactOnClose(fs, env, git, paths, options = {}) {
76
91
  // Does NOT bind: the host is exiting, so there is no later turn the
77
92
  // association could serve, and establishing one is a locked write that fails
78
93
  // the whole resolution when it cannot be taken — which would cost the
79
94
  // checkpoint this surface exists to save.
80
- const target = await resolveLifecycleTarget(fs, paths, { ...options, canPauseCompaction: false }, "read-only");
95
+ const target = await resolveLifecycleTarget(fs, paths, options, "read-only");
81
96
  if (target.outcome !== "resolved") {
82
- const detail = unresolvedDetail(target);
83
97
  return {
84
98
  checkpoints_written: [],
85
99
  continuity: "degraded",
86
100
  primary_session: null,
87
- candidates: detail.candidates,
88
- action: detail.action,
101
+ candidates: target.candidates,
102
+ action: target.action,
103
+ refuge_path: await parkRefuge(fs, paths, target, options.contextId),
89
104
  };
90
105
  }
91
106
  const workspaceRoot = await resolveWorkspaceRoot(fs, env, paths);
92
107
  const entry = await writeCheckpointForTarget(fs, git, workspaceRoot, target.session);
108
+ // Only over a checkpoint that exists: `writeCheckpointForTarget` reports its
109
+ // own failure instead of throwing, and appending a refuge to a file that was
110
+ // never written would file the parked state under a session line nobody wrote.
111
+ if (entry.error === undefined) {
112
+ const adopted = await adoptRefuge(fs, paths, target.session, adoptionScope(options));
113
+ return { checkpoints_written: [{ ...entry, ...adoptedField(adopted.adopted) }] };
114
+ }
93
115
  return { checkpoints_written: [entry] };
94
116
  }
95
117
  async function writeCheckpointForTarget(fs, git, workspaceRoot, session) {
@@ -106,8 +128,9 @@ async function writeCheckpointForTarget(fs, git, workspaceRoot, session) {
106
128
  };
107
129
  }
108
130
  try {
131
+ const carried = await carriedAdoptions(fs, cpPath);
109
132
  const state = await extractSessionState(fs, git, workspaceRoot, session.path);
110
- const md = formatCheckpointMd(state);
133
+ const md = withCarried(formatCheckpointMd(state), carried);
111
134
  await fs.mkdirp(session.path);
112
135
  await fs.writeText(cpPath, md);
113
136
  return {
@@ -138,10 +161,23 @@ async function hasContentToPreserve(fs, cpPath, force) {
138
161
  return false;
139
162
  return !isPristineCheckpoint(await fs.readText(cpPath));
140
163
  }
141
- async function unresolved(fs, paths, target) {
142
- if (target.outcome === "blocked") {
143
- return { blocked: true, selection_required: true, sessionError: target.error };
144
- }
164
+ /**
165
+ * The refuge sections an existing CHECKPOINT already carries.
166
+ *
167
+ * Read before every regeneration and written back after it (see
168
+ * {@link withCarried}). "Preserve" protects somebody's prose; carrying protects
169
+ * the CLI's own folded-in state, which preservation deliberately does NOT cover
170
+ * because a checkpoint the CLI wrote must stay regenerable.
171
+ */
172
+ async function carriedAdoptions(fs, cpPath) {
173
+ if (!(await fs.exists(cpPath)))
174
+ return [];
175
+ return blocksUnder(await fs.readText(cpPath), ADOPTED_HEADING);
176
+ }
177
+ function withCarried(md, carried) {
178
+ return carried.reduce((text, block) => appendSealedBlock(text, block), md);
179
+ }
180
+ async function unresolved(fs, paths, target, options) {
145
181
  const actives = await findActiveSessions(fs, paths);
146
182
  return {
147
183
  skipped: true,
@@ -151,6 +187,224 @@ async function unresolved(fs, paths, target) {
151
187
  active_sessions: actives.map((a) => a.folder),
152
188
  candidates: target.candidates,
153
189
  action: target.action,
190
+ refuge_path: await parkRefuge(fs, paths, target, options.contextId),
154
191
  };
155
192
  }
193
+ // ── the refuge: state a lifecycle surface saves when no session resolves ─────
194
+ //
195
+ // This exists because the PreCompact hook stopped being allowed to block (see
196
+ // `resolveLifecycleTarget`). Losing the protective pause without replacing it
197
+ // would mean the compaction that follows an unresolved target takes the run's
198
+ // context away and leaves nothing behind. So the reason, the candidates and the
199
+ // way out are written to a file OUTSIDE any session — nothing has to be guessed
200
+ // to place it — and the first invocation that does resolve the session folds it
201
+ // into that session's CHECKPOINT.
202
+ /** `- Fecha:` / `- Conversación:` — the two lines adoption reads back. */
203
+ const REFUGE_DATE_KEY = "Fecha";
204
+ const REFUGE_CONVERSATION_KEY = "Conversación";
205
+ /** The heading an adopted refuge lands under, inside the CHECKPOINT's sealed body. */
206
+ const ADOPTED_HEADING = "## Refugio adoptado";
207
+ /**
208
+ * What `- Conversación:` says — and what the file is called — when the host gave
209
+ * no conversation id.
210
+ *
211
+ * Such a refuge cannot be matched to anybody, so only an explicit `--code`
212
+ * adopts it: a person naming the session IS the missing identity. The name
213
+ * carries no instant on purpose: stamping it would make every compaction of
214
+ * every id-less invocation pile up another file in a directory nothing sweeps,
215
+ * where the digest case leaves exactly one. One file, latest reason, same rule.
216
+ */
217
+ const REFUGE_NO_CONVERSATION = "desconocida";
218
+ /**
219
+ * The conversation is named by the SHA-256 of its id, never by the id.
220
+ *
221
+ * Same rule as the bindings registry (`hashContextId`): the host's opaque
222
+ * conversation id never reaches disk in the clear. It also makes the file name
223
+ * safe by construction — 64 hex characters cannot escape a directory — and
224
+ * stable, so a conversation that compacts five times leaves ONE refuge with its
225
+ * latest reason instead of five.
226
+ */
227
+ const REFUGE_DIGEST_PREFIX = "sha256:";
228
+ /** Where the parked state goes, and its workspace-relative path for the caller. */
229
+ export async function writeRefugeCheckpoint(fs, paths, input) {
230
+ const now = input.now ?? new Date();
231
+ const digest = input.contextId !== undefined ? hashContextId(input.contextId) : null;
232
+ const dir = paths.cwdSessionsRefugeDir();
233
+ const path = join(dir, `${digest ?? REFUGE_NO_CONVERSATION}.md`);
234
+ await fs.mkdirp(dir);
235
+ await fs.writeText(path, refugeBody(input, now, digest));
236
+ return relpath(path, paths.workspaceDir());
237
+ }
238
+ /**
239
+ * A refuge, but ONLY when somebody could adopt it later.
240
+ *
241
+ * With no candidate at all — a workspace between runs, which is the ordinary
242
+ * state — the parked file would name no session anybody could resolve it to,
243
+ * and every compaction of every session-less conversation would leave one
244
+ * behind. The notice on stderr is the whole answer there.
245
+ */
246
+ async function parkRefuge(fs, paths, target, contextId) {
247
+ if (target.candidates.length === 0)
248
+ return null;
249
+ return writeRefugeCheckpoint(fs, paths, {
250
+ reason: target.reason,
251
+ action: target.action,
252
+ candidates: target.candidates,
253
+ ...(contextId !== undefined ? { contextId } : {}),
254
+ });
255
+ }
256
+ /**
257
+ * Fold every refuge that belongs to this conversation into the session's
258
+ * CHECKPOINT, and remove it.
259
+ *
260
+ * Adding a section is what makes this safe next to the preservation guard: that
261
+ * guard refuses to REGENERATE a written checkpoint, and folding text in takes
262
+ * nothing away from one. It goes in through {@link appendSealedBlock} rather
263
+ * than by appending past the seal, so a checkpoint that was still the CLI's own
264
+ * output stays that way — otherwise the first adoption would freeze the file
265
+ * forever behind "there is content to preserve". Removing the refuge afterwards
266
+ * is not tidying: it is what keeps the next invocation from adopting the same
267
+ * text again — but ONLY once the block is demonstrably in the file, because two
268
+ * concurrent hooks read the same `existing` and the loser's append is not in
269
+ * what finally lands. Removing on the strength of its own write would delete the
270
+ * parked state from both places it existed in. A refuge left on disk costs one
271
+ * more adoption attempt; a refuge deleted for nothing is irrecoverable.
272
+ */
273
+ export async function adoptRefuge(fs, paths, session, scope = {}) {
274
+ const wanted = digestOfContext(scope.contextId);
275
+ const cpPath = join(session.path, "CHECKPOINT.md");
276
+ const adopted = [];
277
+ // Nothing that happens in here may throw out of a lifecycle surface: a
278
+ // non-zero exit is how a host HOLDS its compaction, and holding it was the
279
+ // irrecoverable trap these surfaces stopped being allowed to set. A failure
280
+ // reports "nothing adopted" and leaves the refuge for the next invocation.
281
+ try {
282
+ for (const refuge of await listRefugeCheckpoints(fs, paths)) {
283
+ if (!adoptable(refuge, wanted, scope.explicitCode === true))
284
+ continue;
285
+ const block = adoptedBlock(refuge);
286
+ // The block as it reads BACK: the plain-append path collapses the trailing
287
+ // blank line, so only the text up to its last character is what both
288
+ // append paths leave verbatim in the file.
289
+ const folded = block.trimEnd();
290
+ const existing = (await fs.exists(cpPath)) ? await fs.readText(cpPath) : "";
291
+ // Already in there — an earlier run adopted it and could not remove the
292
+ // file, or the run this one raced got there first. The state is safe, so
293
+ // the refuge is spent and appending again would only duplicate it.
294
+ if (existing.includes(folded)) {
295
+ await discardRefuge(fs, refuge.path);
296
+ continue;
297
+ }
298
+ await fs.mkdirp(session.path);
299
+ await fs.writeText(cpPath, appendSealedBlock(existing, block));
300
+ if (!(await fs.readText(cpPath)).includes(folded))
301
+ continue;
302
+ await discardRefuge(fs, refuge.path);
303
+ adopted.push(refuge.relative);
304
+ }
305
+ }
306
+ catch {
307
+ // Deliberately silent: the caller's contract is the checkpoint it already
308
+ // wrote, and `refuge_adopted` is simply absent.
309
+ }
310
+ return { adopted };
311
+ }
312
+ /**
313
+ * Drop a refuge whose text is in the CHECKPOINT.
314
+ *
315
+ * Cleanup, not the adoption itself: the state is already saved, so a removal
316
+ * that fails must not cost the run. The next invocation finds the file again,
317
+ * recognises its own block and retries the removal.
318
+ */
319
+ async function discardRefuge(fs, path) {
320
+ try {
321
+ await fs.remove(path);
322
+ }
323
+ catch {
324
+ // Left on disk on purpose. It is re-read, not re-adopted.
325
+ }
326
+ }
327
+ /**
328
+ * The refuge waiting for this conversation, for a surface that only reports.
329
+ *
330
+ * Symmetric with {@link parkRefuge} on purpose: an invocation with no
331
+ * conversation id parks an ANONYMOUS refuge, so that is exactly the one it must
332
+ * be told about. Cutting off at "no id, no answer" made the one invocation
333
+ * shape that can create such a refuge the only one unable to report it — and in
334
+ * the single channel the model reads, `refuge: null` does not say "I don't
335
+ * know", it says there is none.
336
+ */
337
+ export async function findRefugeForContext(fs, paths, contextId) {
338
+ const wanted = digestOfContext(contextId);
339
+ const refuges = await listRefugeCheckpoints(fs, paths);
340
+ const found = refuges.find((refuge) => refuge.conversation === wanted);
341
+ return found !== undefined ? { path: found.relative, date: found.date } : null;
342
+ }
343
+ export async function listRefugeCheckpoints(fs, paths) {
344
+ const dir = paths.cwdSessionsRefugeDir();
345
+ if (!(await fs.exists(dir)))
346
+ return [];
347
+ const refuges = [];
348
+ for (const entry of await fs.list(dir)) {
349
+ if (entry.type !== "file" || !entry.name.endsWith(".md"))
350
+ continue;
351
+ const body = await fs.readText(entry.path);
352
+ const conversation = parseMdValue(body, REFUGE_CONVERSATION_KEY);
353
+ refuges.push({
354
+ path: entry.path,
355
+ relative: relpath(entry.path, paths.workspaceDir()),
356
+ date: parseMdValue(body, REFUGE_DATE_KEY) ?? "sin fecha",
357
+ conversation: conversation?.startsWith(REFUGE_DIGEST_PREFIX) ? conversation : null,
358
+ body,
359
+ });
360
+ }
361
+ // Deterministic order, so an adoption of several refuges reads the same way twice.
362
+ return refuges.sort((a, b) => a.path.localeCompare(b.path));
363
+ }
364
+ /** Whose refuge this is: the conversation's own, or anybody's under an explicit `--code`. */
365
+ function adoptable(refuge, wanted, explicitCode) {
366
+ if (refuge.conversation === null)
367
+ return explicitCode;
368
+ return refuge.conversation === wanted;
369
+ }
370
+ function digestOfContext(contextId) {
371
+ return contextId !== undefined && contextId.trim().length > 0
372
+ ? `${REFUGE_DIGEST_PREFIX}${hashContextId(contextId)}`
373
+ : null;
374
+ }
375
+ function adoptionScope(options) {
376
+ return {
377
+ ...(options.contextId !== undefined ? { contextId: options.contextId } : {}),
378
+ explicitCode: (options.code?.trim().length ?? 0) > 0,
379
+ };
380
+ }
381
+ function adoptedBlock(refuge) {
382
+ // The refuge's own H1 would land as a second title inside the CHECKPOINT, and
383
+ // the heading below already says where the text came from. Everything else
384
+ // goes in verbatim: an adoption that summarised would be an adoption that loses.
385
+ const body = refuge.body.replace(/^#[^\n]*\n/, "").trim();
386
+ return `${ADOPTED_HEADING} (${refuge.date})\n\n${body}\n\n`;
387
+ }
388
+ function refugeBody(input, now, digest) {
389
+ const candidates = input.candidates.map((c) => `${c.folder} (${c.state})`).join(" · ");
390
+ return `${[
391
+ "# CHECKPOINT de refugio",
392
+ "",
393
+ "> Lo escribió un hook de ciclo de vida (PreCompact o SessionEnd): la",
394
+ "> compactación —o el cierre— siguió adelante, pero no se pudo resolver a qué",
395
+ "> sesión pertenece esta conversación, así que su estado queda acá en vez de",
396
+ "> perderse. Se adopta en el CHECKPOINT.md de la sesión en cuanto alguien la",
397
+ "> resuelva (`aw checkpoint-write --code <NNN>`).",
398
+ "",
399
+ `- ${REFUGE_DATE_KEY}: ${localMinuteIso(now)}`,
400
+ `- ${REFUGE_CONVERSATION_KEY}: ${digest !== null ? `${REFUGE_DIGEST_PREFIX}${digest}` : REFUGE_NO_CONVERSATION}`,
401
+ `- Motivo: ${input.reason}`,
402
+ `- Candidatas: ${candidates.length > 0 ? candidates : "ninguna"}`,
403
+ `- Acción: ${input.action}`,
404
+ ].join("\n")}\n`;
405
+ }
406
+ /** Present only when something was actually adopted — an empty list says nothing. */
407
+ function adoptedField(adopted) {
408
+ return adopted.length > 0 ? { refuge_adopted: adopted } : {};
409
+ }
156
410
  //# sourceMappingURL=checkpoint-write-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-write-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-write-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-write-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-write-service.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ export class DatabaseToolCatalog {
86
86
  },
87
87
  ],
88
88
  source_id: "default",
89
- }));
89
+ }, result.warnings));
90
90
  });
91
91
  }
92
92
  async searchObjects(call) {
@@ -109,7 +109,7 @@ export class DatabaseToolCatalog {
109
109
  count: rows.length,
110
110
  results: rows,
111
111
  truncated: result.truncated || result.rows.length > call.input.limit,
112
- }));
112
+ }, result.warnings));
113
113
  });
114
114
  }
115
115
  async runDatabaseOperation(operation) {
@@ -1 +1 @@
1
- {"version":3,"file":"database-tool-catalog.js","sourceRoot":"","sources":["../../src/application/database-tool-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-tool-catalog.js","sourceRoot":"","sources":["../../src/application/database-tool-catalog.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  * registry — not this file — is where a new transition is added.
26
26
  */
27
27
  import { touchesTheWorld } from "../../domain/capability/effects.js";
28
- import { DOCS_BOUNDARY, actionOf, alternativesOf, effectsOf, internalActionOf, proposalContractOf, publishApprovalOf, } from "../../domain/flow/authority.js";
28
+ import { DOCS_BOUNDARY, FIX_PREVIEW_TRANSITION, actionOf, alternativesOf, effectsOf, internalActionOf, proposalContractOf, publishApprovalOf, } from "../../domain/flow/authority.js";
29
29
  import { authorizeTransition, effectApprovalDigest, } from "../../domain/flow/authorization.js";
30
30
  import { PAUSE_LABEL, STOP_LABEL, buildFlowDirective, skippedStepOf, stepOf, } from "../../domain/flow/directive.js";
31
31
  import { bindAction, docsBoundaryBreach, skipReason, } from "../../domain/flow/rules.js";
@@ -428,6 +428,19 @@ function describeAllowance(flow) {
428
428
  const allowed = DOCS_BOUNDARY[flow];
429
429
  return allowed.length === 0 ? "ninguna carpeta de docs" : allowed.join(" y ");
430
430
  }
431
+ /**
432
+ * What a handed-off run tells whoever is in it — and it is TWO steps, not one.
433
+ *
434
+ * A handoff is terminal for the walk, so `chassis.finalize` — the suffix row that
435
+ * closes the session — is never emitted after it, and the destination command
436
+ * alone would leave a live session on the board with no pointer to where the work
437
+ * went. The close is named first because that is the order doctrine promises: the
438
+ * pointer goes into the session's BACKLOG, the close persists the CHECKPOINT, and
439
+ * only then does the work continue at the destination.
440
+ */
441
+ function handoffAction(session, command) {
442
+ return `anotá el puntero de escalación en el BACKLOG de la sesión y cerrala con 'aw session-close --code ${session}' —que persiste el CHECKPOINT—; después seguí con ${command}`;
443
+ }
431
444
  export function resolveBoundary(state, journey) {
432
445
  const stopped = journey[state.applied.length] ?? null;
433
446
  const pending = journey.slice(state.applied.length).map((decision) => decision.id);
@@ -459,7 +472,7 @@ export function resolveBoundary(state, journey) {
459
472
  error: {
460
473
  code: "FLOW_HANDOFF",
461
474
  message: `la corrida entregó '${state.handoff.destination}' desde '${state.selected_choice?.label ?? "la desviación"}' y no puede continuar hacia '${stopped.id}'`,
462
- action: state.handoff.command,
475
+ action: handoffAction(state.session, state.handoff.command),
463
476
  },
464
477
  };
465
478
  }
@@ -490,7 +503,7 @@ export function resolveBoundary(state, journey) {
490
503
  request: kind === "semantic" ? boundaryRequest(stopped, state) : null,
491
504
  action: kind === "execution" ? emitted.action : null,
492
505
  proposal: subject === null ? null : previewOfState(state),
493
- choices: choicesFor(kind, stopped, authorization),
506
+ choices: choicesFor(kind, stopped, authorization, state),
494
507
  pending,
495
508
  seal: boundarySeal(state, stopped),
496
509
  error: blocked,
@@ -620,6 +633,10 @@ export function directiveFor(state, resolved, appliedNow, overrides = {}) {
620
633
  choices: resolved.choices,
621
634
  proposal: resolved.proposal,
622
635
  decisionPreview: state.decision_preparation?.kind === "prepared" ? state.decision_preparation.preview : null,
636
+ // Only where it is the subject: the quick gate that approves the declared
637
+ // fix. That is what lets `Compactar` come back to that boundary and show the
638
+ // very thing the person is being asked to approve.
639
+ fixPreview: resolved.stopped?.id === "quick.fix-preview-approval" ? (state.fix_preview ?? null) : null,
623
640
  authorizations: resolved.authorization?.covered ?? [],
624
641
  // The cause of a block travels with the boundary that declares it: a
625
642
  // `blocked` directive without its error is refused at construction.
@@ -670,10 +687,16 @@ export function boundaryRequest(decision, state) {
670
687
  const decisionDraft = decision.id === "plan-exec.deviation-recognition"
671
688
  ? " Si la desviación puede resolverse registrando una decisión, incluí en 'decisions.decision' su question y draft completos ahora: el CLI preparará y mostrará el preview sellado antes de que una persona elija registrarlo."
672
689
  : "";
690
+ // La misma pista que el borrador de decisión, y por el mismo motivo: la forma
691
+ // exacta se dice ANTES para que el primer intento la traiga. Acá pesa el doble,
692
+ // porque un preview inválido es un rechazo evaluado y gasta uno de los tres.
693
+ const fixPreview = decision.id === FIX_PREVIEW_TRANSITION
694
+ ? " Devolvé en 'decisions.preview' un objeto con 'files' (las rutas que vas a tocar, lista que puede ir VACÍA si el entregable es un análisis), 'intent' (qué arregla y por qué) y 'diff' (la forma esperada del diff). Proporcional a la tarea: una línea para algo trivial; enfoque, archivos y riesgos para algo complejo."
695
+ : "";
673
696
  return buildSemanticRequest({
674
697
  operation: `flow.${decision.id}`,
675
698
  inputs: boundaryInputs(state, decision),
676
- contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera. ${taxonomy}${authoring}${decisionDraft} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
699
+ contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera. ${taxonomy}${authoring}${decisionDraft}${fixPreview} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
677
700
  inventory: { flow: state.flow, applied: state.applied, signals: vocabulary },
678
701
  allowedDestinations: proposes === null ? [] : [...proposes.destinations],
679
702
  limits: proposes === null
@@ -725,8 +748,14 @@ export function flowControlChoices(stopping) {
725
748
  * enumerate — and the engine emits them verbatim, which is what makes the
726
749
  * directed journey equivalent to the one it replaces instead of merely similar.
727
750
  * Whatever the row says, the flow control is appended.
751
+ *
752
+ * One consequence is not verbatim, and it cannot be: a row is written once and a
753
+ * standalone plan has no contract chain to add a note to, so the registry's own
754
+ * text would promise a durable note that nothing writes. The lineage is already
755
+ * sealed in the run's decision preparation, so the choice is made HERE, where the
756
+ * state is — never in the row, which cannot see it.
728
757
  */
729
- function humanChoices(decision) {
758
+ function humanChoices(decision, state) {
730
759
  const own = alternativesOf(decision);
731
760
  const resolve = own === null
732
761
  ? [
@@ -737,9 +766,29 @@ function humanChoices(decision) {
737
766
  outcome: { kind: "continue" },
738
767
  },
739
768
  ]
740
- : own.map((choice) => ({ ...choice }));
769
+ : own.map((choice) => ({
770
+ ...choice,
771
+ ...(standaloneRegistration(decision, state, choice.outcome)
772
+ ? { consequence: STANDALONE_REGISTRATION_CONSEQUENCE }
773
+ : {}),
774
+ }));
741
775
  return [...resolve, ...flowControlChoices()];
742
776
  }
777
+ /** What registering a decision really leaves behind when the plan is standalone. */
778
+ const STANDALONE_REGISTRATION_CONSEQUENCE = "no hay nota de contrato: la decisión queda en la traza de la corrida y la anotás en el DECISION.md de la sesión; la ejecución sigue desde su punto de reanudación";
779
+ /**
780
+ * Whether this alternative is the deviation gate's registration over a plan with
781
+ * no spec — the only case where the row's durable-note promise is false.
782
+ *
783
+ * A null preparation cannot take this exit at all (the submit refuses it with
784
+ * `FLOW_DECISION_PREVIEW_ABSENT`), so the standalone variant covers every case
785
+ * where registering can succeed without a note.
786
+ */
787
+ function standaloneRegistration(decision, state, outcome) {
788
+ return (decision.id === "plan-exec.deviation-gate" &&
789
+ outcome.kind === "register-decision" &&
790
+ state.decision_preparation?.kind === "standalone");
791
+ }
743
792
  /**
744
793
  * An authorization boundary names the effect and what approving it costs.
745
794
  *
@@ -759,11 +808,11 @@ function authorizationChoices(decision, authorization) {
759
808
  ...flowControlChoices(`no se ejerce ${missing} y el recorrido queda detenido acá, sin nada aplicado`),
760
809
  ];
761
810
  }
762
- function choicesFor(kind, stopped, unauthorized) {
811
+ function choicesFor(kind, stopped, unauthorized, state) {
763
812
  if (kind === "authorization" && unauthorized !== null) {
764
813
  return authorizationChoices(stopped, unauthorized);
765
814
  }
766
- return kind === "human" ? humanChoices(stopped) : [];
815
+ return kind === "human" ? humanChoices(stopped, state) : [];
767
816
  }
768
817
  /**
769
818
  * What the END of a run says — including what it gave up on along the way.
@@ -782,8 +831,9 @@ function finalAction(state) {
782
831
  return `el recorrido terminó dejando degradadas ${names}: nadie las resolvió y el estado declara la causa de cada una — ${DEGRADE_ACTION}`;
783
832
  }
784
833
  function nextActionFor(state, boundary, resolved) {
785
- if (state.handoff !== null && state.handoff !== undefined)
786
- return state.handoff.command;
834
+ if (state.handoff !== null && state.handoff !== undefined) {
835
+ return handoffAction(state.session, state.handoff.command);
836
+ }
787
837
  const stopped = resolved.stopped;
788
838
  if (stopped === null)
789
839
  return finalAction(state);