Use with agent-release.
This kit ships as a **git checkout** (install.sh / KIT_REF), not npm. Versioned artifacts are **GitHub Releases** (vX.Y.Z tags). Changelog generation uses **git-cliff** (same stack as ArchLens).
1. Quality gates
- [ ] Functional impact map aligned; no silent catalog rewrites
- [ ] XFN matrix complete; every **apply** row green or BLOCKED with owner
- [ ] Security + arch-drift findings addressed or explicitly deferred
- [ ] Pre-commit / CI green on the release revision
2. Human-facing package
- [ ] Conventional **PR title** (conventional-commits.md); squash-and-merge uses it on the default branch
- [ ] Changelog / release notes: user-visible behavior, migrations, flags
- [ ] Rollback: previous version / flag off / migration reverse notes
Kit release automation
Pipelines (keep these separate on purpose):
| Pipeline | Workflow | When | |----------|----------|------| | **Verify → Promote** | `.github/workflows/ci.yml` | PR / main / workflow_dispatch | | **Pages** | `.github/workflows/deploy-pages.yml` | Docs-site path changes on main | | **CodeQL** | `.github/workflows/codeql.yml` | PR / main / weekly | | **Live EDD** | `.github/workflows/edd-live.yml` | Nightly schedule |
After green **Verify** on main, the **Promote** job:
1. **Detect** - bin/release.sh detect looks at conventional commits since the last v* tag. - feat → minor, fix/perf/refactor → patch, ! / BREAKING CHANGE → major - docs / chore / ci / test alone do **not** cut a release 2. **Publish** - creates a GitHub Release with **version-scoped** notes (bin/release.sh publish): commits since the previous tag only, headed ## vX.Y.Z (never [unreleased]) 3. **Sync notes** - bin/release.sh sync-notes rewrites every existing vX.Y.Z GitHub Release body from previous-tag..this-tag (idempotent repair) 4. **Changelog** - regenerates date-grouped CHANGELOG.md via pnpm changelog (bin/changelog-render.mjs) and commits chore(changelog): … when needed. CHANGELOG stays date-grouped; GitHub Release notes stay version-scoped.
Local:
pnpm changelog # regenerate date-grouped CHANGELOG.md
pnpm release:detect # print whether HEAD would release
bash bin/release.sh notes # preview notes since last tag → HEAD
bash bin/release.sh notes '' v1.0.0 # first-release range (beginning → tag)
bash bin/release.sh notes v1.0.0 v1.1.0
bash bin/release.sh sync-notes # repair GitHub Release bodies (needs GH_TOKEN)
Consumers pin installs with KIT_REF=vX.Y.Z (see install.sh).
3. Ops handoff
- [ ] Load SLOs mapped to telemetry (or N/A) per
handover_telemetry.md - [ ] Docs/runbooks updated when operators or public API changed (agent-docs)
- [ ] Report catalog + XFN summary to the user before calling Release COMPLETE