@tacuchi/agent-workflow-cli 22.0.1 → 22.2.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.
- package/dist/application/decision-note-service.js +154 -0
- package/dist/application/decision-note-service.js.map +1 -0
- package/dist/application/decision-registration-service.js +124 -0
- package/dist/application/decision-registration-service.js.map +1 -0
- package/dist/application/docs-canon-service.js +13 -2
- package/dist/application/docs-canon-service.js.map +1 -1
- package/dist/application/flow/submit.js +78 -9
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/parsers/spec-relation.js +50 -0
- package/dist/application/parsers/spec-relation.js.map +1 -1
- package/dist/application/resume-service.js +45 -62
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +297 -32
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/resume.js +20 -3
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/status.js +57 -8
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/domain/decision-choice.js +71 -0
- package/dist/domain/decision-choice.js.map +1 -0
- package/dist/domain/decision-note.js +235 -0
- package/dist/domain/decision-note.js.map +1 -0
- package/dist/domain/decision-preview.js +159 -0
- package/dist/domain/decision-preview.js.map +1 -0
- package/dist/domain/design/governance.js +2 -4
- package/dist/domain/design/governance.js.map +1 -1
- package/dist/domain/effective-contract.js +138 -0
- package/dist/domain/effective-contract.js.map +1 -0
- package/dist/domain/flow/authority.js +113 -7
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/run-state.js +66 -15
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/lineage.js +190 -0
- package/dist/domain/lineage.js.map +1 -0
- package/dist/domain/proposal.js +18 -0
- package/dist/domain/proposal.js.map +1 -1
- package/dist/domain/reconciliation.js +50 -0
- package/dist/domain/reconciliation.js.map +1 -0
- package/dist/domain/sealed-record.js +19 -0
- package/dist/domain/sealed-record.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/commands/resume.md +19 -12
- package/skills/w/commands/status.md +9 -5
- package/skills/w/commands/workspace-init.md +6 -6
- package/skills/w/context/MANIFEST.json +10 -0
- package/skills/w/loops/plan-exec-loop/LOOP.md +37 -12
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"quick.deliverable-is-analysis": "what the task produces is an analysis or a design, so its criterion is a rubric a person ratifies",
|
|
33
33
|
"spec.functional-ambiguity": "a functional ambiguity with two readings that would change what gets built is blocking this spec",
|
|
34
34
|
"spec.solution-space-unexplored": "a trigger of the ideation gate fires: the spec settled on its first idea and the alternatives would change the outcome",
|
|
35
|
+
"spec.escalation-adopted": "this refine consumed the escalation package an execution handed over, instead of re-deriving its diagnosis",
|
|
36
|
+
"spec.escalation-absent": "no escalation package reached this refine, so it starts from the spec alone",
|
|
35
37
|
"spec.independent-outcomes": "the prompt holds outcomes each worth delivering on its own",
|
|
36
38
|
"spec.enumerated-features": "the prompt enumerates distinct features explicitly",
|
|
37
39
|
"spec.distinct-moments": "the parts are requested for different moments or in a stated order",
|
|
@@ -50,6 +52,14 @@
|
|
|
50
52
|
"plan.entry-gap-structural": "phases, contracts or journey are missing, or temporary behavior leaves its boundary undeclared",
|
|
51
53
|
"plan.deviation-structural": "the change that appeared while implementing touches a contract, the participating components, the phase order or the simulation boundary",
|
|
52
54
|
"plan.deviation-functional": "the change that appeared while implementing touches the expected result, the scope, a business rule or an acceptance criterion",
|
|
55
|
+
"plan.deviation-composable": "the change keeps the functional lineage and can be reconciled forward as a durable decision note instead of returning to a refine",
|
|
56
|
+
"plan.deviation-escalation": "what was found does not compose against this lineage and belongs to a spec of its own",
|
|
57
|
+
"plan.closure-lineage": "the divergence stays inside the same functional lineage: it amends how the promise is met, not who promised it",
|
|
58
|
+
"plan.closure-intent": "the intent behind the divergence is settled, so nothing further has to be elicited before deciding",
|
|
59
|
+
"plan.closure-impact": "the transitive impact can be enumerated: every consumer the decision reaches is nameable",
|
|
60
|
+
"plan.closure-recoverable": "the result can be sealed and recovered: an identical retry gives the same outcome and a failure leaves nothing half-written",
|
|
61
|
+
"plan.escalation-adopted": "this refine consumed the escalation package an execution handed over, instead of re-deriving its diagnosis",
|
|
62
|
+
"plan.escalation-absent": "no escalation package reached this refine, so it starts from the document alone",
|
|
53
63
|
"chassis.context-pressure": "a fresh reader would need the CHECKPOINT to continue this run",
|
|
54
64
|
"plan.tasks-to-mark": "at least one task of the batch finished its local work and its checkbox is still open",
|
|
55
65
|
"plan.plan-closable": "every phase of the plan will be validated once this batch closes, so the plan can be sealed done",
|
|
@@ -139,22 +139,47 @@ reconciliation** in `CHECKPOINT`, never reported as published.
|
|
|
139
139
|
|
|
140
140
|
## Deviation gate
|
|
141
141
|
|
|
142
|
-
Execution resolves **detail**, never **redesign
|
|
142
|
+
Execution resolves **detail**, never **redesign** — and between those two there is a third thing: a
|
|
143
|
+
divergence that keeps the functional lineage and can be reconciled **forward**.
|
|
144
|
+
This gate lives **only** in this loop — the chassis does not carry it. It has **four** exits, and the
|
|
145
|
+
run stops at it: declaring a deviation no longer carries on to the commit by itself.
|
|
143
146
|
|
|
144
|
-
- **Local decision — `plan-exec` continues.** A class or method name; a local helper; internal code layout; imports; a choice between equivalent APIs already allowed; a fix needed to compile; a minor refactor that does not move the journey; one extra focused test for a risk found while implementing.
|
|
147
|
+
- **Local decision — `plan-exec` continues.** A class or method name; a local helper; internal code layout; imports; a choice between equivalent APIs already allowed; a fix needed to compile; a minor refactor that does not move the journey; one extra focused test for a risk found while implementing. Declares **no signal** — the gate is not raised — and is recorded in `DECISION` only when it is not obvious.
|
|
148
|
+
- **Composable decision — a note is registered and execution continues.** The change amends how the promise is met without changing who promised it. It is the only exit that writes a **decision note**, and it is available **only** when all four closures hold (below). The spec and the plan stay byte-exact.
|
|
145
149
|
- **Structural deviation — stop and return to `plan-refine`.** Stop when the change touches: an input or output; an observable state; a relevant endpoint or public contract; the set of participating components or repositories; the phase order; the simulation boundary; the integration strategy; a material dependency; the main persistence mechanism; a phase already `validada`; the evidence needed to demonstrate the result. A decision that substantially expands or shrinks the work counts too.
|
|
146
150
|
- **Functional change — return to `spec-refine`.** Stop when the change touches: the expected result; the functional scope; a business rule; an acceptance criterion; the actor or consumer; or a product decision.
|
|
147
151
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
152
|
+
**Eligibility is closure, never size.** The composable exit opens only when the four close: the
|
|
153
|
+
divergence stays in the **same functional lineage**; its **intent is settled**, so nothing further has
|
|
154
|
+
to be elicited; its **transitive impact can be enumerated**, every consumer nameable; and its
|
|
155
|
+
**result can be sealed and recovered**, so an identical retry gives the same outcome and a failure
|
|
156
|
+
leaves nothing half-written. Counts — of criteria, phases or repositories — are reported and decide
|
|
157
|
+
nothing: a divergence touching one criterion that closes three of the four is not composable, and one
|
|
158
|
+
touching nine that closes all four is.
|
|
159
|
+
|
|
160
|
+
> **Which exit the run takes is the person's, and which are offered is not this document's call:** the deterministic steps below are decided by the CLI (`aw flow advance`), not by this document. Recognizing the divergence and closing its eligibility are judgment; counting the closures and raising the choice are a rule.
|
|
161
|
+
|
|
162
|
+
On any exit that leaves the phase: `CHECKPOINT` records the state reached and the trigger, the phase
|
|
163
|
+
keeps the state it really has (`en ejecución` or `bloqueada`, never `validada`), and the working tree
|
|
164
|
+
is left committed or acknowledged (Delta 2). On the two return paths and on an escalation, the
|
|
165
|
+
**escalation package** travels with it — diagnosis, decisions already taken, evidence gathered and the
|
|
166
|
+
return point — and the destination **declares that it consumed it**, so returning never costs redoing
|
|
167
|
+
the analysis execution had already done. Resuming later over the corrected plan is a normal
|
|
168
|
+
`create_or_resume`.
|
|
169
|
+
|
|
170
|
+
**More than one divergence may appear in a run, and every one is kept.** A later recognition never
|
|
171
|
+
erases an earlier one.
|
|
172
|
+
|
|
173
|
+
| Finding | `plan-exec` | note | `plan-refine` | `spec-refine` |
|
|
174
|
+
|---|---|---|---|---|
|
|
175
|
+
| Rename a helper · internal implementation · test for a local risk | continues | — | — | — |
|
|
176
|
+
| Same promise, different route, four closures held | continues | yes | — | — |
|
|
177
|
+
| Change the public DTO | stops | — | yes | yes, if behavior changes |
|
|
178
|
+
| Add a participating repository | stops | — | yes | — |
|
|
179
|
+
| Move the simulation to another boundary | stops | — | yes | — |
|
|
180
|
+
| Change the phase order | stops | — | yes | — |
|
|
181
|
+
| Add a functional rule · change an acceptance criterion | stops | — | — | yes |
|
|
182
|
+
| Does not compose against this lineage at all | stops | — | — | a spec of its own |
|
|
158
183
|
|
|
159
184
|
## Delta 2 — Git policy: **safe branch + proposed commits**
|
|
160
185
|
|