@sabaiway/agent-workflow-kit 1.30.0 → 1.32.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,81 @@ 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.32.0 — Approval-idle reduction: the opt-in `velocity --kit-tools` tier, an audited core extension, and the standing-consent advisory (AD-040)
8
+
9
+ A **feature** release; packaging-only for deployments (lineage stays `1.3.0` — no `docs/ai`
10
+ structure change, no migration). Routine read-only kit-tool invocations — the session-start
11
+ discovery line, the procedures advisor, the status/backends/gates checks — stop idling on
12
+ approval prompts, opt-in and honestly labeled; nothing that writes, commits, or publishes gets
13
+ any quieter.
14
+
15
+ - **`velocity --kit-tools` (opt-in tier).** On top of the read-only core, seeds 12 entries derived
16
+ from the RUNNING skill's own location at seed time: 8 read-only kit tools as resolved-absolute
17
+ script path + args wildcard (`recipes` / `procedures` / `family-registry` / `detect-backends` /
18
+ `commands` / `review-state` / `manifest/validate` / `release-scan`), `run-gates.mjs` as ONE
19
+ exact byte-string pinned `--cwd <resolved project root>` and advertised **project-exec, never
20
+ "read-only"** (a wildcard would be broader than the AD-037 hook boundary), and the three
21
+ default-dry-run writers' exact arg-free preview byte-strings (`velocity-profile`,
22
+ `cheap-agents`, `gate-hook`) — every `--apply`/`--write`/`--yes` still prompts. Fail-safe by
23
+ construction: a moved skill or stale path simply prompts again; non-POSIX / space- /
24
+ quote-carrying paths are refused up front with a typed error (hand-add fallback). Flagless
25
+ `velocity` behavior is unchanged (validates core-only, never depends on skill paths).
26
+ - **Dead-rule prevention as a test.** The `velocity.md` tier subsection lists the covered dispatch
27
+ line per tool (the documented-invocation source); the new `test/kit-readonly-tools.test.mjs`
28
+ substitutes the resolved skill dir (+ project root for run-gates) into each line and asserts the
29
+ seeded byte-form matches (prefix for wildcard, equality for exact) — plus the tier ↔
30
+ `commands.mjs` catalog-partition guard (run-gates the only project-exec member; the two
31
+ non-mode-backed validators get a writes-nothing source assertion).
32
+ - **Audited read-only core 18 → 31 (the AD-021 empirical method, probe record in AD-040).**
33
+ Survivors: `diff`, `stat`, `du`, `basename`, `dirname`, `realpath`, `git rev-parse`,
34
+ `git blame`, `git shortlog`, `git describe`, and the FIXED forms `git tag --list`,
35
+ `git stash list`, `git worktree list` (their bare forms mutate — probe-proven). FAILED and
36
+ excluded: `file` (`-C -m` compiles a magic FILE WRITE) and `git cat-file` (`--textconv`/
37
+ `--filters` run configured filters; `git show` already covers the reads). The PreToolUse hook's
38
+ `SEEDED_READONLY_CORE` extends in LOCKSTEP (order-sensitive parity guard); an already-placed
39
+ hook keeps the OLD core (a strict subset) until a delete-to-reseed refresh.
40
+ - **Sharper pre-existing advisory.** `node …`-shaped allow entries OUTSIDE the derived tier
41
+ (foreign script path, foreign `run-gates --cwd` root) are now flagged for hand review — the
42
+ tier's shape can never hide arbitrary local JS.
43
+ - **`set-recipe` standing-consent advisory (wording-only).** After a `--write` that names a
44
+ reviewed/council recipe, the mode file now advises the one-time HAND-adds
45
+ (`codex-review` / `agy-review` / `grounding.mjs`) to `settings.local.json` — stating plainly
46
+ that auto-approval spends subscription quota without a per-run prompt, the kit never writes
47
+ that file, and the entry must match the invocation byte-form including quoting. Solo recipes
48
+ get no advisory; the tool echo is untouched.
49
+ - **Honesty floor, twinned.** The velocity residual notice + its `velocity.md` prose mirror now
50
+ both carry the approval floor: every writer apply-class flag still prompts, clobber-protection
51
+ STOPs still stop, the three release asks (commit/push/publish) stay maintainer-owned.
52
+
53
+ ## 1.31.0 — Progressive disclosure: SKILL.md becomes a thin router over references/modes + references/shared (AD-039)
54
+
55
+ A **feature** release; packaging-only for deployments (the deployment lineage stays `1.3.0` — no
56
+ `docs/ai` structure change, no migration). The 112,106 B / 680-line SKILL.md monolith — loaded
57
+ whole on EVERY invocation — becomes a **10,139 B router** plus per-mode files, so an invocation
58
+ reads only what it needs:
59
+
60
+ - **The router** keeps the always-needed core: the composition-root decision (detect → delegate /
61
+ fallback + the init refresh-cascade), the safe-routing rule + version-status routing note, and
62
+ 16 bare `### Mode:` headers each carrying ONE line — the catalog `kind` EXACTLY + ``read
63
+ `${CLAUDE_SKILL_DIR}/references/modes/<mode>.md` before acting.``
64
+ - **`references/modes/<key>.md` ×16** — the mode bodies, moved verbatim (set-equality-guarded
65
+ against the `tools/commands.mjs` catalog). **`references/shared/`** — the point-of-use
66
+ contracts: `report-footer.md` (backend-status line · version block + welcome mat · version
67
+ disclosure), `composition-handoff.md` (hand-off + bounded pointer reconciliation),
68
+ `deploy-tail.md` (Gotchas · Setup contracts · System principles · Hard-Constraints template).
69
+ Each mode file opens with one `Requires:` line naming its shared reads (bootstrap/upgrade → all
70
+ three; status → the report footer; the daily modes none).
71
+ - **Byte budgets are acceptance, not vibes** — the new `test/router-contract.test.mjs` asserts,
72
+ over the real files: router ≤ 10,240 B · router + any mode ≤ 28,672 · every full read set
73
+ ≤ 53,248 · the daily no-shared modes ≤ 16,384 (realized: 10,139 · 27,392 · 48,419 · 14,121 —
74
+ a daily `help` run is ~10× lighter, the worst path (`upgrade`) ~2.3×). It also pins the D4
75
+ pointer audits permanently: every `Requires:` resolves, zero italic/plain cross-mode refs, zero
76
+ bare kit-relative links, moved shared-section references carry their pointer.
77
+ - **Nothing else moved:** runtime routing untouched (`routeInvocation` never reads SKILL.md);
78
+ packaging additive (`references/` already rides `files[]`; the npx installer copies it
79
+ recursively; tarball 96 → 115 files, exact-count-pinned); frontmatter byte-compatible with the
80
+ twin version readers; 7 content-coupled guards re-anchored to the new files.
81
+
7
82
  ## 1.30.0 — Review-recipe enforcement: the configured recipe is impossible to miss, "reviewed ≠ shipped" is detectable, grounding is a command (AD-038)
8
83
 
9
84
  A **feature** release (ships the bundled bridges refreshed to **2.2.0**). Origin: a real
package/README.md CHANGED
@@ -306,7 +306,8 @@ One kit, two tiers — **no logic is duplicated per tool:**
306
306
  - The **output** (`AGENTS.md` + `docs/ai/`) is read natively by Claude Code (via the `CLAUDE.md`
307
307
  alias) · Codex · Cursor · Devin Desktop · Copilot · Gemini CLI & 20+ tools.
308
308
  - The **bootstrapper** runs from Claude Code · Codex · Devin Desktop — their launchers point at the
309
- same `SKILL.md`, so deployment logic lives in one place.
309
+ same `SKILL.md` router (which loads its `references/modes/` + `references/shared/` files per
310
+ invocation), so deployment logic lives in one place.
310
311
 
311
312
  ---
312
313
 
@@ -315,10 +316,12 @@ One kit, two tiers — **no logic is duplicated per tool:**
315
316
  ```
316
317
  agent-workflow-kit/
317
318
  ├── README.md ← you are here (the kit's manual)
318
- ├── SKILL.md ← agent-facing deploy / upgrade algorithm
319
+ ├── SKILL.md ← thin agent-facing router: mode index + safe routing
319
320
  ├── CHANGELOG.md ← version history
320
321
  ├── capability.json ← agent-workflow family manifest (composition-root)
321
322
  ├── references/
323
+ │ ├── modes/ ← one file per mode (deploy/upgrade/… procedures)
324
+ │ ├── shared/ ← shared contracts (footer · hand-off · tail)
322
325
  │ ├── templates/ ← AGENTS.md + every docs/ai file
323
326
  │ ├── scripts/ ← caps / archive / index + tests
324
327
  │ └── contracts.md ← visibility / language / attribution rules