Skip to content
Merged
Show file tree
Hide file tree
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
15 changes: 8 additions & 7 deletions RELEASES-RATIONALE.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,13 +152,14 @@ baseline — confusing during review, and load-bearing in two places: (a) `bin/c
`UPGRADE_AVAILABLE` on a current main; (b) the `chore(spec)` re-vendor commit message references the current bundle
version.

The backport lands directly on `dev` (one signed commit, no PR). This is a deliberate exception to the PR-only norm on
`dev` documented in [`RELEASES.md`](./RELEASES.md) — the change is mechanical (no design content) and the script's
idempotency makes it safe to re-run. The exception holds only for this script's output; everything else still lands on
`dev` via PR.

The script is idempotent: it exits 0 with no commit when `VERSION` and `CHANGELOG.md` already match `main`. Safe to
re-run, safe to invoke from automation that doesn't track whether the last release was already backported.
The backport opens a PR against `dev` (`chore/sync-dev-after-vX.Y.Z`); it does **not** commit directly to `dev`. The
PR-only norm on `dev` documented in [`RELEASES.md`](./RELEASES.md) applies here as it applies to everything else. The
diff is mechanical (just `VERSION` + `CHANGELOG.md` copied from main), so reviewers can spot-check and squash-merge as
usual; the script's idempotency also makes the work safe to re-run if a maintainer pulls before merging the sync PR.

The script is idempotent: it exits 0 without creating a branch or PR when `VERSION` and `CHANGELOG.md` already match
`main`. Safe to re-run, safe to invoke from automation that doesn't track whether the last release was already
backported.

Mirror of `~/dev/agentnative-cli/scripts/sync-dev-after-release.sh`. The cli variant additionally regenerates
`Cargo.lock` via `cargo build --release` after surgically updating `Cargo.toml`'s `[package].version`; the skill bundle
Expand Down
7 changes: 4 additions & 3 deletions RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,12 @@ Once the release tag is published, backport the release-bookkeeping files from `
git push origin dev
```

The script overwrites `VERSION` with the released number and copies `CHANGELOG.md` verbatim from `origin/main`, then
commits the result directly to `dev` as one signed commit (no PR). Without this step `dev`'s `VERSION` and
The script overwrites `VERSION` with the released number, copies `CHANGELOG.md` verbatim from `origin/main`, cuts a
`chore/sync-dev-after-vX.Y.Z` branch off `dev`, and opens a PR (the PR-only convention on `dev` applies here too — see
`RELEASES-RATIONALE.md` § Why backport main → dev after publish for why). Without this step `dev`'s `VERSION` and
`CHANGELOG.md` stay frozen at the pre-release state, and future feature branches inherit the wrong baseline.

The backport is idempotent: re-running on a `dev` already in sync exits 0 with no commit.
The backport is idempotent: re-running on a `dev` already in sync exits 0 without creating a branch or PR.

→ Rationale:
[`RELEASES-RATIONALE.md` § Why backport `main` → `dev` after publish](./RELEASES-RATIONALE.md#why-backport-main--dev-after-publish).
Expand Down