@tacuchi/agent-workflow-cli 25.1.2 → 25.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +3 -1
  2. package/dist/adapters/node-process.js +35 -0
  3. package/dist/adapters/node-process.js.map +1 -1
  4. package/dist/application/amend-service.js +393 -0
  5. package/dist/application/amend-service.js.map +1 -0
  6. package/dist/application/decision-note-service.js +20 -3
  7. package/dist/application/decision-note-service.js.map +1 -1
  8. package/dist/application/doctor/actions.js +158 -0
  9. package/dist/application/doctor/actions.js.map +1 -0
  10. package/dist/application/doctor/apply.js +399 -0
  11. package/dist/application/doctor/apply.js.map +1 -0
  12. package/dist/application/doctor/auth-dsn.js +143 -0
  13. package/dist/application/doctor/auth-dsn.js.map +1 -0
  14. package/dist/application/doctor/auth-flow.js +28 -0
  15. package/dist/application/doctor/auth-flow.js.map +1 -0
  16. package/dist/application/doctor/auth-registry.js +12 -0
  17. package/dist/application/doctor/auth-registry.js.map +1 -0
  18. package/dist/application/doctor/hosts.js +41 -0
  19. package/dist/application/doctor/hosts.js.map +1 -0
  20. package/dist/application/doctor/native-host-state.js +211 -0
  21. package/dist/application/doctor/native-host-state.js.map +1 -0
  22. package/dist/application/doctor/prepare.js +262 -0
  23. package/dist/application/doctor/prepare.js.map +1 -0
  24. package/dist/application/doctor/provider-installation.js +124 -0
  25. package/dist/application/doctor/provider-installation.js.map +1 -0
  26. package/dist/application/doctor/provider-mcps.js +650 -0
  27. package/dist/application/doctor/provider-mcps.js.map +1 -0
  28. package/dist/application/doctor/provider-plugins-hooks.js +112 -0
  29. package/dist/application/doctor/provider-plugins-hooks.js.map +1 -0
  30. package/dist/application/doctor/provider-skills.js +212 -0
  31. package/dist/application/doctor/provider-skills.js.map +1 -0
  32. package/dist/application/doctor/provider-tools-auth.js +201 -0
  33. package/dist/application/doctor/provider-tools-auth.js.map +1 -0
  34. package/dist/application/doctor/provider-visibility.js +149 -0
  35. package/dist/application/doctor/provider-visibility.js.map +1 -0
  36. package/dist/application/doctor/repair-runner.js +169 -0
  37. package/dist/application/doctor/repair-runner.js.map +1 -0
  38. package/dist/application/doctor/report.js +155 -0
  39. package/dist/application/doctor/report.js.map +1 -0
  40. package/dist/application/doctor/types.js +5 -0
  41. package/dist/application/doctor/types.js.map +1 -0
  42. package/dist/application/flow/advance.js +152 -13
  43. package/dist/application/flow/advance.js.map +1 -1
  44. package/dist/application/flow/flow-service.js +18 -7
  45. package/dist/application/flow/flow-service.js.map +1 -1
  46. package/dist/application/flow/internal-actions.js +167 -7
  47. package/dist/application/flow/internal-actions.js.map +1 -1
  48. package/dist/application/flow/run-projection.js +6 -1
  49. package/dist/application/flow/run-projection.js.map +1 -1
  50. package/dist/application/flow/submit.js +330 -7
  51. package/dist/application/flow/submit.js.map +1 -1
  52. package/dist/application/mcp-doctor-service.js +1 -1
  53. package/dist/application/mcp-doctor-service.js.map +1 -1
  54. package/dist/application/mcp-host-reader.js +134 -26
  55. package/dist/application/mcp-host-reader.js.map +1 -1
  56. package/dist/application/mcp-host-receipt-service.js +9 -7
  57. package/dist/application/mcp-host-receipt-service.js.map +1 -1
  58. package/dist/application/plan-current-point.js +54 -0
  59. package/dist/application/plan-current-point.js.map +1 -0
  60. package/dist/application/plan-exec-decision-service.js +143 -4
  61. package/dist/application/plan-exec-decision-service.js.map +1 -1
  62. package/dist/application/plan-locator.js +78 -0
  63. package/dist/application/plan-locator.js.map +1 -0
  64. package/dist/application/plan-open-run.js +129 -0
  65. package/dist/application/plan-open-run.js.map +1 -0
  66. package/dist/application/reseal-service.js +14 -44
  67. package/dist/application/reseal-service.js.map +1 -1
  68. package/dist/application/resume-service.js +9 -3
  69. package/dist/application/resume-service.js.map +1 -1
  70. package/dist/application/self/install-skill.js +10 -2
  71. package/dist/application/self/install-skill.js.map +1 -1
  72. package/dist/application/self/mcp-config.js +1 -1
  73. package/dist/application/self/mcp-config.js.map +1 -1
  74. package/dist/application/session-narrative.js +15 -0
  75. package/dist/application/session-narrative.js.map +1 -1
  76. package/dist/application/settle-service.js +442 -0
  77. package/dist/application/settle-service.js.map +1 -0
  78. package/dist/application/source-boundary-policy.js +87 -6
  79. package/dist/application/source-boundary-policy.js.map +1 -1
  80. package/dist/application/workline-index-service.js +165 -62
  81. package/dist/application/workline-index-service.js.map +1 -1
  82. package/dist/cli/commands/amend.js +122 -0
  83. package/dist/cli/commands/amend.js.map +1 -0
  84. package/dist/cli/commands/doctor.js +300 -0
  85. package/dist/cli/commands/doctor.js.map +1 -0
  86. package/dist/cli/commands/index.js +6 -0
  87. package/dist/cli/commands/index.js.map +1 -1
  88. package/dist/cli/commands/settle.js +197 -0
  89. package/dist/cli/commands/settle.js.map +1 -0
  90. package/dist/cli/commands/status.js +2 -0
  91. package/dist/cli/commands/status.js.map +1 -1
  92. package/dist/cli/dispatch-plan.js +47 -0
  93. package/dist/cli/dispatch-plan.js.map +1 -0
  94. package/dist/cli/help-groups.js +15 -0
  95. package/dist/cli/help-groups.js.map +1 -1
  96. package/dist/cli/main.js +54 -10
  97. package/dist/cli/main.js.map +1 -1
  98. package/dist/cli/parser.js +26 -0
  99. package/dist/cli/parser.js.map +1 -1
  100. package/dist/domain/decision-note.js +166 -3
  101. package/dist/domain/decision-note.js.map +1 -1
  102. package/dist/domain/decision-preview.js.map +1 -1
  103. package/dist/domain/doctor/auth.js +65 -0
  104. package/dist/domain/doctor/auth.js.map +1 -0
  105. package/dist/domain/doctor/model.js +82 -0
  106. package/dist/domain/doctor/model.js.map +1 -0
  107. package/dist/domain/doctor/operations.js +114 -0
  108. package/dist/domain/doctor/operations.js.map +1 -0
  109. package/dist/domain/effective-contract.js +4 -3
  110. package/dist/domain/effective-contract.js.map +1 -1
  111. package/dist/domain/flow/answer.js +10 -0
  112. package/dist/domain/flow/answer.js.map +1 -1
  113. package/dist/domain/flow/authority.js +124 -0
  114. package/dist/domain/flow/authority.js.map +1 -1
  115. package/dist/domain/flow/directive.js +8 -1
  116. package/dist/domain/flow/directive.js.map +1 -1
  117. package/dist/domain/flow/run-state.js +276 -34
  118. package/dist/domain/flow/run-state.js.map +1 -1
  119. package/dist/domain/obligation-correspondence.js +95 -0
  120. package/dist/domain/obligation-correspondence.js.map +1 -0
  121. package/dist/domain/reconciliation.js +142 -25
  122. package/dist/domain/reconciliation.js.map +1 -1
  123. package/dist/domain/redaction.js +40 -0
  124. package/dist/domain/redaction.js.map +1 -1
  125. package/dist/domain/settlement.js +129 -0
  126. package/dist/domain/settlement.js.map +1 -0
  127. package/package.json +1 -1
  128. package/skills/w/SKILL.md +2 -1
  129. package/skills/w/commands/README.md +2 -1
  130. package/skills/w/commands/doctor.md +31 -0
  131. package/skills/w/commands/resume.md +2 -2
  132. package/skills/w/context/MANIFEST.json +4 -0
  133. package/skills/w/loops/plan-exec-loop/LOOP.md +31 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-host-receipt-service.js","sourceRoot":"","sources":["../../src/application/mcp-host-receipt-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-host-receipt-service.js","sourceRoot":"","sources":["../../src/application/mcp-host-receipt-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { parsePhases } from "./parsers/phases.js";
2
+ /**
3
+ * WHERE A PLAN IS ACTUALLY RESUMED FROM, which is not where a note said.
4
+ *
5
+ * A decision note records its resume point on the day it was written, and that
6
+ * is history: by the time somebody comes back to settle the obligation it
7
+ * created, the phase it named may be validated and its commits integrated.
8
+ * Offering it as a place to return to sends whoever reads it into work that is
9
+ * already done — which is precisely what left a real plan being told to resume
10
+ * inside a phase nobody could reopen.
11
+ *
12
+ * So the current point is DERIVED from what the plan says now: the first phase
13
+ * it does not report validated, or the closure when it reports them all. Never
14
+ * invented, and never the note's own point when that phase is finished.
15
+ */
16
+ const CLOSURE_POINT = "el cierre del plan";
17
+ /**
18
+ * A plan whose phases carry no state at all cannot say where it stands.
19
+ *
20
+ * And it must not be answered as the closure: "every phase is validated" and
21
+ * "this document predates the phase contract" would then read identically, and
22
+ * the second one would be reported as work already finished — the exact
23
+ * inversion this module exists to prevent, on the legacy plans a transversal
24
+ * settlement is most often pointed at.
25
+ */
26
+ const NO_CONTRACT_POINT = "sin contrato de fases: el plan no declara estados";
27
+ export function currentResumePoint(planText) {
28
+ return resumePointOf(parsePhases(planText));
29
+ }
30
+ /**
31
+ * The same answer from a parse somebody already has.
32
+ *
33
+ * The board parses every plan's phases for its own counters a few lines before
34
+ * it needs this, and parsing the same document twice per plan per board build is
35
+ * work nobody asked for. The text-taking form stays for the callers that only
36
+ * have the bytes.
37
+ */
38
+ export function resumePointOf(parsed) {
39
+ const phases = parsed.items;
40
+ if (phases.length === 0)
41
+ return NO_CONTRACT_POINT;
42
+ // Ascending by number, not document order: a plan whose blocks are out of
43
+ // order would otherwise name a later phase as the one to come back to.
44
+ const open = [...phases].sort((a, b) => a.n - b.n).find((phase) => phase.state !== "validada");
45
+ if (open === undefined)
46
+ return CLOSURE_POINT;
47
+ const named = open.name.trim().length > 0 ? `F${open.n} — ${open.name}` : `F${open.n}`;
48
+ // A blocked phase is where the work is, and its reason is why nobody can pick
49
+ // it up: dropping it would send somebody to a phase that cannot move.
50
+ return open.state === "bloqueada"
51
+ ? `${named} (bloqueada${open.blocker === null ? "" : `: ${open.blocker}`})`
52
+ : named;
53
+ }
54
+ //# sourceMappingURL=plan-current-point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-current-point.js","sourceRoot":"","sources":["../../src/application/plan-current-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,mDAAmD,CAAC;AAE9E,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAClD,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC/F,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;IACvF,8EAA8E;IAC9E,sEAAsE;IACtE,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW;QAC/B,CAAC,CAAC,GAAG,KAAK,cAAc,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,GAAG;QAC3E,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC"}
@@ -13,6 +13,7 @@ import { composeEffectiveContract } from "../domain/effective-contract.js";
13
13
  import { specBaselineDigest } from "../domain/lineage.js";
14
14
  import { baseDigest } from "../domain/proposal.js";
15
15
  import { reconciliationOf } from "../domain/reconciliation.js";
16
+ import { deriveSettlementNote } from "../domain/settlement.js";
16
17
  import { noteIndexPath, readNoteIndex } from "./decision-note-service.js";
17
18
  import { commitDecision, prepareDecision, } from "./decision-registration-service.js";
18
19
  import { DEFAULT_DOCS_CANON } from "./docs-canon-service.js";
@@ -108,7 +109,7 @@ export async function preparePlanExecDecision(fs, input) {
108
109
  }
109
110
  }
110
111
  /** Commit precisely the preview the selected gate already prepared; never re-preview. */
111
- export async function commitPlanExecDecision(fs, paths, root, prepared) {
112
+ export async function commitPlanExecDecision(fs, paths, root, prepared, planText) {
112
113
  if (!prepared.ok)
113
114
  return prepared;
114
115
  if (prepared.kind === "settled")
@@ -135,7 +136,7 @@ export async function commitPlanExecDecision(fs, paths, root, prepared) {
135
136
  resume_point: committed.result.resume_point,
136
137
  written: committed.result.written,
137
138
  already_applied: committed.result.already_applied,
138
- reconciliation: reconciliationOf(composed.contract, chain.read.index.notes),
139
+ reconciliation: reconciliationOf(composed.contract, chain.read.index.notes, planText),
139
140
  };
140
141
  }
141
142
  /**
@@ -145,7 +146,9 @@ export async function commitPlanExecDecision(fs, paths, root, prepared) {
145
146
  * proposal is the exact full view the choice authorized. Re-preparing after the
146
147
  * choice would turn a moved baseline into an invisible different preview.
147
148
  */
148
- export async function commitStoredPlanExecDecision(fs, paths, root, preparation) {
149
+ export async function commitStoredPlanExecDecision(fs, paths, root, preparation,
150
+ /** The plan THIS RUN fixed as its scope — the same one the board reads. */
151
+ plan) {
149
152
  // Nothing durable to commit, and nothing to re-read: the standalone record IS
150
153
  // what the gate showed. It returns before `commitDecision` on purpose — a note
151
154
  // written here would be a decision about a contract that does not exist.
@@ -167,6 +170,19 @@ export async function commitStoredPlanExecDecision(fs, paths, root, preparation)
167
170
  resume_point: preparation.resume_point,
168
171
  };
169
172
  }
173
+ // The plan is read again here, and only to classify legacy obligations: an
174
+ // undeclared one reads as a handoff exactly when this plan enumerates that
175
+ // work. It is read at the path the RUN declared, which is the path the board
176
+ // reads too — the note's pinned path may have moved since, and two paths would
177
+ // be two classifications of one obligation. Failing to read it degrades to the
178
+ // safe reading, never to a guess.
179
+ let planText;
180
+ try {
181
+ planText = plan === undefined ? undefined : await fs.readText(join(root, plan));
182
+ }
183
+ catch {
184
+ planText = undefined;
185
+ }
170
186
  return commitPlanExecDecision(fs, paths, root, {
171
187
  ok: true,
172
188
  kind: "prepared",
@@ -177,7 +193,7 @@ export async function commitStoredPlanExecDecision(fs, paths, root, preparation)
177
193
  },
178
194
  baseline: preparation.baseline,
179
195
  indexPath: preparation.index_path,
180
- });
196
+ }, planText);
181
197
  }
182
198
  /**
183
199
  * The baseline with the spec's exact-bytes digest alongside its functional one.
@@ -323,4 +339,127 @@ function fail(code, message, action) {
323
339
  function isRecord(value) {
324
340
  return typeof value === "object" && value !== null && !Array.isArray(value);
325
341
  }
342
+ export async function settlePlanExecObligations(fs, paths, input) {
343
+ const read = await readLineage(fs, { root: input.root, plan: input.plan });
344
+ if (!read.ok)
345
+ return read;
346
+ const lineage = read.value;
347
+ const published = [];
348
+ const settled = [];
349
+ // One carrier at a time, and each one re-reads the chain: publishing a
350
+ // successor changes which notes are in force, so a second carrier resolved
351
+ // against the first reading would decide against a chain that no longer is.
352
+ for (const carrierId of carriersOf(input.declarations)) {
353
+ const landed = await settleOneCarrier(fs, paths, input, lineage, carrierId);
354
+ if (!landed.ok)
355
+ return landed;
356
+ if (landed.note !== null)
357
+ published.push(landed.note);
358
+ settled.push(...landed.settled);
359
+ }
360
+ const chain = await readNoteIndex(fs, input.root, lineage.indexPath, {
361
+ path: lineage.baseline.path,
362
+ number: lineage.baseline.number,
363
+ });
364
+ if (!chain.ok)
365
+ return noteFailure(chain.failures[0]);
366
+ const composed = composeEffectiveContract(lineage.baseline, chain.read.index.notes);
367
+ if (composed.status === "blocked")
368
+ return noteFailure(composed.failures[0]);
369
+ return {
370
+ ok: true,
371
+ published,
372
+ settled,
373
+ reconciliation: reconciliationOf(composed.contract, chain.read.index.notes, lineage.planText),
374
+ };
375
+ }
376
+ /** The carrier notes named by the declarations, in the order they first appear. */
377
+ function carriersOf(declarations) {
378
+ const seen = new Set();
379
+ const out = [];
380
+ for (const declaration of declarations) {
381
+ if (seen.has(declaration.note))
382
+ continue;
383
+ seen.add(declaration.note);
384
+ out.push(declaration.note);
385
+ }
386
+ return out;
387
+ }
388
+ /**
389
+ * The successor of ONE carrier note, published or recognized as already there.
390
+ *
391
+ * Extracted so the loop above reads as what it is — one settlement per carrier,
392
+ * in chain order — instead of interleaving four refusal shapes with the walk.
393
+ */
394
+ async function settleOneCarrier(fs, paths, input, lineage, carrierId) {
395
+ const chain = await readNoteIndex(fs, input.root, lineage.indexPath, {
396
+ path: lineage.baseline.path,
397
+ number: lineage.baseline.number,
398
+ });
399
+ if (!chain.ok)
400
+ return noteFailure(chain.failures[0]);
401
+ const composed = composeEffectiveContract(lineage.baseline, chain.read.index.notes);
402
+ if (composed.status === "blocked")
403
+ return noteFailure(composed.failures[0]);
404
+ const carrier = chain.read.index.notes.find((note) => note.id === carrierId);
405
+ if (carrier === undefined) {
406
+ return fail("SETTLEMENT_NOTE_ABSENT", `${carrierId} no está en la cadena de ${lineage.baseline.path}`, "el saldo se publica sobre la nota que cargaba la obligación: volvé a leer el tablero y reintentá");
407
+ }
408
+ // IN FORCE, and the composition is who says so — `applied` is the list of
409
+ // notes it really applied, so this is not a second derivation of the same
410
+ // question. Superseding a note somebody already superseded would put TWO
411
+ // successors of it in force, and the contract would hold its assertions and
412
+ // its obligations twice.
413
+ if (!composed.contract.applied.includes(carrierId)) {
414
+ const successor = chain.read.index.notes.find((note) => note.supersedes_note === carrierId);
415
+ // Already settled — by this run before it was interrupted, or by somebody
416
+ // else. That is the finished result, not a second successor to append.
417
+ if (successor !== undefined)
418
+ return { ok: true, note: successor, settled: [] };
419
+ return fail("SETTLEMENT_NOTE_ABSENT", `${carrierId} ya no está vigente en la cadena de ${lineage.baseline.path}`, "el saldo se publica sobre la nota vigente que cargaba la obligación: volvé a leer el tablero y reintentá");
420
+ }
421
+ const reading = reconciliationOf(composed.contract, chain.read.index.notes, lineage.planText);
422
+ const derived = deriveSettlementNote(carrier, input.declarations, {
423
+ ...input.execution(carrier),
424
+ date: input.date,
425
+ resolved: resolvedKinds(reading, carrierId),
426
+ });
427
+ if (!derived.ok)
428
+ return noteFailure(derived.failures[0]);
429
+ if (derived.draft === null)
430
+ return { ok: true, note: null, settled: [] };
431
+ const prepared = await prepareDecision(fs, {
432
+ root: input.root,
433
+ operation: "plan-exec.settlement-publication",
434
+ indexPath: lineage.indexPath,
435
+ baseline: lineage.baseline,
436
+ draft: derived.draft,
437
+ });
438
+ if (prepared.status === "blocked")
439
+ return noteFailure(prepared.failures[0]);
440
+ // Already in the chain by content identity: a run that published and died
441
+ // comes back to its own finished result, never to a twin note.
442
+ if (prepared.status === "already") {
443
+ return { ok: true, note: prepared.note, settled: [...derived.settled] };
444
+ }
445
+ const committed = await commitDecision(fs, paths, input.root, prepared.prepared);
446
+ if (!committed.ok)
447
+ return { ok: false, failure: committed.failure };
448
+ return { ok: true, note: committed.result.note, settled: [...derived.settled] };
449
+ }
450
+ /**
451
+ * The class the reconciliation read for each obligation of ONE note, by position.
452
+ *
453
+ * Both lists, because both are readings of the same chain: a compensation and a
454
+ * handoff are equally "what the board says this obligation is", and a successor
455
+ * that only knew about one of them would re-mint the other unclassed.
456
+ */
457
+ function resolvedKinds(reading, carrierId) {
458
+ const out = new Map();
459
+ for (const obligation of [...reading.pending, ...reading.handoffs]) {
460
+ if (obligation.by === carrierId)
461
+ out.set(obligation.index, obligation.kind);
462
+ }
463
+ return out;
464
+ }
326
465
  //# sourceMappingURL=plan-exec-decision-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-exec-decision-service.js","sourceRoot":"","sources":["../../src/application/plan-exec-decision-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-exec-decision-service.js","sourceRoot":"","sources":["../../src/application/plan-exec-decision-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { join } from "node:path";
2
+ import { normalizeCorrelativeInput } from "../domain/correlative.js";
3
+ import { checkSafeRelativePath } from "../domain/safe-path.js";
4
+ const DEFAULT_WORDING = {
5
+ outside: "",
6
+ ambiguous: "pasá la ruta exacta del plan",
7
+ };
8
+ export async function locatePlanDocument(fs, root, planDir, target, wording = DEFAULT_WORDING) {
9
+ const raw = target.trim();
10
+ if (raw.includes("/") || raw.endsWith(".md")) {
11
+ const safe = checkSafeRelativePath(raw);
12
+ if (!safe.ok) {
13
+ return {
14
+ ok: false,
15
+ reason: "invalid",
16
+ message: `'${target}' no es una ruta del workspace: ${safe.why}`,
17
+ action: `pasá la ruta del plan relativa al workspace ('${planDir}/NNN-plan-<slug>.md') o su correlativo`,
18
+ };
19
+ }
20
+ const expected = planDir.split("/");
21
+ const inside = safe.segments.length > expected.length &&
22
+ expected.every((segment, index) => safe.segments[index] === segment);
23
+ if (!inside) {
24
+ return {
25
+ ok: false,
26
+ reason: "invalid",
27
+ message: `'${safe.path}' no está bajo '${planDir}/'${wording.outside.length === 0 ? "" : `: ${wording.outside}`}`,
28
+ action: `pasá la ruta de un plan bajo '${planDir}/' o su correlativo`,
29
+ };
30
+ }
31
+ return { ok: true, path: safe.path };
32
+ }
33
+ const number = normalizeCorrelativeInput(raw);
34
+ if (number === null) {
35
+ return {
36
+ ok: false,
37
+ reason: "invalid",
38
+ message: `'${target}' no es ni una ruta ni un correlativo`,
39
+ action: `pasá la ruta del plan ('${planDir}/NNN-plan-<slug>.md') o su correlativo ('035')`,
40
+ };
41
+ }
42
+ const matches = await plansNumbered(fs, join(root, planDir), number);
43
+ const [first] = matches;
44
+ if (first === undefined) {
45
+ return {
46
+ ok: false,
47
+ reason: "absent",
48
+ message: `no hay ningún plan '${number}' en '${planDir}/'`,
49
+ action: "verificá el correlativo con 'aw status' o pasá la ruta exacta del plan",
50
+ };
51
+ }
52
+ if (matches.length > 1) {
53
+ return {
54
+ ok: false,
55
+ reason: "ambiguous",
56
+ message: `'${number}' nombra ${matches.length} documentos en '${planDir}/': ${matches.join(", ")}`,
57
+ action: wording.ambiguous,
58
+ };
59
+ }
60
+ return { ok: true, path: `${planDir}/${first}` };
61
+ }
62
+ /** File names of `planDir` that carry this correlative, in directory order. */
63
+ async function plansNumbered(fs, absoluteDir, number) {
64
+ let entries;
65
+ try {
66
+ entries = await fs.list(absoluteDir);
67
+ }
68
+ catch {
69
+ // A folder that is not there holds no plan: the caller reports the absence
70
+ // of the document, which is what a person can act on.
71
+ return [];
72
+ }
73
+ const named = new RegExp(`^${number}-.*\\.md$`);
74
+ return entries
75
+ .filter((entry) => entry.type === "file" && named.test(entry.name))
76
+ .map((entry) => entry.name);
77
+ }
78
+ //# sourceMappingURL=plan-locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-locator.js","sourceRoot":"","sources":["../../src/application/plan-locator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * WHO IS HOLDING A PLAN RIGHT NOW, read once for everybody who asks.
3
+ *
4
+ * Two very different commands need this same fact. `aw settle` needs it to
5
+ * refuse: settling underneath a live run would interleave two publications over
6
+ * one chain. The board needs it to name an exit: the way out of a pending
7
+ * obligation is that run's own next boundary when there is one, and `aw settle`
8
+ * when there is not — and a board that guessed would send somebody to the wrong
9
+ * half of that.
10
+ *
11
+ * Read from the same projection `aw status` and `aw resume` present, so "there
12
+ * is a run on this plan" is one answer and not two — and the command that comes
13
+ * back is the one that projection computed, because a run that still needs
14
+ * `--adopt` refuses a bare `advance`.
15
+ */
16
+ import { findActiveSessions } from "./checkpoint-service.js";
17
+ import { projectRun } from "./flow/run-projection.js";
18
+ /**
19
+ * Every live `plan-exec` run, by the plan it holds.
20
+ *
21
+ * Four readings, in this order and for these reasons:
22
+ *
23
+ * - a run whose state cannot be READ holds an unknown plan, so it counts. The
24
+ * safe half is the same one an unreadable decision chain gets: fail closed and
25
+ * name it, because acting underneath a state nobody can read is the precise
26
+ * interleaving this reading exists to prevent;
27
+ * - a run of ANY OTHER FLOW holds no plan at all. A `quick` or a `spec-refine`
28
+ * never fixes one, and treating it as a holder is how this reading came to
29
+ * claim every plan in the workspace;
30
+ * - a run whose journey is EXHAUSTED (`final`) holds nothing any more, even
31
+ * though its session was never closed. Counting it would leave `aw settle`
32
+ * useless in exactly the workspace it was built for — a plan blocked today,
33
+ * whose run finished long ago;
34
+ * - a `plan-exec` run with no scope yet may still fix THIS plan, so it counts
35
+ * too — said as what it is rather than as an unreadable state.
36
+ */
37
+ export async function readHoldingRuns(fs, paths) {
38
+ const byPlan = new Map();
39
+ let unreadable = null;
40
+ for (const session of await findActiveSessions(fs, paths)) {
41
+ const run = await projectRun(fs, paths, session.folder);
42
+ if (run === null)
43
+ continue;
44
+ if (run.flow === "?") {
45
+ unreadable ??= {
46
+ session: session.folder,
47
+ command: run.command,
48
+ why: "tiene un estado de corrida que no se puede leer, así que no se puede descartar que tenga este plan",
49
+ };
50
+ continue;
51
+ }
52
+ // El flujo se mira ANTES del scope, y el orden es el defecto que esto
53
+ // arregla: `scope` nace nulo y sólo lo fija la declaración de alcance de
54
+ // `plan-exec`, así que mirarlo primero convertía toda corrida de `quick`,
55
+ // `spec-refine` o `plan-new` en «una corrida ilegible» — y con eso en la
56
+ // dueña de TODO plan que nadie más nombrara. `aw settle` quedaba inservible
57
+ // en cualquier workspace con otra sesión abierta, que es el workspace normal
58
+ // y justo el que la orden existe para destrabar.
59
+ if (run.flow !== "plan-exec")
60
+ continue;
61
+ if (run.boundary === "final")
62
+ continue;
63
+ if (run.scope === null) {
64
+ // Una corrida de ejecución que todavía no fijó su plan puede fijar este,
65
+ // y ahí sí valdría la mitad segura — dicha por lo que es, no como una
66
+ // ilegibilidad que no existe.
67
+ unreadable ??= {
68
+ session: session.folder,
69
+ command: run.command,
70
+ why: "tiene una corrida de ejecución que todavía no fijó su plan, así que no se puede descartar que tome este",
71
+ };
72
+ continue;
73
+ }
74
+ // First writer wins: two runs over one plan is a condition the claims ledger
75
+ // refuses upstream, and picking the later one here would name the newer of
76
+ // two sessions that should not both exist.
77
+ if (!byPlan.has(run.scope.plan)) {
78
+ byPlan.set(run.scope.plan, {
79
+ session: session.folder,
80
+ command: reachedBy(run, session.folder),
81
+ why: `tiene una corrida de ejecución abierta sobre '${run.scope.plan}': su cierre salda sus propias obligaciones`,
82
+ });
83
+ }
84
+ }
85
+ return { byPlan, unreadable };
86
+ }
87
+ /**
88
+ * The command that takes SOMEBODY ELSE to this run.
89
+ *
90
+ * The projection's own `command` is what continues the run from inside it, and
91
+ * at an execution boundary that is the sealed invocation itself — `npm test --
92
+ * …` — which advances nothing on its own: it has to be run and its real output
93
+ * submitted. Handed to a stranger as a plan's route it would be a command that
94
+ * does not do what the row says, so an execution boundary is named by the
95
+ * directive that re-renders it. Every other boundary keeps the projection's own
96
+ * command, because a legacy run refuses a bare `advance` and only the projection
97
+ * knows that.
98
+ */
99
+ function reachedBy(run, folder) {
100
+ return run.boundary === "execution" ? `aw flow advance --code ${folder}` : run.command;
101
+ }
102
+ /**
103
+ * The run holding one plan, or `null`.
104
+ *
105
+ * A run that NAMES this plan is preferred over an unreadable one, because its
106
+ * refusal says which plan and which session — and the unreadable reading still
107
+ * applies to every plan no run named.
108
+ *
109
+ * The exact path is tried first, and a case-insensitive match is the fallback
110
+ * rather than the rule. On a case-insensitive filesystem — macOS by default —
111
+ * `docs/Plans/042.md` and `docs/plans/042.md` are ONE document that a run and a
112
+ * board can end up naming differently, and an exact comparison then reports "no
113
+ * run holds this plan" about a plan a run is holding: the precise interleaving
114
+ * the guard exists to prevent. On a filesystem where the two really are two
115
+ * files the fallback over-blocks instead, which is a refusal that names a real
116
+ * session — the safe half, and the same one an unreadable run gets.
117
+ */
118
+ export function holdingRunOf(runs, plan) {
119
+ const exact = runs.byPlan.get(plan);
120
+ if (exact !== undefined)
121
+ return exact;
122
+ const folded = plan.toLowerCase();
123
+ for (const [held, run] of runs.byPlan) {
124
+ if (held.toLowerCase() === folded)
125
+ return run;
126
+ }
127
+ return runs.unreadable;
128
+ }
129
+ //# sourceMappingURL=plan-open-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-open-run.js","sourceRoot":"","sources":["../../src/application/plan-open-run.ts"],"names":[],"mappings":"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"}