@sabaiway/agent-workflow-kit 1.8.2 → 1.9.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,58 @@ Semantically versioned ([semver](https://semver.org)), newest first. The `versio
4
4
  is the current release. `upgrade` mode reads a project's `docs/ai/.workflow-version` and applies
5
5
  every `migrations/<version>-<slug>.md` newer than it, in semver order.
6
6
 
7
+ ## 1.9.1 — Front-door value framing for the optional bridges; kit flow-pointer
8
+
9
+ The optional execution-backends (the `codex` / `agy` bridges) were **listed** but never **sold**: a
10
+ reader couldn't tell what they add to the workflow or why they'd want them. Promoted per **AD-009**
11
+ altitude — value lives at the **family front door**, the per-package page stays a manual.
12
+
13
+ - **Root README** — the existing `## 🔌 Optional delegated execution (the bridges)` section now
14
+ frames what the bridges add to **plan → execute → review**: an *independent reviewer* (a second
15
+ opinion in the **review** phase) and a *delegated executor / parallel hand* (a bounded task to
16
+ `codex exec` in the **execute** phase), under your own subscription (no pay-as-you-go billing,
17
+ subject to each provider's quotas). The honesty caveats are unchanged (`init` bundles but never
18
+ places a bridge; link-only `setup`; third-party services; context-file priority).
19
+ - **Kit README** — one manual-altitude flow-pointer in the composition-root bridge bullet: the
20
+ bridges plug into the **execute** and **review** phases, routing **up** to the front door for the
21
+ *why*. No value pitch duplicated into the manual (AD-009 anti-drift).
22
+
23
+ Documentation change only — no code, detector, or `init`/npx behaviour change, no `docs/ai`
24
+ structural change, deployment-lineage head stays **`1.3.0`**, `agent-workflow-memory` untouched, no
25
+ migration. The **kit** README + metadata ship in the kit tarball (the root README is the GitHub
26
+ family front door, outside the package), so the kit README edit rides a patch bump — three version
27
+ sources in sync.
28
+
29
+ ## 1.9.0 — `upgrade` surfaces the optional backends at every successful exit
30
+
31
+ `/agent-workflow-kit upgrade` said **nothing** about the optional execution-backends (the `codex` /
32
+ `agy` bridges). A maintainer running `upgrade` on a fresh machine got a full report with **zero**
33
+ bridge mention — because when a deployment is **already current** (by far the most common case),
34
+ `upgrade` stopped *before* its final report. Bootstrap already prints a read-only one-line backend
35
+ summary; `upgrade` never adopted it.
36
+
37
+ - **The already-current exit is now a real success report**, not a silent stop: it states in plain
38
+ language whether the workflow-methodology pointer was added, was already present, or was skipped
39
+ because the entry point is over its line limit; prints the **one-line backend-status line**; and
40
+ asks before committing when anything changed (otherwise it says "already up to date" and still
41
+ prints the read-only line).
42
+ - **The full-migration exit** prints the **same** one-line backend-status line before the commit
43
+ gate — so **every** successful `upgrade` exit now surfaces what's set up vs missing, mirroring
44
+ bootstrap's summary verbatim
45
+ (`backends: codex ✓ ready · antigravity ✗ needs-credentials — run /agent-workflow-kit backends`).
46
+ Both exits share one definition in `SKILL.md`, so the line stays identical everywhere.
47
+ - **Detection-only, honesty-safe.** The line is **read-only · never blocks the commit gate · never
48
+ runs a subscription CLI · the pointer is the in-agent `backends` mode, never a network fetch ·
49
+ `init`/npx is unaffected (it still never places a bridge).** If the **agent host** can't run the
50
+ detector (no `node` on its PATH, or the detector errors), the line is skipped with a
51
+ plain-language reason — never a silent skip (Hard Constraint).
52
+ - **README "Use" table:** the `upgrade` row notes the read-only backend-status line (never installs
53
+ a bridge — set one up with `/agent-workflow-kit setup`).
54
+
55
+ Agent-procedure / documentation change only — no detector or `init`/npx behaviour change, no
56
+ `docs/ai` structural change, deployment-lineage head stays **`1.3.0`**, `agent-workflow-memory`
57
+ untouched, no migration.
58
+
7
59
  ## 1.8.2 — Upgrade DX: graceful, plain-language handling when the methodology slot can't fit the cap
8
60
 
9
61
  On a real `upgrade`, a project whose `AGENTS.md` was already over its 100-line cap hit the
package/README.md CHANGED
@@ -214,7 +214,7 @@ command is printed).
214
214
  | Command | When | What happens |
215
215
  |---------|------|--------------|
216
216
  | `/agent-workflow-kit` | new / empty project | recon → **asks visible-or-hidden** + **conversational language** + **agent attribution** (default off) → deploys `AGENTS.md` + `docs/ai/` filled with real recon data → installs enforcement → **asks before committing** |
217
- | `/agent-workflow-kit upgrade` | existing deployment | reads `docs/ai/.workflow-version`, shows the changelog diff, preserves your authored memory, applies migrations, re-stamps |
217
+ | `/agent-workflow-kit upgrade` | existing deployment | reads `docs/ai/.workflow-version`, shows the changelog diff, preserves your authored memory, applies migrations, re-stamps — then prints a **read-only** one-line backend-status line (what's set up vs missing); never installs a bridge — set one up with `/agent-workflow-kit setup` |
218
218
  | `/agent-workflow-kit backends` | any time | **read-only** check of the optional execution-backends (the `codex` / `agy` bridges): what's set up vs missing and the next step. Never writes, never commits, never runs a subscription CLI (credentials = marker-file presence, not a live login). |
219
219
  | `/agent-workflow-kit setup [backend]` | opt-in, any time | **link-only** auto-setup of a bridge: places the bundled bridge skill (only into an absent / empty / managed dir — never overwrites an unmanaged one) + links its wrappers onto `PATH` via managed symlinks (idempotent; refuses to clobber a non-symlink; try `--dry-run` to preview). The binary install + the one-time subscription login stay **manual**: it prints the exact **login** command and points the binary install at each bridge's `setup/README.md`. POSIX wrappers — on Windows use WSL. Never commits, never runs a subscription CLI. |
220
220
 
@@ -258,7 +258,10 @@ agent-workflow-kit — the composition root (installed via npx … init)
258
258
  - **Injects** the bounded workflow methodology into the deployed `AGENTS.md`. Its *future* home is
259
259
  **`agent-workflow-engine`** — today an `available: false` stub, never one of the shipped backends.
260
260
  - **Detects & (opt-in) sets up** the optional `codex` / `agy` **bridges** — agent skills (not npm, not
261
- installed by `init`). `/agent-workflow-kit backends` reports readiness **read-only**;
261
+ installed by `init`). They plug into the workflow's **execute** and **review** phases — for *what
262
+ each adds and why*, see the
263
+ [family front door](https://github.com/sabaiway/agent-workflow#readme). `/agent-workflow-kit backends`
264
+ reports readiness **read-only**;
262
265
  `/agent-workflow-kit setup` does the **link-only** part (place the bundled bridge skill + link its
263
266
  wrappers), while the binary install + the subscription login stay manual. A bridge reads the deployed
264
267
  memory only if it wins that tool's context-file priority, and the bridges call third-party services
package/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: agent-workflow-kit
3
3
  description: Deploy or upgrade a portable AI-agent memory-and-workflow system in any project. Use when the user wants to bootstrap `docs/ai/` + an entry-point `AGENTS.md` (+ `CLAUDE.md` alias) + cap/archive/index enforcement in a new or existing repo, set up the Memory Map and session protocols, install the docs-rotation pre-commit hook, or run `/agent-workflow-kit` / `/agent-workflow-kit upgrade`. Triggers on phrases like "set up the memory system", "deploy the AI workflow here", "bootstrap docs/ai", "upgrade the workflow".
4
4
  disable-model-invocation: true
5
5
  metadata:
6
- version: '1.8.2'
6
+ version: '1.9.1'
7
7
  ---
8
8
 
9
9
  # agent-workflow-kit
@@ -101,6 +101,25 @@ Before acting, read `docs/ai/.workflow-version` (the project's stamp), state a o
101
101
 
102
102
  **Refreshed the kit but nothing changed?** The skill you are running is whatever was on disk when the session started. After `npx @sabaiway/agent-workflow-kit@latest init` updates `~/.claude/skills/agent-workflow-kit/`, **restart the session** so the agent reloads the new skill files (the slash command + this `SKILL.md`).
103
103
 
104
+ ### The one-line backend-status line (shared by bootstrap + upgrade)
105
+
106
+ Bootstrap (step 11) and **every** successful `upgrade` exit (steps 4 + 8) print the **same**
107
+ read-only, one-line summary of the optional execution-backends. Run the **backend detector** —
108
+ `node ${CLAUDE_SKILL_DIR}/tools/detect-backends.mjs` — and compose one line from its per-backend
109
+ readiness. Canonical format:
110
+ `backends: codex ✓ ready · antigravity ✗ needs-credentials — run /agent-workflow-kit backends`
111
+
112
+ - **Invariants:** **read-only · never blocks the commit gate · never runs a subscription CLI · the
113
+ pointer is the in-agent `backends` mode, never a network fetch · `init`/npx is unaffected (it never
114
+ places bridges, AD-011 §5).**
115
+ - **Detector unavailable → skip with a stated reason, never silently.** The detector is a Node script
116
+ the **agent host** runs (not the target project), so the only skip condition is "**the agent host
117
+ can't run it**" — `node` is not on the agent's PATH, or the detector itself errors — **not** "the
118
+ project has no Node runtime". On that condition, skip the line and say so **with the concrete
119
+ reason**, e.g. *"Couldn't run the backend detector here (node is not on the agent host PATH), so
120
+ I'm skipping the backend-status line."* — never a silent skip (Hard Constraint — no silent
121
+ failures).
122
+
104
123
  ### Mode: bootstrap
105
124
 
106
125
  > Bundled sources below (templates, scripts) live in **this skill's own directory** — `${CLAUDE_SKILL_DIR}/` in Claude Code, or the folder containing this `SKILL.md` in Codex / other agents. Use that as the copy/read source; the working directory is the **target project**, not the skill.
@@ -129,7 +148,7 @@ Before acting, read `docs/ai/.workflow-version` (the project's stamp), state a o
129
148
  independent axes: a packaging-only release bumps the package but leaves the lineage head until a
130
149
  migration actually changes the deployed `docs/ai` structure. A stamp greater than the head →
131
150
  STOP (never downgrade).
132
- 11. **Report & ask.** Show `tree docs/ai/`, 2–3 lines on what was filled with real data vs left as TODO, then run the **backend detector** (`node ${CLAUDE_SKILL_DIR}/tools/detect-backends.mjs`) and print a one-line summary of the optional execution-backends (e.g. `backends: codex ready · antigravity ✗ needs-credentials — run /agent-workflow-kit backends`). This is **read-only and never blocks the commit gate**. Then **ask before committing** — never auto-commit.
151
+ 11. **Report & ask.** Show `tree docs/ai/`, 2–3 lines on what was filled with real data vs left as TODO, then print the **one-line backend-status line** (the shared contract above same detector, format, invariants, and detector-unavailable skip-with-reason). Then **ask before committing** — never auto-commit.
133
152
 
134
153
  Fill strategy:
135
154
 
@@ -147,14 +166,17 @@ Fill strategy:
147
166
  2. **Never-downgrade gate — FIRST, before any write.** Compare the stamp to the **deployment-lineage head** (`1.3.0` — NOT this kit's package version). If the stamp is **greater than the head** or unparseable → **STOP and report**; do not touch a newer / unknown deployment at all (not even the methodology slot).
148
167
  3. **Reconcile the methodology slot — stamp-independent, BEFORE the equal-head short-circuit.** Reached only when the stamp **≤ head**. Run `node ${CLAUDE_SKILL_DIR}/tools/inject-methodology.mjs reconcile <project>/AGENTS.md`. This ensures the `workflow:methodology` slot exists and is filled on **every** upgrade, idempotently (zero-diff when already present + filled) — so even a legacy / current **`1.3.0`** deployment gains the slot **without a lineage-head bump** (the head stays `1.3.0`; **no `agent-workflow-memory` change**). It inserts an empty slot at the Session-Protocols anchor if absent, preserves a customized slot verbatim, and STOPs (never edits) on a malformed slot or a missing / duplicate anchor.
149
168
 
150
- **Cap-refusal is a soft, reported skip — not a STOP.** If — and ONLY if — `reconcile` exits non-zero because filling the slot would exceed the deployed `AGENTS.md` 100-line cap (the entry point is already at / over budget), leave the file byte-for-byte unchanged (the tool already did) and **continue** the upgrade without the slot. A malformed slot or a missing / duplicate anchor is a *different* non-zero exit and still **STOPs** (above) — never soft-skip those. This is **not** a silent skip (Hard Constraint — no silent failures): report it explicitly in the final report (step 8), in plain language, e.g. *"The workflow-methodology pointer wasn't added — `AGENTS.md` is N lines, over its 100-line limit. The methodology is already documented in `docs/ai/agent_rules.md`; to add the pointer, trim the entry point (move detail into `docs/ai/`) and re-run upgrade."* N is the file's **current** line count — never the tool's number (that is the would-be post-injection size). Because the entry point is already over cap, ensure the rest of the upgrade does not push it further: any mandatory `AGENTS.md` edit must keep it ≤100 lines or pause for an explicit trim — never bust the cap to land a migration.
169
+ **Cap-refusal is a soft, reported skip — not a STOP.** If — and ONLY if — `reconcile` exits non-zero because filling the slot would exceed the deployed `AGENTS.md` 100-line cap (the entry point is already at / over budget), leave the file byte-for-byte unchanged (the tool already did) and **continue** the upgrade without the slot. A malformed slot or a missing / duplicate anchor is a *different* non-zero exit and still **STOPs** (above) — never soft-skip those. This is **not** a silent skip (Hard Constraint — no silent failures): report it explicitly in the successful-exit report (**step 4** on an equal-head deployment, else **step 8**), in plain language, e.g. *"The workflow-methodology pointer wasn't added — `AGENTS.md` is N lines, over its 100-line limit. The methodology is already documented in `docs/ai/agent_rules.md`; to add the pointer, trim the entry point (move detail into `docs/ai/`) and re-run upgrade."* N is the file's **current** line count — never the tool's number (that is the would-be post-injection size). Because the entry point is already over cap, ensure the rest of the upgrade does not push it further: any mandatory `AGENTS.md` edit must keep it ≤100 lines or pause for an explicit trim — never bust the cap to land a migration.
151
170
 
152
171
  **No-Node project:** open `AGENTS.md`; if there is no `<!-- workflow:methodology:start/end -->` pair, **count the lines first** — if pasting the pair + the fragment from `tools/methodology-slot.md` would take the file over 100 lines, **skip it and report the skip** (as above — the methodology is already in `docs/ai/agent_rules.md`; trim to add the pointer). Otherwise paste the pair right after the *Read it before any code change.* line and fill it from `tools/methodology-slot.md`.
153
- 4. **Equal-head short-circuit.** If the stamp **equals** the head the lineage is up to date: **stop here** (the slot was already reconciled in step 3).
172
+ 4. **Equal-head exit — a real successful-exit report, not a bare stop.** If the stamp **equals** the head, the lineage is up to date but step 3 (slot reconcile) ran first and may have changed the file, so this is a proper exit report, not a no-op:
173
+ - **Report step 3's outcome in plain language** — the workflow-methodology pointer was *added*, was *already present* (nothing changed), or was *skipped because the entry point is over its line limit* (the cap-refusal soft-skip from step 3, with its reason). Plain wording only — never the reconcile/slot/anchor/marker terms (Gotcha: never leak kit internals).
174
+ - **Print the one-line backend-status line** — the shared contract above (run `node ${CLAUDE_SKILL_DIR}/tools/detect-backends.mjs`; same format, invariants, and detector-unavailable skip-with-reason).
175
+ - **Then ask before committing — never auto-commit.** If step 3 added the slot (or anything else changed), report it and ask. If step 3 was a pure zero-diff no-op and nothing else changed, say **"already up to date"** and still print the read-only backend line.
154
176
  5. Show the relevant `${CLAUDE_SKILL_DIR}/CHANGELOG.md` diff (entries newer than the project's stamp).
155
177
  6. Apply `${CLAUDE_SKILL_DIR}/migrations/<version>-<slug>.md` in **semver order**, only those newer than the project's stamp. Migrations are **idempotent** — safe to re-run.
156
178
  7. Reconcile drift: add any kernel files/scripts the project is missing; never clobber project-authored content (their `decisions.md`, `known_issues.md`, page specs stay). Any user question a migration raises follows the same rule as bootstrap — **structured multiple-choice where supported** (`AskUserQuestion` in Claude Code), otherwise prose. If `AGENTS.md` has no *Communication language* block (pre-1.1.0 deployment), **ask the user their conversational language** and insert the block — see `migrations/1.1.0-communication-language.md`. If it has no *Attribution* block (pre-1.2.0 deployment), **ask whether the agent may attribute work to itself / AI** and insert the block (defaulting to `off`) — see `migrations/1.2.0-agent-attribution.md`.
157
- 8. Re-stamp `docs/ai/.workflow-version` to the **deployment-lineage head** (`1.3.0`, not the package version). Report changes; **ask before committing**.
179
+ 8. Re-stamp `docs/ai/.workflow-version` to the **deployment-lineage head** (`1.3.0`, not the package version). Report changes, then **print the one-line backend-status line** (the shared contract above — same detector, format, invariants, and detector-unavailable skip-with-reason). Then **ask before committing**.
158
180
 
159
181
  ### Mode: backends
160
182
 
package/capability.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "schema": 1,
4
4
  "name": "agent-workflow-kit",
5
5
  "kind": "composition-root",
6
- "version": "1.8.2",
6
+ "version": "1.9.1",
7
7
  "provides": [],
8
8
  "roles": {},
9
9
  "detect": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabaiway/agent-workflow-kit",
3
- "version": "1.8.2",
3
+ "version": "1.9.1",
4
4
  "description": "Portable, cross-agent memory & workflow for AI coding agents — Claude Code, Codex, Cursor, Devin Desktop. One command deploys an AGENTS.md entry point + docs/ai context with cap/archive/index enforcement into any repo.",
5
5
  "keywords": [
6
6
  "ai-agents",