v0.13.0 — quality-gates bundle
Minor — first real-substance bundle in the toolkit after the example-bundle stub. Paired with agentic-harness v2.6.1 (paired-doc-only — bundle is pure toolkit packaging).
What's new
Ships quality-gates — one-command install for the 4 base operator-control + verification primitives that earn their keep on every agentic-harness /work session:
evaluatorsub-agent (fresh-context rubric grading; ADR 0002)kill-switchhook (PreToolUse halt sentinel; ADR 0003)steerhook (PreToolUse mid-session redirect; ADR 0003)commit-on-stophook (Stop dirty-tree safety branch; ADR 0003)evidence-trackerhook (PreToolUse default-FAIL on PLAN.md[x]flips; ADR 0009)
Why this matters
Pre-#10, operators adopting harness /work had to install each primitive individually + remember they all wanted the full set. Real-world adopters routinely missed one — usually commit-on-stop, the safety net you only notice when a session crashes mid-task. The bundle closes that gap:
bash agent-toolkit/install.sh <target-project> --bundle quality-gatesLands all 5 primitives at .claude/ paths + merges 4 settings.json registrations (3 PreToolUse + 1 Stop) atomically.
Notable design call — operator-driven pivot
Original plan: COPY pattern (each primitive's files duplicated under bundles/quality-gates/) + CI parity gate. Matched the existing example-bundle precedent.
Operator pushed back: "wait why did we make a bunch of copies?" The example-bundle precedent was set by a one-stub-skill toy + didn't survive contact with a real 5-primitive set.
Pivoted to sibling-reference: bundle directory contains only bundle.md; the installer resolves each contents: entry against the standalone toolkit primitive. Bundle is metadata pointing at standalone primitives, single source of truth. -1992 lines vs. the COPY pivot; zero ongoing maintenance burden.
Full design rationale + 2 locked design calls Q1-Q2 + 4 load-bearing assumptions in ADR 0010.
Operator-facing doc
Use The Quality-Gates Bundle how-to — when-to-use guide + 5-step install + post-install state + verification + troubleshooting.
Internal
- 6 commits across plan #10 (1 reverted COPY commit + sibling-reference pivot + smoke tests + 2 Windows CI fixes + docs + this release).
- 2 cross-platform Python gotchas caught + fixed mid-plan: pwsh
Join-Pathdoesn'tmkdir(added explicitNew-Item); inlinepython3 -c open()uses cp1252 on Windows (added explicitencoding='utf-8'). Same family as prior plans' CRLF / cp1252 / Start-Process arg-split bugs. - Bundle dispatch is now contents-driven (was alphabetical-from-directory-listing). Install order =
contents:order in the manifest.
Coordinated-release ordering
7th consecutive paired-release pair (after v0.9.0 / v0.9.2 / v0.10.0 / v0.11.0 / v0.11.1 / v0.12.0). This release tagged first; harness v2.6.1 notes URL-link back here per [[coordinated-release-order]].
Full changelog
v0.12.0..v0.13.0. See CHANGELOG.md for the full entry.