Cull Release
Principle
Orchestrate Cull's repository-enforced phases; never recreate release logic in
the skill. Read references/phase-contracts.md before acting.
Start or resume
- Resolve Cull from a matching current origin, absolute
CULL_REPO, or$HOME/ai_projects/cull. - For a new release, require explicit
patch|minor|major; never infer it. - Use cull-release-check. Stop on every blocker.
- Use cull-release-prepare in its isolated worktree.
- Use cull-release-publish after preparation. An explicit complete-release request already authorizes publication: Do not ask for a second publication confirmation.
- Use cull-release-verify after GitHub publication and Homebrew promotion.
- On interruption, derive the last verified state from commit, tag, workflow, artifacts, release, and tap evidence. Resume the first incomplete phase; do not repeat completed work.
- Route every mismatch or failed phase through cull-release-recover.
Before the first tag of a cycle, read
references/release-lessons-2026-09.md — it documents the failure modes that
cost four burned attempts in the v0.6.x cycle (record-anchor vs workflow-gate
mismatch, dependabot staleness races, closed-bead bd filter, provenance type
drift) and the exact tag-time sequence that avoids them.
Completion report
Report version, release commit, annotated tag object, workflow run, artifact
hashes, release URL, Homebrew tap commit, and final
post-publish-verified state. Do not print secret values.