@sabaiway/agent-workflow-engine 1.2.0 → 1.4.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 CHANGED
@@ -4,6 +4,50 @@ 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.4.0 — Durable session contracts in the canon: read-at-start, Definition of Done, communication
8
+
9
+ A **feature** release. The activity-procedures canon (`references/procedures.md`, read **live** by the
10
+ composition root) gains three durable-session contracts, and the two bounded slot fragments gain the
11
+ matching clauses so the composition root's canonical-refresh can push them to existing deployments:
12
+
13
+ - **Read-at-start.** The canon tells the agent to read the project's standing recipe preference in
14
+ `docs/ai/orchestration.json` at the start of a planning/execution session (set it with the `set-recipe`
15
+ writer) — no re-asking what is already configured.
16
+ - **plan-authoring Definition of Done.** A planning session must produce a self-contained plan **and** a
17
+ cold-start execution prompt for the next session — both **without the user asking**.
18
+ - **Communication contract.** User-facing messages deliver the artifact **inline** (never a bare "see
19
+ §X" as a substitute), lead with the result, with a large-artifact carve-out.
20
+ - **Slot fragments.** `orchestration-slot.md` gains the read-at-start clause (points at `set-recipe`);
21
+ `methodology-slot.md` gains the communication clause. Both stay one bounded content line, under the
22
+ deployed-`AGENTS.md` cap.
23
+
24
+ Generic as ever — no project release-publishing bake-in. The deployment-lineage head stays **`1.3.0`**
25
+ (stamp-independent reconciles reach the base; the engine **package** version is a separate axis).
26
+
27
+ ## 1.3.0 — Activity procedures: named, recipe-aware playbooks
28
+
29
+ The engine now also owns the **activity-procedures** canon — *how to perform* a named workflow
30
+ activity, as ordered steps with **typed recipe slots** that bind to the orchestration recipes (Solo /
31
+ Reviewed / Council / Delegated). Two v1 activities: **`plan-authoring`** (slot: `review`) and
32
+ **`plan-execution`** (slots: `execute`, `review`). The canon composes with `planning.md` (it binds to
33
+ the §7 structure, §8 self-review, and §4 Cleanup without restating them) and stays **generic** — it
34
+ bakes in no single project's stages, deferring any project-declared release/publishing to that
35
+ project's `workflow:methodology` slot. The kit reads this canon **live** and surfaces a read-only
36
+ `/agent-workflow-kit procedures <activity>` that renders the steps + the resolved effective recipe per
37
+ slot (from `docs/ai/orchestration.json` + backend readiness).
38
+
39
+ ### Added
40
+ - **`references/procedures.md`** — the canonical activity-procedures canon: `plan-authoring` +
41
+ `plan-execution` as `## <activity>` sections, each opening with a machine-parseable `Slots:` line
42
+ (the only line the kit parses, drift-guarded against its activity table). It carries the
43
+ load-bearing "Delegated → dispatch execution first" rule and restates the commit contract as a
44
+ commit-BOUNDARY rule (when an activity has a commit boundary the orchestrator owns that commit; a
45
+ backend never commits — `plan-authoring` ends at approval with no commit, `plan-execution` commits
46
+ per Step).
47
+
48
+ The deployment-lineage head stays **`1.3.0`** (no `docs/ai` structural change; no migration file). The
49
+ npm package version is a separate axis.
50
+
7
51
  ## 1.2.0 — Orchestration recipes: a named vocabulary for composing the bridges
8
52
 
9
53
  The engine now also owns the **orchestration-recipe** canon — the named patterns an agent uses to
package/README.md CHANGED
@@ -50,12 +50,15 @@ the canonical methodology reference on disk:
50
50
  - [`references/orchestration-slot.md`](references/orchestration-slot.md) — the **bounded** one-line
51
51
  orchestration fragment the composition root injects into a deployed `AGENTS.md`, routing to the
52
52
  in-project recipes surface.
53
+ - [`references/procedures.md`](references/procedures.md) — the canonical **activity-procedures** canon:
54
+ the named activities (`plan-authoring`, `plan-execution`) as ordered steps with typed recipe slots,
55
+ read live and rendered by the read-only `/agent-workflow-kit procedures <activity>`.
53
56
 
54
57
  ## What this package ships
55
58
 
56
- `SKILL.md` (the canon overview + ownership rule), `references/` (the full methodology + orchestration
57
- references + the two bounded slot fragments), `capability.json` (the family manifest), and this
58
- installer. It ships **no** family-wide tooling (the schema/validator/injection live in the
59
+ `SKILL.md` (the canon overview + ownership rule), `references/` (the full methodology + the
60
+ orchestration + activity-procedures references + the two bounded slot fragments), `capability.json`
61
+ (the family manifest), and this installer. It ships **no** family-wide tooling (the schema/validator/injection live in the
59
62
  composition root) and mutates nothing — preserving "knows nobody".
60
63
 
61
64
  ## License
package/SKILL.md CHANGED
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: agent-workflow-engine
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, and the orchestration-recipe vocabulary (Solo / Reviewed / Council / Delegated). 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.
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.2.0'
6
+ version: '1.4.0'
7
7
  ---
8
8
 
9
9
  # agent-workflow-engine
@@ -34,6 +34,11 @@ slot fill is needed but the engine is absent, the kit's reconcile **fails loudly
34
34
  orchestration fragment the composition root injects into a deployed `AGENTS.md`, between the
35
35
  `<!-- workflow:orchestration:start -->` / `<!-- workflow:orchestration:end -->` markers. It names the
36
36
  four recipes and routes to `/agent-workflow-kit recipes`, never to this engine-internal reference.
37
+ - [`references/procedures.md`](references/procedures.md) — the canonical **activity-procedures** canon:
38
+ the ordered steps of the named activities (`plan-authoring`, `plan-execution`) with **typed recipe
39
+ slots** that bind to the orchestration recipes, composing with `planning.md` without restating it. It
40
+ stays generic (no project-specific stages baked in). The kit reads it live and renders the steps +
41
+ the resolved effective recipe per slot via the read-only `/agent-workflow-kit procedures <activity>`.
37
42
 
38
43
  ## Ownership rule (the engine knows nobody)
39
44
 
package/capability.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "schema": 1,
4
4
  "name": "agent-workflow-engine",
5
5
  "kind": "methodology-engine",
6
- "version": "1.2.0",
6
+ "version": "1.4.0",
7
7
  "available": true,
8
8
  "provides": ["plan"],
9
9
  "roles": {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabaiway/agent-workflow-engine",
3
- "version": "1.2.0",
3
+ "version": "1.4.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",
@@ -1 +1 @@
1
- > **Workflow methodology** — plan → execute → review. Plans are ephemeral `docs/plans/*.md` (gitignored, **never committed**); every Plan ends with a mandatory **Phase: Cleanup**; series order lives in `docs/plans/queue.md`. Full vocabulary, lifecycle, and the plan-then-execute split live in the project's **planning skill** (it overrides the generic `writing-plans`); summary in `docs/ai/agent_rules.md` §5.
1
+ > **Workflow methodology** — plan → execute → review. Plans are ephemeral `docs/plans/*.md` (gitignored, **never committed**); every Plan ends with a mandatory **Phase: Cleanup**; series order lives in `docs/plans/queue.md`. Full vocabulary, lifecycle, and the plan-then-execute split live in the project's **planning skill** (it overrides the generic `writing-plans`); summary in `docs/ai/agent_rules.md` §5. Named activities (plan-authoring, plan-execution) have procedures — see `/agent-workflow-kit procedures <activity>` for the steps + resolved recipe. **Communication:** user-facing messages deliver the artifact inline (paste the prompt / diff / command — never "see §X" as a substitute), lead with the result, show exactly what was asked, and never read as mockery (a large artifact: a real summary inline + a link).
@@ -1 +1 @@
1
- > **Orchestration recipes** — compose plan → execute → review with a named recipe: **Solo** (no backend), **Reviewed** (one backend reviews), **Council** (both review, you synthesize), **Delegated** (a backend executes a bounded sub-task); the orchestrator always commits, a backend is never autonomous. Pick + plan one for this environment with `/agent-workflow-kit recipes` (read-only); the deployed how/why lives in your `docs/ai/` workflow docs.
1
+ > **Orchestration recipes** — compose plan → execute → review with a named recipe: **Solo** (no backend), **Reviewed** (one backend reviews), **Council** (both review, you synthesize), **Delegated** (a backend executes a bounded sub-task); the orchestrator always commits, a backend is never autonomous. Pick + plan one for this environment with `/agent-workflow-kit recipes` (read-only); the deployed how/why lives in your `docs/ai/` workflow docs. At the start of a planning/execution session, read your standing recipe preference in `docs/ai/orchestration.json` — set it in plain language with `/agent-workflow-kit set-recipe` (previews first; hand-edit stays supported).
@@ -0,0 +1,87 @@
1
+ # Activity Procedures
2
+
3
+ Canonical, on-demand reference for **how an orchestrating agent performs a named activity** — the
4
+ ordered steps of a workflow activity with **typed recipe slots** that bind to the
5
+ [orchestration recipes](orchestration.md) (Solo / Reviewed / Council / Delegated). This is the
6
+ *how to perform* source of truth; it composes with — and never restates — the plan structure and
7
+ lifecycle in [`planning.md`](planning.md). The composition root (`agent-workflow-kit`) reads this
8
+ canon LIVE and renders the requested activity's steps + the resolved effective recipe per slot via
9
+ the read-only `/agent-workflow-kit procedures <activity>`; it parses ONLY each section's `Slots:`
10
+ line (drift-guarded against its activity table), never the steps.
11
+
12
+ A **recipe slot** is a point in an activity where a recipe applies: `review` accepts
13
+ `solo | reviewed | council`; `execute` accepts `solo | delegated`. The per-project default lives in
14
+ `docs/ai/orchestration.json` and is resolved against backend readiness by the kit — never decided in
15
+ this canon. Each activity section below begins with a machine-parseable `Slots:` line (the only line
16
+ the kit parses) and then its ordered steps. Terse by design: it points at the canon it binds to, it
17
+ does not restate it.
18
+
19
+ The commit rule holds across every activity: **when an activity has a commit boundary, the
20
+ orchestrator owns that commit; a backend is advisory or delegated, never autonomous, and never
21
+ commits** (see [`orchestration.md`](orchestration.md) §6). Not every activity commits —
22
+ `plan-authoring` ends at **approval** and produces **no** commit (plans are ephemeral, never
23
+ committed); `plan-execution` commits **per Step**. Any project-declared release/publishing or extra
24
+ stages are honored per the project's `workflow:methodology` slot — this generic canon bakes in no
25
+ single project's stages.
26
+
27
+ **Read your preference at session start.** At the start of a planning or execution session, read the
28
+ project's standing recipe preference in `docs/ai/orchestration.json` (set it in plain language with
29
+ `/agent-workflow-kit set-recipe` — it previews then writes; hand-editing the file stays supported); the
30
+ kit resolves it against backend readiness. Do not re-ask each session what is already configured there.
31
+
32
+ **Communication contract.** Every user-facing message delivers the artifact **inline** — the plan, the
33
+ next-session prompt, the diff, the value asked for — never a bare pointer ("see §X / open the file") as a
34
+ *substitute* for showing it; lead with the result, show exactly what was asked, and never read as
35
+ mockery. For a genuinely large artifact, deliver a real summary or the key excerpt inline **and** link
36
+ the file — never flood, never hide.
37
+
38
+ ---
39
+
40
+ ## plan-authoring
41
+
42
+ Slots: review
43
+
44
+ Produce a self-contained, cold-readable plan, reviewed to the configured depth before approval.
45
+
46
+ 1. **Research** — gather the exact files, contracts, and constraints the plan will touch.
47
+ 2. **Draft** — write the plan to the document structure defined in [`planning.md`](planning.md) §7,
48
+ with exact paths and commands per Step. Bind to that structure; do not restate it here.
49
+ 3. **Self-review** — run the [`planning.md`](planning.md) §8 checklist (exact paths/commands, strict
50
+ vocabulary, every out-of-plan recommendation folded into a Step, `queue.md` updated for a series).
51
+ 4. **review {recipe}** — review the draft at the depth the resolved `review` recipe selects: Solo
52
+ (self-review only), Reviewed (one backend reviews), or Council (both backends review, you
53
+ synthesize). The kit resolves the effective recipe from `docs/ai/orchestration.json` + readiness.
54
+ 5. **Fold + loop** — fold every finding back into the draft and re-review until the review is clean.
55
+ 6. **Present for approval** — surface the finished plan to the user; do not begin execution here.
56
+
57
+ **Required output (Definition of Done):** a planning session produces a self-contained plan in
58
+ `docs/plans/` **and** a cold-start execution prompt to begin the next session — **both produced without
59
+ the user asking**. A planning session that ends without both is not done.
60
+
61
+ The plan MUST end with the mandatory **Phase: Cleanup** ([`planning.md`](planning.md) §4) — a plan
62
+ without it is not done.
63
+
64
+ ## plan-execution
65
+
66
+ Slots: execute, review
67
+
68
+ Execute an approved plan Step by Step; each Step is one logical commit.
69
+
70
+ 1. **Per Step, resolve the recipe** — the kit resolves `execute` and `review` for this run from
71
+ `docs/ai/orchestration.json` + readiness (a per-run `--override <slot>=<recipe>` is allowed).
72
+ 2. **If `execute` resolved to Delegated, dispatch execution FIRST** — hand the bounded sub-task to the
73
+ backend (codex-exec → a diff) *before* integrating; otherwise the orchestrator implements the Step
74
+ directly.
75
+ 3. **Implement / integrate** — apply the change (your own edits, or the reviewed delegated diff),
76
+ following the project's reuse + clean-code rules.
77
+ 4. **Self-review** — run the [`planning.md`](planning.md) §8 self-review on the change.
78
+ 5. **review {recipe}** — review the result at the resolved `review` depth (Solo / Reviewed / Council),
79
+ exactly as in plan-authoring.
80
+ 6. **Gates** — run the project's verification gate (tests + checks) to green before committing.
81
+ 7. **Commit boundary** — the orchestrator makes the single commit for the Step; a backend never
82
+ commits. The project's commit-approval policy (e.g. ask first) lives in the project's own rules.
83
+
84
+ **Output:** each Step lands as one logical commit with its gates green; the orchestrator owns the commit.
85
+
86
+ Honor any project-declared release/publishing or extra stages (per the `workflow:methodology` slot)
87
+ before the plan's Cleanup — this generic canon does not enumerate them.