release: 0.16.0
Release prep for 0.16.0. No tag, GitHub release or npm publish in this pull request.
Version. 0.16.0, not 0.15.3. Since v0.15.2, a shipped rule changed behavior (the periodic-updates modifier now says when to arm the watcher, what the watcher posts and how to wait) and a shipped script now refuses a case it used to allow (check-pr-review.ts and merge-pr.sh refuse while any other check on the head commit is unfinished or failed). Earlier minor releases (0.14.0, 0.15.0) were cut for the same kind of change. The other entries are repository only.
What changes.
CHANGELOG.md:## Unreleasedbecomes## 0.16.0 - 2026-10-17with an empty## Unreleasedabove it. The two periodic-updates entries from six iteration commits are one statement of final behavior. Theperiodic-launchscenario,EOR_KEEP_ENVand the grader fix are labelled "Repository only (not in the npm package)", sinceevals/is not shipped. The review-gate entry now says it does not tell required checks from optional ones, asreview-helpers.mddoes.package.json: 0.15.2 to 0.16.0.docs/assets/overview.png: the headline said "Always-on working rules for coding agents", which 0.14.2 removed from the banners. It now reads "Working rules for coding agents". No source file exists for this image, so the headline band was redrawn in the same font and colour.SECURITY.md: one of two identical "(this repository by default)" parentheticals in a single sentence is removed.
Audits (release-batching.md).
- Accuracy audit of README, banners, overview image and its alt text, SECURITY.md and docs: the modifier and skill counts, the eight-skill default and the historical eval figures match the code. The overview headline was the one stale claim.
- Changelog audit: every command, file name and behavior in the new entries was checked against the shipped code (
check-pr-review.ts,merge-pr.sh, the modifier text,claude.sh,grade.mjs, the scenario's patterns). - Not changed, for the owner: the GitHub repository description still says "layered as base, modifiers, person and project", while the README says core, modifiers, your layer, repository; the repository homepage URL is empty. The README
periodic-updatesrow is accurate, and rewording it would re-pad the whole table.
Checks run locally, all exit 0. oxfmt@0.70.0 --check ., oxlint@1.85.0 . (one existing warning), node --test test/*.test.mjs (182 pass, 7 skipped), bun test test/ (546 pass), npm run check:package -- --bun (237 files), bun test skills/ (365 pass).
Landing follows the standing exception for rate-limited review bots; CI still has to be green.
Summary by cubic
Release prep for the 0.16.0 npm release; no tag, GitHub release, or npm publish in this PR.
Bumps the version to 0.16.0 rather than 0.15.3 because shipped behavior changed since 0.15.2: the periodic-updates modifier now says when to arm the watcher, what it posts, and how to wait, and check-pr-review.ts / merge-pr.sh refuse while any check on the head commit is unfinished, failed, cancelled, or timed out.
What changes
CHANGELOG.md: the Unreleased section becomes0.16.0 - 2026-10-17; the periodic-updates entries are condensed into one statement of final behavior, the eval entries are marked "Repository only (not in the npm package)", and the review-gate entry notes it does not distinguish required from optional checks.package.json: version bumped from 0.15.2 to 0.16.0.docs/assets/overview.png: the headline band now reads "Working rules for coding agents", dropping the stale "Always-on" claim.SECURITY.md: one repeated "(this repository by default)" parenthetical removed.
Audits
- README, banners, overview image,
SECURITY.md, and docs checked against the shipped code; the overview headline was the only stale claim, and the changelog entries were verified against the shipped scripts and modifier text. - Local checks pass:
oxfmt,oxlint(one existing warning),node --test(182 pass),bun test(546 pass), package check, and skills tests.