@sabaiway/agent-workflow-engine 1.10.0 → 1.12.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/CHANGELOG.md +35 -0
- package/SKILL.md +1 -1
- package/capability.json +1 -1
- package/package.json +1 -1
- package/references/planning.md +3 -1
- package/references/procedures.md +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,41 @@ All notable changes to the methodology engine. Versions are this **package's** n
|
|
|
4
4
|
they are distinct from the **deployment-lineage** stamp written into a project's `docs/ai/`
|
|
5
5
|
(which tracks the shared `agent-workflow` lineage, head `1.3.0`).
|
|
6
6
|
|
|
7
|
+
## 1.12.0 — Plans carry a home for review-settled decisions (§7 optional `## Decisions (locked)`)
|
|
8
|
+
|
|
9
|
+
A **feature** release (canon text + its tests; installer unchanged; deployment-lineage head stays
|
|
10
|
+
`1.3.0` — no migration). Decisions a plan's review loop SETTLED (fixtures, contracts, boundary
|
|
11
|
+
clauses) now have a canonical, machine-extractable home:
|
|
12
|
+
|
|
13
|
+
- **`references/planning.md` §7** — the plan-document structure gains one optional row after
|
|
14
|
+
`## Approach`: `## Decisions (locked) ← optional: settled, binding decisions the executor must
|
|
15
|
+
not re-litigate`. The heading string is load-bearing: the kit's grounded-review facts assembler
|
|
16
|
+
(`grounding.mjs`, AD-038) extracts the section by exact-heading match.
|
|
17
|
+
- **`references/planning.md` §8** — one checklist bullet: decisions the review loop settled live
|
|
18
|
+
under the optional `## Decisions (locked)` heading — binding for the executor, never re-litigated
|
|
19
|
+
at Execute.
|
|
20
|
+
- **`test/planning-canon.test.mjs`** — pins the exact §7 row (heading + optional + executor-binding
|
|
21
|
+
wording, positioned after `## Approach`) and the §8 mention.
|
|
22
|
+
|
|
23
|
+
## 1.11.0 — Plans carry only checked syntax (the §9 checked-vs-unchecked boundary)
|
|
24
|
+
|
|
25
|
+
A **feature** release (canon text + its tests; installer unchanged). The §9 "No code-mechanics in
|
|
26
|
+
the plan" rule now names a hard discriminator for what syntax plan prose may carry:
|
|
27
|
+
|
|
28
|
+
- **`references/planning.md` §9 (B5)** — **checked syntax**: a Step's exact paths + commands stay
|
|
29
|
+
REQUIRED (§7/§8) and count as checked because the plan's own Verification runs them against an
|
|
30
|
+
explicit expected outcome or gate — merely running without asserting checks nothing; the only
|
|
31
|
+
other syntax a plan may carry is a literal fixture/schema fragment a named test copies or
|
|
32
|
+
validates. **Un-run, logic-bearing syntax** — control-flow, a regex, a glob, a grammar, an
|
|
33
|
+
algorithm body, a mini-DSL, anything that transforms data or evaluates a condition — never lives
|
|
34
|
+
in plan prose, however plausible or shell-verified it looks ("I ran it in my shell" is not a
|
|
35
|
+
checker): a fold or draft that wants one writes the red→green test-as-spec at Execute instead.
|
|
36
|
+
- **`references/procedures.md` plan-authoring step 5** — the terse mirror of the same boundary at
|
|
37
|
+
the point of use (the kit advisor prints this section verbatim).
|
|
38
|
+
- **Lockstep tests** — `planning-canon.test.mjs` (§9 it-block) and `procedures-canon.test.mjs`
|
|
39
|
+
(Set-1) pin the two new tokens `checked syntax` + `logic-bearing`; non-vacuity proven by an
|
|
40
|
+
injected red→green in both guards.
|
|
41
|
+
|
|
7
42
|
## 1.10.0 — Cost-lane vocabulary in the orchestration canon (§5)
|
|
8
43
|
|
|
9
44
|
A **feature** release (canon text + its tests; installer unchanged). Work now has named **cost
|
package/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: agent-workflow-engine
|
|
|
3
3
|
description: Canonical home of the agent-workflow planning methodology — the Plan→Phase→Step→Substep vocabulary, plan lifecycle, queue.md series index, mandatory Cleanup phase, the bounded methodology slot fragment, the orchestration-recipe vocabulary (Solo / Reviewed / Council / Delegated), and the activity-procedures canon (plan-authoring / plan-execution, with typed recipe slots). A published, installable npm package (available:true) that *provides* the methodology text; it mutates nothing. The composition root (agent-workflow-kit) reads this canon LIVE from the installed engine and injects the bounded slots from it — one source of truth, no bundled mirror; `npx @sabaiway/agent-workflow-kit@latest init` installs the engine.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
metadata:
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.12.0'
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# agent-workflow-engine
|
package/capability.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sabaiway/agent-workflow-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Canonical home of the agent-workflow planning methodology — the Plan→Phase→Step vocabulary, plan lifecycle, queue.md series index, and mandatory Cleanup phase, consumed by the kit (composition root). The methodology engine of the agent-workflow family.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
package/references/planning.md
CHANGED
|
@@ -89,6 +89,7 @@ A harness "approved — you can now start coding" prompt (e.g. Claude Code's **E
|
|
|
89
89
|
|
|
90
90
|
## Context ← why this Plan exists, current state, why now (reads cold)
|
|
91
91
|
## Approach ← chosen design + an explicit "What we are NOT doing"
|
|
92
|
+
## Decisions (locked) ← optional: settled, binding decisions the executor must not re-litigate
|
|
92
93
|
## Phase 1: <name>
|
|
93
94
|
### 1.1. <step> ← exact paths + commands
|
|
94
95
|
## Phase 2: <name>
|
|
@@ -108,6 +109,7 @@ A harness "approved — you can now start coding" prompt (e.g. Claude Code's **E
|
|
|
108
109
|
- If part of a series: `queue.md` is initialised / updated (§3).
|
|
109
110
|
- No `git add <plan>` and no "commit the plan" wording in the final report.
|
|
110
111
|
- Every code-touching decision cites the `file:line` it is grounded in; the plan stays at intent / invariant / acceptance altitude, leaving fine code-mechanics to Execute (§9).
|
|
112
|
+
- Decisions the review loop SETTLED (fixtures, contracts, boundary clauses) live under the optional `## Decisions (locked)` heading (§7) — binding for the executor, never re-litigated at Execute.
|
|
111
113
|
|
|
112
114
|
## 9. Right-altitude & code-grounded folds
|
|
113
115
|
|
|
@@ -115,7 +117,7 @@ These disciplines keep a plan converging instead of churning, and keep a fold or
|
|
|
115
117
|
|
|
116
118
|
**Right altitude.** A plan pins *intent + architecture + invariants + acceptance criteria* — the named tests that must stay green and the new tests that must pass. It does NOT spell out fine code-mechanics in prose: those are resolved in code at Execute (against the real files + the per-Step review + the gates), where prose cannot diverge from reality. Most "blockers" that resurface across review rounds are code-level details that never belonged in a prose plan.
|
|
117
119
|
|
|
118
|
-
**No code-mechanics in the plan.** A Step still carries its exact paths + commands (§7, §8); the
|
|
120
|
+
**No code-mechanics in the plan.** A Step still carries its exact paths + commands (§7, §8) — checked syntax: the plan's own Verification runs them against an explicit expected outcome or gate, and merely running without asserting checks nothing; the only other syntax a plan may carry is a literal fixture/schema fragment a named test copies or validates. Un-run, logic-bearing syntax — control-flow, a regex, a glob, a grammar, an algorithm body, a mini-DSL, anything that transforms data or evaluates a condition — never lives in plan prose, however plausible or shell-verified it looks ("I ran it in my shell" is not a checker): a fold or draft that wants one is the trigger to write the red→green test-as-spec at Execute instead.
|
|
119
121
|
|
|
120
122
|
**Fold by code, not prose.** Before folding any code-touching finding into the plan, READ the cited `file:line`; the fold cites it. A fold grounded in prose alone drifts from the code and seeds the next bug.
|
|
121
123
|
|
package/references/procedures.md
CHANGED
|
@@ -57,8 +57,10 @@ Produce a self-contained, cold-readable plan, reviewed to the configured depth b
|
|
|
57
57
|
**0 blockers + 0 majors** from every backend the recipe names (the convergence bar,
|
|
58
58
|
[`planning.md`](planning.md) §9); folding ≠ convergence — re-review after folding. Fold a
|
|
59
59
|
code-touching finding **test-as-spec** (a named acceptance test, not a prose paragraph); a fold must
|
|
60
|
-
add **no code-mechanics** to the plan — a Step still carries its own exact paths + commands
|
|
61
|
-
|
|
60
|
+
add **no code-mechanics** to the plan — a Step still carries its own exact paths + commands
|
|
61
|
+
(checked syntax: its Verification asserts an expected outcome), but un-run, logic-bearing syntax
|
|
62
|
+
(control-flow, a regex, a glob, a mini-DSL) never enters plan prose — a fold needing one is the
|
|
63
|
+
trigger to name the test instead. Council runs every named backend
|
|
62
64
|
**every round** (recipe fidelity,
|
|
63
65
|
[`orchestration.md`](orchestration.md) §4) — never quietly drop a ready backend. Cap architecture
|
|
64
66
|
plan-review at **≤2 rounds**, stopping at the **crossover** where **backend divergence** (one backend
|