Repository navigation
fix: version stamp reads the running binary, not the changelog marker - #9
Merged
Merged
Conversation
~/.omp/agent/last-changelog-version is only rewritten when omp's config-gated startup changelog actually displays, so it goes stale across silent upgrades (observed: marker 18.4.6, binary 18.4.8) and is global state shared by every session — old resumed panes rendered a version that never ran in them. Spawn --version on process.execPath instead: whatever binary launched omp (brew Cellar, npm global, curl, asdf, source), cached per process. Output must carry the omp/ prefix, so a bare node/bun runtime version is rejected and the stamp omits rather than lies.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The clock-line stamp showed
omp 18.4.6whileomp -vreportedomp/18.4.8after a silent brew upgrade.Root cause
v0.6.2 read
~/.omp/agent/last-changelog-versionas the primary source, assuming omp rewrites it on every launch. It does not: the marker is gated behindcfgStartupChangelogModeand only updates when the startup changelog dialog actually displays. Silent upgrades leave it stale, and it is global state — every session (including old resumed panes on 18.2.0) renders whatever the marker last said. Field proof 2026-10-01: marker mtime 09:50 /18.4.6vs binary 18.4.8 (upgraded 15:53).Fix
Spawn
--versiononprocess.execPath— the exact binary that launched omp — cached per process. Install-agnostic (brew Cellar, npm global, curl, asdf, source) and correct for sessions resumed across an upgrade. Output must carry theomp/prefix so a bare node/bun runtime version (source/dev runs) is rejected; on failure the stamp omits rather than lies. Marker code deleted.Verification
pnpm typecheckclean; 51/51 tests (incl. false-positive guard: bare runtime versions rejected)· omp 18.4.8 · sl 0.6.3in 4s while the marker still said 18.4.6