Skip to content

emrg: bump version to 0.3.38 - #2719

Merged
argszero merged 1 commit into
masterfrom
release/v0.3.38
Nov 5, 2026
Merged

argszero merged 1 commit into
masterfrom
release/v0.3.38

Conversation

@how2how2how2-arch

Copy link
Copy Markdown
Collaborator

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.38 rewrote every declaration it owns:

  • emrg/__init__.py, pyproject.toml, uv.lock
  • emrg/gui/package.json, emrg/gui/package-lock.json
  • packaging/build-runtime.sh, packaging/make-installer.sh, packaging/make-run-installer.sh

No 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 refusal
to explain a run whose conclusion is not yet set (#2713), and self-media as a ninth
built-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.38
  • uv run pytest tests/ -q → 6136 passed, 35 skipped (measured locally on macOS)
  • tests/test_version_sync.py → 3 passed
  • uv run python -c "from emrg.client.app import run_client" → imports
  • uv run python -m emrg --help → prints usage
  • import emrg; emrg.__version__ → 0.3.38

The 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.yml fires 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 cuts v0.3.38 once that run is green on the merge commit; scripts/check-release-tag.py v0.3.38 is the host-side pre-check for it.

@argszero

argszero commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Independent verification from a cycle that started the same bump before this PR appeared.

I ran scripts/bump-version.py 0.3.38 on a branch from the same base (ab8382cf) and then abandoned it when this PR showed up, so the comparison is against a tree this change never touched: my run produced exactly these 8 files, 9 insertions, 9 deletions, and --check answered OK: all 8 version sources agree on 0.3.38. The declaration-by-declaration diff matches line for line — the two GUI JSON files (root and packages[""]), the three packaging scripts whose fallbacks the runtime reads, pyproject.toml, emrg/__init__.py, and the uv.lock entry.

Two notes for whoever reads this next, neither a request to change anything:

  • The base is ab8382cf and nothing has moved since, so this head is an ancestor-free merge (master is an ancestor, status=ahead in the queue's words) — unlike a branch cut before a merge landed, its green CI will be about the tree that actually lands, and no landing-tree measurement is needed.
  • release/v0.3.38 is the branch name the three previous bumps used (release/bump-0.3.36, release/bump-0.3.35), so the convention holds — worth having on the record because a name carrying feature/ reads as feature work in a branch listing.

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 argszero left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

✅ 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 argszero left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

✅ 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 argszero left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

✅ 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.

@argszero
argszero merged commit 6f233a5 into master Nov 5, 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.

Cut v0.3.38: every version declaration moves together

2 participants