Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/skills/release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ Nothing in CI checks that `uv.lock` agrees with `pyproject.toml`: no workflow ru
- **The changelog heading carries the `v`** — `## [vX.Y.Z] - YYYY-MM-DD` — and it is load-bearing twice: `changelog-check.yml` greps for it, and `publish-pypi.yml` slices the GitHub Release notes between it and the next such heading. That slice drops blank lines and strips the leading whitespace from every body line, so nested bullets arrive flattened in the Release while the changelog itself is untouched.
- **The tags are lightweight**, created as a side effect of `gh release create` rather than by `git tag -a`. Always pass `--tags` when reading them: bare `git describe` finds no annotated tag here and dies.
- **The docs site republishes the changelog.** `docs/changelog.md` is a `pymdownx.snippets` include of the root file (`--8<-- "CHANGELOG.md"`, with `check_paths: true`), so the new entry reaches <https://pipelex.github.io/cocode/> when `deploy-docs.yml` runs on the push to `main`.
- **The back-merge is a merge commit.** `dev` carries a `Merge branch 'main' into dev` after each release rather than a fast-forward; `/ledger-land` makes it, and the changelog is the one conflict it expects.
- **The release pull request merges into `main` with a merge commit, and the back-merge takes whichever shape `dev` earned.** `/ledger-land` merges `origin/main` into `dev`: a fast-forward when nothing landed on `dev` after the cut, a `Merge remote-tracking branch 'origin/main' into dev` commit when something did, and the changelog is the one conflict it expects.
- **A release arms nothing downstream.** `ledger/ledger.toml` declares no `release_followups` for `cocode`, and the dependency arrow runs the other way: `pyproject.toml` pins `pipelex` with its extras to an exact version, so what a release ships against is whatever that pin says. Moving the pin is an ordinary change on `dev`, never part of the release commit.
Loading