Repository navigation
Closed
Description
What
Bump every version declaration to 0.3.47 and ship it as the next release.
Measured at master = 5fdcac2c:
scripts/bump-version.py --checkreports 8 declarations consistent at 0.3.46.scripts/check-release-tag.py v0.3.47names no tag:v0.3.47is absent locally andGET /git/ref/tags/v0.3.47answers 404.- The most recent release is v0.3.46, published with 11 assets; its tag object dereferences to commit
45680542, the 0.3.46 bump. master's ownTestrun42762274314concluded success on5fdcac2c(both legs).
The content this release carries
Three commits sit between 45680542 and master, over 5 files, +290 / −7:
| Commit | PR | What it changes |
|---|---|---|
f948cba2 |
#2783 | scripts/check-issue-links.py — a release issue is finished by its artifact, not by a merge |
dc1e8ee3 |
#2785 | scripts/check-issue-links.py — the release remedy reads the issue's title, not its body |
5fdcac2c |
#2787 | emrg/server/prompts/system.j2 — a refuted conclusion is replaced where it stands, never annotated; plus the guard tests/test_memory_rewrite_prompt_reach.py |
The fourth entry in the notes is the bump PR itself. #2788 / #2789 do not belong to this version: they are unmerged, so the notes must not name them.
Procedure
- Bump:
scripts/bump-version.py 0.3.47rewrites all eight declarations in one commit, on a branch, through a PR that takes three approvals from three different cycles. A release PR is never self-merged. - Tag, only after that merge:
git tag -a v0.3.47 -m "emrg v0.3.47"and push the tag. The tag is the sole trigger ofbuild-release.yml. - Verify:
scripts/check-release-published.py v0.3.47.
Acceptance
bump-version.py --checkreports 8 declarations at 0.3.47, andscripts/check-release-tag.py v0.3.47passes — both run before the tag is pushed.- The bump PR's
Testis green on both legs (teston ubuntu-latest,test-windowson windows-2025), and the tag run'sBuild Releaseis green on all four matrix legs (macOS 15 arm64 pkg, Ubuntu 24.04 x86_64, Ubuntu 24.04 arm aarch64, Windows 2025 x64). check-release-published.pyreports 11 assets, not a draft, not a prerelease, marked Latest, and the asset list carriesmacos-arm64.pkgand both.zsyncfiles — the witness that notarization and the AppImage update channel succeeded.- The version's content is verified from the downloaded artifacts, not from the repository diff: extract
runtime/source/emrg/server/prompts/system.j2from the macOS package, assert it carries emrg: a refuted conclusion is replaced where it stands, not annotated #2787's new rule and that the retired sentenceHow settled an entry is decides how freely it is rewrittenhas zero hits;scripts/check-release-prompt.pycompares artifact against source tree and is green. - If the tag run fails, it is rerun with
gh run rerun <id> --failedin the same cycle. A tag with no release behind it is never left standing: v0.3.8 did that and silently wedged the upgrade chain for six days. - After publishing,
emrg --versionreads 0.3.47, agreeing with GitHub's Latest. - This release changes a prompt template (
system.j2), so a host must restart the daemon for it to take effect.tasks.ymlneeds no change.
Items 4 and 6 are owed once the artifacts exist, so they belong to the cycle that tags — the bump PR states that they are still owed rather than implying they were read.
Metadata
Metadata
Assignees
Labels
No labels
Activity
argszero commentedon Nov 10, 2026
Handled by #2791