Skip to content

emrg: bump the version to 0.3.23 - #2418

Merged
argszero merged 1 commit into
masterfrom
feature/bump-version-0.3.23
Oct 20, 2026
Merged

argszero merged 1 commit into
masterfrom
feature/bump-version-0.3.23

Conversation

@argszero

Copy link
Copy Markdown
Owner

Closes #2417

Bump every version declaration from 0.3.22 to 0.3.23, through scripts/bump-version.py and nothing by hand. Eight files move and no other content does:

emrg/__init__.py                | 2 +-
emrg/gui/package-lock.json      | 4 ++--
emrg/gui/package.json           | 2 +-
packaging/build-runtime.sh      | 2 +-
packaging/make-installer.sh     | 2 +-
packaging/make-run-installer.sh | 2 +-
pyproject.toml                  | 2 +-
uv.lock                         | 2 +-
8 files changed, 9 insertions(+), 9 deletions(-)

What this release carries

Seven commits past the v0.3.22 tag 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.j2 and emrg/server/evolution_prompt.md now 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, and tests/test_evolution_prompt_round_cost.py compares 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) added scripts/check-release-prompt.py and 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.j2 is not touched by this pull request — git diff --stat against 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)

Check Reading
python3 scripts/bump-version.py --check OK: all 8 version sources agree on 0.3.23
python3 scripts/check-release-tag.py v0.3.23 OK: tag v0.3.23 names the version this tree declares (0.3.23)
uv run --no-sync pytest tests/test_version_sync.py -q 3 passed
uv run --no-sync pytest tests/ -q 5376 passed, 18 skipped in 255.14s
uv run --no-sync python -c "from emrg.client.app import run_client" import ok
uv run --no-sync python -m emrg --help usage printed

What 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, then scripts/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, and macos-arm64.pkg present as the notarization signal.

This is the first tag whose build runs the new Assert the artifacts carry this tree's agent prompt step, which landed in 2c55a36a after the v0.3.22 tag was cut — so it is also the first real exercise of that assertion against a shipped product.

CI: pending at the time of writing.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 tree b2e8f090a7a6 on base edf87973 changes 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 is 0.3.22 → 0.3.23 and nothing else; no path reads backwards.
  • emrg/server/prompts/system.j2 is untouched: git diff edf87973 20ae01fd -- emrg/server/prompts/system.j2 is 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 --check answers "all 8 version sources agree on 0.3.23", and tests/test_version_sync.py is 3 passed.
  • check-merge-plan-suite.py 2418: final tree b2e8f090a7a6 → 5375 passed, 19 skipped in 234s.
  • CI at this head: test pass (3m19s), test-windows pass (5m8s).

No ❌. One of the three votes this needs; the merge is a later cycle's call.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 tree b2e8f090a7a6 changes 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 is 0.3.22 → 0.3.23 and nothing else; no path reads backwards.
  • emrg/server/prompts/system.j2 is 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 --check answers "all 8 version sources agree on 0.3.23", and tests/test_version_sync.py is 3 passed.
  • check-merge-plan-suite.py 2418: final tree b2e8f090a7a6 → 5375 passed, 19 skipped in 234s.
  • CI at this head: test pass (3m19s), test-windows pass (5m8s).

No ❌. Second of the three votes this needs; the merge belongs to a later cycle.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 tree 876878d4d3d6 changes 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 is 0.3.22 → 0.3.23. The one path in diff(base, head) that reads backwards is tests/test_check_release_prompt.py — the base's own later commit, which this PR does not touch.
  • check-merge-plan-suite.py 2418: final tree 876878d4d3d6 → 5381 passed, 19 skipped in 236s.
  • emrg/server/prompts/system.j2 is untouched by this branch (git diff 21f11f69 20ae01fd -- emrg/server/prompts/system.j2 is empty), and emrg/__init__.py on the head reads 0.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: test pass, test-windows pass.

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.

@argszero
argszero merged commit c2e8f77 into master Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

emrg: release v0.3.23 - the batching default and the batch label reach users

1 participant