v2.2.0 — /work + /release augmentable with agent-toolkit's base hooks
Additive minor — no breaking changes. Two new optional sections in the harness phase specs document how to dispatch the three new base operator-control hooks (kill-switch + steer + commit-on-stop) shipped in agent-toolkit v0.7.0:
| Hook | Trigger | Effect |
|---|---|---|
kill-switch |
PreToolUse |
touch .harness/STOP halts the next tool call; rm to resume |
steer |
PreToolUse |
Write .harness/STEER.md for mid-run redirect; file → STEER.consumed-<ts>.md audit trail |
commit-on-stop |
Stop event |
Dirty tree → auto-save/<ts> safety branch; never modifies current branch; never pushes |
/work is the primary beneficiary (long-running iteration loops, mid-task redirects, crashed sessions). /release benefits less from kill-switch + steer (release flows are typically short) but the commit-on-stop backstop reduces the cost of an interrupted release prep. Both new sections graceful-skip when agent-toolkit is absent — the harness still satisfies the phase contracts standalone.
Highlights
- New §"Long-running
/work— operator-control hooks (agent-toolkit)" inharness/phases/03-work.md. 20-line section between "When to invoke /review" and "Failure modes to avoid". Reference table for all three hooks; when-they-earn-their-keep framing; the alphabetical-ordering invariant (kill-switch fires before steer in PreToolUse — a halt always takes precedence over a steer); graceful-skip. - New §"Optional:
commit-on-stopsafety net (agent-toolkit)" inharness/phases/05-release.md. Shorter 4-line section between progress.md closeout and "Failure modes to avoid". Documents commit-on-stop as the backstop for interrupted release flows; cross-refs the/worksection for the full lineup. scripts/check-references.py—EXTERNAL_CUSTOMIZATIONSset extended withkill-switch,steer,commit-on-stop(forward-compatibility documentation; no current regex matches the hook phrasings).- No adapter edits. All 6
/work+/releaseadapter wrappers (3 hosts × 2 phases) reference the canonical specs exactly once; new sections inherit via the existing canonical-reference pattern. - No new harness ADR. The hook design decisions live in agent-toolkit ADR 0003 since the customizations live there.
Migration
No migration needed — purely additive. To enable the new sections' hook dispatch in your projects, install agent-toolkit v0.7.0 alongside the harness:
# If you don't already have agent-toolkit cloned as a sibling:
gh repo clone alexherrero/agent-toolkit ../agent-toolkit
# Install into your project (lands the three hook scripts at .claude/hooks/
# and idempotently merges their settings.json registrations):
bash ../agent-toolkit/install.sh /path/to/your-projectWithout the toolkit, /work + /release continue to satisfy the phase contracts using the existing flows.
See CHANGELOG.md for the full v2.2.0 entry.