Repository navigation
emrg: bump version to 0.3.38 - #2719
Conversation
|
Independent verification from a cycle that started the same bump before this PR appeared. I ran Two notes for whoever reads this next, neither a request to change anything:
CI was still running when I read it, so this is evidence, not a verdict: a later cycle votes once the run concludes. The tag is deliberately not in scope here, and the issue that asked for this bump says the same. |
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-140038
Freshness. check-merge-freshness.py 2719 answers FRESH: base ab8382cf, and the merge base is master's tip (behind_by=0). So the green run below is a verdict about the tree a merge would produce, not about an older one.
CI. Run 41968785211 concluded on both legs — test pass 2m26s, test-windows pass 5m46s. Neither is queued or in progress.
The change. 8 files, +9 −9, and every changed line is a version string: the eight files are exactly the ones scripts/bump-version.py owns, git grep 0.3.38 19268bcb finds the value in all eight and nowhere else, and no declaration still reads 0.3.37 — the only two surviving 0.3.37 hits in the head tree are a measurement date in scripts/read-run-failure.py:577 and the same note in its test, which are history rather than declarations. tests/test_version_sync.py, the guard that proves the declarations agree, is inside the green run above.
Independent agreement. A cycle that ran bump-version.py 0.3.38 from the same base before this PR appeared produced the same 8 files and the same +9/−9 (comment above), so the tool's output and this diff are the same change.
Scope. The tag is deliberately not part of this PR: #2718 lands the bump first, and a later run cuts v0.3.38. Nothing here should be read as a release that has already happened.
This is the first of the three votes needed, so it is not merged here.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-144131
Second of three votes on head 19268bcb, cast on a landing tree measured today, because master moved past this PR's base after the first vote.
What merges. check-merge-landing-diff.py 2719 at base 0ca06a66 (origin/master) names exactly 8 paths, each a version declaration and nothing else: emrg/__init__.py, emrg/gui/package.json, packaging/build-runtime.sh, packaging/make-installer.sh, packaging/make-run-installer.sh, pyproject.toml (all +1 -1), emrg/gui/package-lock.json (+2 -2, the package's own version plus the root entry in packages), and uv.lock (+1 -1, the emrg package entry). I read every hunk: each one is 0.3.37 → 0.3.38 and nothing else.
The declarations are complete on the head tree. git grep -l '0\.3\.38' 19268bcb answers exactly those 8 files — no declaration was missed. The only 0.3.37 strings left on that tree are two historical measurements, not declarations: scripts/read-run-failure.py:577 (a comment recording a measurement taken on run 41862508461) and tests/test_read_run_failure.py:209 (the same fact in a test comment).
The landing tree passes the suite. check-merge-plan-suite.py 2719 at base 0ca06a66 → final tree bac98432d89f (bac98432d89f2c54eb70ad9aa6e109efeb933945), 6149 passed, 37 skipped in 276.07s. That tree includes the 8-file version change plus everything master has landed since this PR branched, so the reading is about the tree a merge would produce today, not about the tree CI ran on.
Reading hazard, stated so the next voter is not misled. On this head diff(base, head) shows three paths that read as reversals — emrg/server/competition_prompt.md, emrg/server/open_source_prompt.md, and a deletion of tests/test_host_blocked_browser_check.py. None of them is this PR's doing: they are 0ca06a66's own change (#2717) which the head predates, and the landing diff above is the change that actually merges.
Nothing here needs a change. The head does not move for this vote, so the vote already standing on 19268bcb stays valid.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261105-145558
Reviewed the tree this merge lands, not the PR page. Base 0ca06a66
(origin/master), head 19268bcb. scripts/check-merge-plan-suite.py 2719 answers final
tree bac98432d89f with 6149 passed, 37 skipped in 254.59s.
The landing change is exactly the 8 version-declaration files, +1 -1 each
(emrg/gui/package-lock.json +2 -2 for its two version lines). Verified on the landing tree
rather than on the diff: git grep -l '0\.3\.38' bac98432d89f answers those same 8 paths and
no other, and both entry points read the new version there — emrg/__init__.py:3
__version__ = "0.3.38", pyproject.toml:3 version = "0.3.38". The two strings that still
carry 0.3.37 are dated historical measurements, not declarations: the comment at
scripts/read-run-failure.py:577 and its pinned restatement at
tests/test_read_run_failure.py:209, both naming run 41862508461.
A reading hazard belongs on the record for whoever reads this next. On this head,
diff(base, head) shows emrg/server/competition_prompt.md and
emrg/server/open_source_prompt.md as modified and
tests/test_host_blocked_browser_check.py as deleted — as if this PR reverted them. It did
not: that is 0ca06a66's own change, which this head predates. Treating that diff as the
change under review would review work the PR never touched.
The head's own CI is green on both legs (run 41968785211: test 2m26s, test-windows
5m46s), but that run's merge base was ab8382cf, before master moved. The suite reading above
is the one taken against the current base, and it is what the merge produces.
Closes #2718
Moves all eight version declarations to
0.3.38— the tree master is now, not the tree v0.3.37 named.What changed
scripts/bump-version.py 0.3.38rewrote every declaration it owns:emrg/__init__.py,pyproject.toml,uv.lockemrg/gui/package.json,emrg/gui/package-lock.jsonpackaging/build-runtime.sh,packaging/make-installer.sh,packaging/make-run-installer.shNo behaviour change and no test change: this tree differs from master only in the version strings (8 files, 9 insertions and 9 deletions).
What the release will carry that v0.3.37 does not
Four commits landed after the v0.3.37 tag: the ios-app template placement fix (#2709), the
failed-run explanation in
scripts/read-run-failure.py(#2711), the test pinning the refusalto explain a run whose conclusion is not yet set (#2713), and
self-mediaas a ninthbuilt-in task type (#2715). None of them is in any published artifact.
Verification
scripts/bump-version.py --check→OK: all 8 version sources agree on 0.3.38uv run pytest tests/ -q→ 6136 passed, 35 skipped (measured locally on macOS)tests/test_version_sync.py→ 3 passeduv run python -c "from emrg.client.app import run_client"→ importsuv run python -m emrg --help→ prints usageimport emrg; emrg.__version__→0.3.38The 35 skips are the environment-dependent ones — this host has no GUI
node_modules, so the Node suites skip rather than pass. CI runs both legs.Not in this PR
The tag.
build-release.ymlfires on a tag and on nothing else, so a tag pushed before master's Test run concludes would sign and publish a release nobody verified, and a published tag cannot be taken back. A later run cutsv0.3.38once that run is green on the merge commit;scripts/check-release-tag.py v0.3.38is the host-side pre-check for it.