@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
@@ -2,10 +2,22 @@ import { CORRELATIVE_SOURCE, compareCorrelatives } from "../../domain/correlativ
2
2
  import { DEFAULT_CORE_DOCS_CANON } from "../../domain/docs-canon.js";
3
3
  import { parsePlanBaseline, specCriteria } from "../../domain/lineage.js";
4
4
  import { parseMdSectionBilingual, scanMarkdown } from "../markdown.js";
5
+ import { ACCEPTANCE_CRITERIA_KEY, functionalSections, } from "./spec-functional.js";
5
6
  // `Spec 011` / `spec 011` — a bare number is NOT evidence: `sesión 047` and
6
7
  // `baseline 044` would match it, and the whole point is to never guess.
7
8
  const SPEC_REFERENCE_RE = new RegExp(`\\bspec\\s+(${CORRELATIVE_SOURCE})\\b`, "gi");
8
9
  const DERIVED_FROM_RE = /derived from/i;
10
+ /**
11
+ * `> Standalone: <prosa>` — the marker a plan born in the host conversation
12
+ * carries instead of a `Derived from`.
13
+ *
14
+ * Same shape as the seal's own label, deliberately: fixed English label, one
15
+ * blockquote line, free prose after the colon. The `>` is part of the grammar —
16
+ * a sentence about the marker is not the marker — and the value is checked for
17
+ * content by the caller, because `\s*(.+?)\s*$` still matches a line whose
18
+ * whole value is whitespace.
19
+ */
20
+ const STANDALONE_LABEL = /^\s*>\s*Standalone:\s*(.+?)\s*$/i;
9
21
  /**
10
22
  * The spec a plan declares as its source, by NUMBER — resolving the number
11
23
  * against the real spec inventory belongs to the caller.
@@ -21,6 +33,15 @@ const DERIVED_FROM_RE = /derived from/i;
21
33
  * 3. An unambiguous `Spec NNN` reference inside `## Origin` — the weakest
22
34
  * accepted form, scoped to that section so a mention in `## Dependencies`
23
35
  * ("la spec 009 consumirá…") is never mistaken for provenance.
36
+ * 4. `> Standalone: <prosa>` in the header blockquote — the plan declaring that
37
+ * it has NO spec because it was born in the conversation. `standalone` is a
38
+ * diagnosis, not a defect: the board routes it and the deviation gate lets it
39
+ * register decisions, neither of which `absent` may do.
40
+ *
41
+ * The order is what makes level 4 safe to add. It is read LAST, so a plan that
42
+ * carries both the marker and real spec evidence resolves to its spec and the
43
+ * marker stays inert — the marker can never demote a declared lineage, and
44
+ * nothing has to be said about a document that contradicts itself.
24
45
  *
25
46
  * Two different specs at the same level is `ambiguous`, not a coin flip:
26
47
  * a human wrote something contradictory and only a human should settle it.
@@ -41,7 +62,7 @@ export function parseSpecRelation(text, specDir = DEFAULT_CORE_DOCS_CANON.spec)
41
62
  return { status: "declared", number: first, evidence };
42
63
  return { status: "ambiguous", numbers, evidence };
43
64
  }
44
- return { status: "absent" };
65
+ return declaresStandalone(text) ? { status: "standalone" } : { status: "absent" };
45
66
  }
46
67
  /**
47
68
  * The baseline a plan sealed: WHICH bytes of its spec it was derived from.
@@ -87,10 +108,100 @@ export function parseDerivedFromPath(text, specDir = DEFAULT_CORE_DOCS_CANON.spe
87
108
  const unique = [...new Set(found)];
88
109
  return unique.length === 1 ? unique[0] : null;
89
110
  }
90
- /** The acceptance criteria a spec states, in order and without duplicates. */
91
- export function parseSpecCriteria(text) {
92
- const { lines, fenced } = scanMarkdown(text);
93
- return specCriteria(lines, fenced);
111
+ /**
112
+ * The acceptance criteria a spec states, in document order and without
113
+ * duplicates — addressable with the ONE grammar (`S033/AC-01`).
114
+ *
115
+ * Two harvests of the same closed grammar, united:
116
+ *
117
+ * 1. every literal `S{NNN}/AC-nn` the document mentions, anywhere — what the
118
+ * design subsystem already read, unchanged;
119
+ * 2. when `specNumber` is given, the LABELS inside `## Acceptance criteria` —
120
+ * every appearance of it, located by the same function the SEAL uses:
121
+ * `- [ ] AC-01: …` states criterion `S{NNN}/AC-01` of that spec.
122
+ *
123
+ * The second half is why a decision note can exist at all. Real specs rotulate
124
+ * their criteria the way doctrine's own template does — with the bare label —
125
+ * so harvesting only form 1 returned `[]` for them, every note addressing a
126
+ * criterion blocked as `CONTRACT_ASSERTION_ABSENT` ("the spec does not state
127
+ * it", about a spec that states it), and the deviation gate's composable exit
128
+ * was closed for every spec in existence.
129
+ *
130
+ * Both forms produce the SAME id, and the dedupe is what lets a spec label a
131
+ * criterion and mention it in `## Scenarios` without stating it twice.
132
+ *
133
+ * `specNumber` must be the three-digit correlative the grammar admits: `S` plus
134
+ * three digits is the whole vocabulary, so a four-digit correlative cannot form
135
+ * a valid id and derives nothing rather than emitting one nobody can address.
136
+ * Without `specNumber` the answer is byte-identical to harvest 1 alone.
137
+ */
138
+ export function parseSpecCriteria(text, specNumber) {
139
+ const { lines, fenced, headings } = scanMarkdown(text);
140
+ if (specNumber === undefined || !/^\d{3}$/.test(specNumber)) {
141
+ return specCriteria(lines, fenced);
142
+ }
143
+ const checklists = criteriaSections(headings, lines.length);
144
+ const seen = new Set();
145
+ const out = [];
146
+ const add = (id) => {
147
+ if (seen.has(id))
148
+ return;
149
+ seen.add(id);
150
+ out.push(id);
151
+ };
152
+ for (const [index, line] of lines.entries()) {
153
+ if (line === undefined || fenced[index] === true)
154
+ continue;
155
+ // The mention harvest, asked one line at a time: the union comes out in
156
+ // document order and the grammar still lives in exactly one place.
157
+ for (const id of specCriteria([line], [false]))
158
+ add(id);
159
+ if (!checklists.some((section) => index >= section.start && index < section.end))
160
+ continue;
161
+ const label = LABELLED_AC.exec(line)?.[1];
162
+ if (label !== undefined)
163
+ add(`S${specNumber}/${label}`);
164
+ }
165
+ return out;
166
+ }
167
+ /**
168
+ * A checklist item whose label IS its criterion: `- [ ] AC-01:`, `- [x] **AC-02**:`,
169
+ * `- [ ] AC-CAP-03.`
170
+ *
171
+ * Anchored at the item marker, so the older `- [ ] **S013/AC-CAP-01:**` does not
172
+ * match here — it is already harvest 1, and matching both would be one criterion
173
+ * counted twice under two spellings.
174
+ *
175
+ * The three Markdown bullet markers, the same ones the payload's tick
176
+ * normalization accepts: what the SEAL digests as contract is every line of the
177
+ * section whatever its marker, so recognizing only `-` here would make
178
+ * `* [ ] AC-04: …` contract and unaddressable at once — a note amending it dies
179
+ * in `CONTRACT_ASSERTION_ABSENT` about a criterion its own spec states.
180
+ *
181
+ * The label ends at a TOKEN BOUNDARY rather than at a closed set of delimiters,
182
+ * for that same reason one level down. The doctrine recommends EARS
183
+ * (`- [ ] AC-01 WHEN … THEN …`) and this project writes `- [ ] AC-01 — outcome`:
184
+ * demanding `:` or `.` right after the label would seal both as contract and
185
+ * leave them unaddressable. The lookahead still refuses `AC-01abc` and
186
+ * `AC-01-2`, which are not ids this grammar can form.
187
+ */
188
+ const LABELLED_AC = /^\s*[-*+]\s*\[[ xX]\]\s*\*{0,2}(AC-(?:[A-Z]+-)?\d+)\*{0,2}(?![0-9A-Za-z-])/;
189
+ /**
190
+ * Every `## Acceptance criteria` section of the spec, in document order.
191
+ *
192
+ * Bounded because a bare label only means a criterion THERE: `- [ ] AC-01: …`
193
+ * inside `## Open questions` is a question about a criterion, and a checklist in
194
+ * `## Validations` is work to do.
195
+ *
196
+ * ALL of them, and located by {@link functionalSections} — the very function the
197
+ * SEAL uses to decide which text is contract. Two answers to "where are the
198
+ * criteria" is how one half of the lineage seals a criterion the other half
199
+ * cannot address: a spec whose checklist is split in two blocks would have its
200
+ * second block digested as contract while a note amending anything in it is
201
+ * refused as absent from the spec, and the plan never closes.
202
+ */
203
+ function criteriaSections(headings, total) {
204
+ return functionalSections(headings, total).filter((section) => section.key === ACCEPTANCE_CRITERIA_KEY);
94
205
  }
95
206
  /**
96
207
  * Spec paths on the `Derived from` lines of the header blockquote — the block
@@ -112,6 +223,32 @@ function derivedFromNumbers(text, specPath) {
112
223
  }
113
224
  return dedupe(found);
114
225
  }
226
+ /**
227
+ * Whether the plan DECLARES itself standalone in its header blockquote.
228
+ *
229
+ * Bounded exactly where `Derived from` and `> Baseline:` are bounded — between
230
+ * the title and the first `##`, fences excluded — because that is the one place
231
+ * a plan speaks about its own provenance. Anywhere else the same words are prose
232
+ * ABOUT the marker: a plan explaining in `## Origin` that "los planes standalone
233
+ * llevan `> Standalone: …`" is documenting the grammar, not adopting it.
234
+ *
235
+ * A marker with no value (`> Standalone:`) declares nothing, so it is not one.
236
+ * The point of the value is that the next reader learns WHERE the plan came from
237
+ * without a spec to open, and an empty label answers that with silence.
238
+ */
239
+ function declaresStandalone(text) {
240
+ const { lines, fenced, headings } = scanMarkdown(text);
241
+ const firstSection = headings.find((h) => h.level >= 2);
242
+ const end = firstSection?.line ?? lines.length;
243
+ for (let i = 0; i < end; i += 1) {
244
+ const line = lines[i];
245
+ if (line === undefined || fenced[i] === true)
246
+ continue;
247
+ if ((STANDALONE_LABEL.exec(line)?.[1] ?? "").trim().length > 0)
248
+ return true;
249
+ }
250
+ return false;
251
+ }
115
252
  /** Match a spec path under the workspace's declared documentary canon. */
116
253
  function specPathPattern(specDir) {
117
254
  const escaped = specDir.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
@@ -1 +1 @@
1
- {"version":3,"file":"spec-relation.js","sourceRoot":"","sources":["../../../src/application/parsers/spec-relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-relation.js","sourceRoot":"","sources":["../../../src/application/parsers/spec-relation.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,19 @@ export class PathsService {
83
83
  cwdSessionBindingsFile() {
84
84
  return join(this.cwdSessionsDir(), ".bindings.json");
85
85
  }
86
+ /**
87
+ * Where a lifecycle surface parks a CHECKPOINT it could not file.
88
+ *
89
+ * Dot-prefixed for the same reason as the two entries around it:
90
+ * `listSessionFolders` skips dot-prefixed entries, so a refuge is never read
91
+ * as a session — which matters more here than anywhere else, because what
92
+ * lands in this directory is precisely the state of a conversation whose
93
+ * session could NOT be resolved. It is inside `.${ns}/sessions/`, so the
94
+ * gitignore the CLI manages already covers it.
95
+ */
96
+ cwdSessionsRefugeDir() {
97
+ return join(this.cwdSessionsDir(), ".refuge");
98
+ }
86
99
  /**
87
100
  * Monotone attempt counters of the flow runs, one file per session folder.
88
101
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths-service.js","sourceRoot":"","sources":["../../src/application/paths-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths-service.js","sourceRoot":"","sources":["../../src/application/paths-service.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { reconciliationOf } from "../domain/reconciliation.js";
16
16
  import { noteIndexPath, readNoteIndex } from "./decision-note-service.js";
17
17
  import { commitDecision, prepareDecision, } from "./decision-registration-service.js";
18
18
  import { DEFAULT_DOCS_CANON } from "./docs-canon-service.js";
19
+ import { functionalSpecDigest } from "./parsers/spec-functional.js";
19
20
  import { parseDerivedFromPath, parseSpecCriteria, parseSpecRelation, } from "./parsers/spec-relation.js";
20
21
  /**
21
22
  * Resolve fact/preference/reuse and, only for a real preference, build the
@@ -124,7 +125,7 @@ export async function commitPlanExecDecision(fs, paths, root, prepared) {
124
125
  });
125
126
  if (!chain.ok)
126
127
  return noteFailure(chain.failures[0]);
127
- const composed = composeEffectiveContract(prepared.baseline, chain.read.index.notes);
128
+ const composed = composeEffectiveContract(await withLegacyDigest(fs, root, prepared.baseline), chain.read.index.notes);
128
129
  if (composed.status === "blocked")
129
130
  return noteFailure(composed.failures[0]);
130
131
  return {
@@ -145,6 +146,17 @@ export async function commitPlanExecDecision(fs, paths, root, prepared) {
145
146
  * choice would turn a moved baseline into an invisible different preview.
146
147
  */
147
148
  export async function commitStoredPlanExecDecision(fs, paths, root, preparation) {
149
+ // Nothing durable to commit, and nothing to re-read: the standalone record IS
150
+ // what the gate showed. It returns before `commitDecision` on purpose — a note
151
+ // written here would be a decision about a contract that does not exist.
152
+ if (preparation.kind === "standalone") {
153
+ return {
154
+ ok: true,
155
+ kind: "standalone",
156
+ decision: preparation.decision,
157
+ resume_point: preparation.resume_point,
158
+ };
159
+ }
148
160
  if (preparation.kind === "settled")
149
161
  return { ok: true, kind: "settled" };
150
162
  if (preparation.kind === "reused") {
@@ -167,6 +179,33 @@ export async function commitStoredPlanExecDecision(fs, paths, root, preparation)
167
179
  indexPath: preparation.index_path,
168
180
  });
169
181
  }
182
+ /**
183
+ * The baseline with the spec's exact-bytes digest alongside its functional one.
184
+ *
185
+ * Needed because the baseline a run PERSISTED before its human gate carries only
186
+ * the functional digest (that is the durable shape, and widening it would change
187
+ * a format for a value that is a pure function of the spec as it reads now). Re-
188
+ * deriving it here is not a re-preview: `digest` and `criteria` are used exactly
189
+ * as they were authorized, and only the tolerance for a note pinned before the
190
+ * functional payload existed is restored — without it, `commitDecision` would
191
+ * WRITE the note and only then refuse to compose the chain it just joined.
192
+ *
193
+ * An unreadable spec degrades to the baseline as given: the composition below
194
+ * then refuses on its own terms, which is the same answer, one step later.
195
+ */
196
+ async function withLegacyDigest(fs, root, baseline) {
197
+ if (baseline.legacy_digest !== undefined)
198
+ return baseline;
199
+ try {
200
+ return {
201
+ ...baseline,
202
+ legacy_digest: specBaselineDigest(await fs.readText(join(root, baseline.path))),
203
+ };
204
+ }
205
+ catch {
206
+ return baseline;
207
+ }
208
+ }
170
209
  async function readLineage(fs, input) {
171
210
  let planText;
172
211
  try {
@@ -178,7 +217,11 @@ async function readLineage(fs, input) {
178
217
  const relation = parseSpecRelation(planText);
179
218
  const specPath = parseDerivedFromPath(planText);
180
219
  if (relation.status !== "declared" || specPath === null) {
181
- return fail("FLOW_DECISION_LINEAGE_INVALID", "el plan de la corrida no declara una única spec de origen", "abrí el plan con /w:plan-refine y declarale un único 'Derived from docs/specs/NNN-spec-…' antes de registrar una decisión");
220
+ // Reserved for the plan that SHOULD name a spec and does not: absent or
221
+ // contradictory evidence. A plan that declares itself standalone never gets
222
+ // here — the gate registers its decision in the session — so the action names
223
+ // both exits instead of demanding a lineage the document may not have.
224
+ return fail("FLOW_DECISION_LINEAGE_INVALID", "el plan de la corrida no declara una única spec de origen", "abrí el plan con /w:plan-refine y declarale un único 'Derived from docs/specs/NNN-spec-…'; si nació de la conversación y no deriva de ninguna spec, declaralo con '> Standalone: <de dónde salió>' en su cabecera");
182
225
  }
183
226
  let specText;
184
227
  try {
@@ -199,10 +242,20 @@ async function readLineage(fs, input) {
199
242
  ok: true,
200
243
  value: {
201
244
  baseline: {
245
+ // The FUNCTIONAL digest, which is also what the board reports for an
246
+ // aligned plan — including one whose seal is the legacy byte-exact one.
247
+ // A note pinning anything else would read, the instant it is published,
248
+ // as deciding on a baseline that is no longer in force.
202
249
  path: specPath,
203
250
  number: relation.number,
204
- digest: specBaselineDigest(specText),
205
- criteria: parseSpecCriteria(specText),
251
+ digest: functionalSpecDigest(specText),
252
+ // And the exact bytes alongside it, which is what every note published
253
+ // BEFORE the functional payload pinned: composing this chain against the
254
+ // functional digest alone would refuse an old note over a spec nobody
255
+ // touched, and that refusal has no repair (the substitute note it asks
256
+ // for cannot be prepared — this very composition runs first).
257
+ legacy_digest: specBaselineDigest(specText),
258
+ criteria: parseSpecCriteria(specText, relation.number),
206
259
  },
207
260
  planNumber,
208
261
  planText,
@@ -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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"}