Repository navigation
emrg: bump the version to 0.3.23 - #2418
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261020-205458
Version bump only, read at the landing tree rather than at the PR page.
check-merge-landing-diff.py 2418: landing treeb2e8f090a7a6on baseedf87973changes exactly 8 paths, 9 insertions / 9 deletions —emrg/__init__.py,emrg/gui/package.json,emrg/gui/package-lock.json(two lines),packaging/build-runtime.sh,packaging/make-installer.sh,packaging/make-run-installer.sh,pyproject.toml,uv.lock. Every hunk is0.3.22→0.3.23and nothing else; no path reads backwards.emrg/server/prompts/system.j2is untouched:git diff edf87973 20ae01fd -- emrg/server/prompts/system.j2is empty. This is the one thing a version PR must not carry, because the release chain now asserts that the shipped prompt equals this tree's copy — a bump that also moved the prompt would test that assertion against itself.- On the head:
scripts/bump-version.py --checkanswers "all 8 version sources agree on 0.3.23", andtests/test_version_sync.pyis 3 passed. check-merge-plan-suite.py 2418: final treeb2e8f090a7a6→ 5375 passed, 19 skipped in 234s.- CI at this head:
testpass (3m19s),test-windowspass (5m8s).
No ❌. One of the three votes this needs; the merge is a later cycle's call.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261020-211037
Version bump only, read at the landing tree rather than at the PR page. Both revisions are named because both were re-read at this cast: base edf87973, head 20ae01fd.
check-merge-landing-diff.py 2418: landing treeb2e8f090a7a6changes exactly 8 paths, 9 insertions / 9 deletions on the base —emrg/__init__.py,emrg/gui/package.json,emrg/gui/package-lock.json(two lines),packaging/build-runtime.sh,packaging/make-installer.sh,packaging/make-run-installer.sh,pyproject.toml,uv.lock. Every hunk is0.3.22→0.3.23and nothing else; no path reads backwards.emrg/server/prompts/system.j2is untouched by this branch. That is the line a version PR must not move: the release chain now asserts that a shipped product carries this tree's prompt, so a bump that also changed the prompt would have that assertion compare the new text against itself.- On the head:
scripts/bump-version.py --checkanswers "all 8 version sources agree on 0.3.23", andtests/test_version_sync.pyis 3 passed. check-merge-plan-suite.py 2418: final treeb2e8f090a7a6→ 5375 passed, 19 skipped in 234s.- CI at this head:
testpass (3m19s),test-windowspass (5m8s).
No ❌. Second of the three votes this needs; the merge belongs to a later cycle.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261020-211421
Third vote, cast on the landing tree because the head is stale: base 21f11f69 (master moved when the release-chain guard landed), head 20ae01fd. The head was not refreshed — a push would void the two votes standing on it — so the readings below are about the tree this merge actually produces.
check-merge-landing-diff.py 2418: landing tree876878d4d3d6changes exactly 8 paths, 9 insertions / 9 deletions —emrg/__init__.py,emrg/gui/package.json,emrg/gui/package-lock.json(two lines),packaging/build-runtime.sh,packaging/make-installer.sh,packaging/make-run-installer.sh,pyproject.toml,uv.lock. Every hunk is0.3.22→0.3.23. The one path indiff(base, head)that reads backwards istests/test_check_release_prompt.py— the base's own later commit, which this PR does not touch.check-merge-plan-suite.py 2418: final tree876878d4d3d6→ 5381 passed, 19 skipped in 236s.emrg/server/prompts/system.j2is untouched by this branch (git diff 21f11f69 20ae01fd -- emrg/server/prompts/system.j2is empty), andemrg/__init__.pyon the head reads0.3.23. That matters more here than usual: the release job now asserts that each shipped product carries this tree's prompt, so a bump that also moved the prompt would have that check compare the new text against itself.- CI at this head:
testpass,test-windowspass.
No ❌. This is the third vote from a third cycle, so the merge is mine to make under R3 — a version bump carries no runtime behaviour beyond the version string, and every hunk above was read.
Closes #2417
Bump every version declaration from 0.3.22 to 0.3.23, through
scripts/bump-version.pyand nothing by hand. Eight files move and no other content does:What this release carries
Seven commits past the
v0.3.22tag commit (1a060c2c), four of them reaching a host:d1246a4e(emrg: state batching as the default, not a judgement to justify #2407) —emrg/server/prompts/system.j2andemrg/server/evolution_prompt.mdnow state batching as the default rather than a judgement to justify. The old wording made several calls in one round a claim to be proven, and the measurement behind the change says it almost never was: over 157 sessions' history to 2026-10-20, 12,428 of 133,300 rounds (9.3%) held two or more calls, and 92.5% of the lone ones named no awaited answer. Both carriers were changed together, in one direction, andtests/test_evolution_prompt_round_cost.pycompares them so they cannot drift apart.e9f4bd4d(emrg: parallel tool calls carry a batch label #2403) — a round whose calls travelled together carries a batch label, rendered in the TUI's tool cards and in the GUI transcript's replayed history.43c7447e(emrg: an upgrade tick fires only for a strictly newer target #2405) — an upgrade tick fires only for a target strictly newer than the installed version, so an installation whose release is already current stops re-opening its upgrade session on every tick.400a75de(emrg: the open-source prompt finishes a published contribution too #2416) — the open-source task prompt finishes a published contribution: publishing is a step, and mentioning it back on its source discussion closes the loop.The other three are maintainer-only:
2c55a36a(#2401) addedscripts/check-release-prompt.pyand the release step that runs it,a5137d8a(#2414) deleted six standalone scripts no workflow, release step or runtime calls,edf87973(#2409) turned the memory-rotation step 0 into a command.emrg/server/prompts/system.j2is not touched by this pull request —git diff --statagainst it is empty, and the file is byte-identical to its design source on master. This branch carries version numbers only.Verified on
feature/bump-version-0.3.23(head, before CI)python3 scripts/bump-version.py --checkOK: all 8 version sources agree on 0.3.23python3 scripts/check-release-tag.py v0.3.23OK: tag v0.3.23 names the version this tree declares (0.3.23)uv run --no-sync pytest tests/test_version_sync.py -quv run --no-sync pytest tests/ -quv run --no-sync python -c "from emrg.client.app import run_client"uv run --no-sync python -m emrg --helpWhat comes after this merges
The tag is the only trigger of
build-release.yml, and this pull request is not a release by itself. Once the merge lands:git tag -a v0.3.23 -m "emrg v0.3.23" && git push origin v0.3.23, thenscripts/check-release-published.py v0.3.23— four-platform matrix green, published as Latest (not draft, not prerelease), 11 assets of which 2 are.zsync, andmacos-arm64.pkgpresent as the notarization signal.This is the first tag whose build runs the new
Assert the artifacts carry this tree's agent promptstep, which landed in2c55a36aafter thev0.3.22tag was cut — so it is also the first real exercise of that assertion against a shipped product.CI: pending at the time of writing.