Skip to content

fix(xpkg): 0.0.52 and 0.0.53 were only in the linux section - #168

Merged
Sunrisepeak merged 2 commits into
mainfrom
bump/xpkg-all-platforms
Aug 6, 2026
Merged

fix(xpkg): 0.0.52 and 0.0.53 were only in the linux section#168
Sunrisepeak merged 2 commits into
mainfrom
bump/xpkg-all-platforms

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Both bumps added the entry to xpm.linux and nothing else, so macosx and
windows stopped at 0.0.51.

Linux CI passed; macOS and Windows failed with mcpplibs.xpkg@0.0.53 not found — against a file that literally contains ["0.0.53"], just not in
their platform block.

The tarball is platform-independent (the libxpkg source archive, identical
GLOBAL/CN bytes, one sha256), so the entries are identical to linux's.

Verified by parsing and enumerating per platform, not by grepping:

linux      ok (0.0.53, 0.0.52, 0.0.51)
macosx     ok (0.0.53, 0.0.52, 0.0.51)
windows    ok (0.0.53, 0.0.52, 0.0.51)

plus an assert on each new entry's sha256 and that its CN url names its own
version. A whole-file grep for ["0.0.53"] passes on the broken file — which
is what my CI-side assertion did, so it did not catch this either.

Both bumps added the entry to `xpm.linux` and nothing else, so macosx
and windows stopped at 0.0.51. Linux CI passed and macOS/Windows failed
with `mcpplibs.xpkg@0.0.53 not found` -- against a file that literally
contains `["0.0.53"]`, just not in their platform's block.

The tarball is platform-independent (it is the libxpkg source archive,
identical GLOBAL/CN bytes, one sha256), so the entries are identical to
linux's. There was never a reason for them to differ; there was only a
reason they were missing, which is that I edited one section and checked
the file.

Verified by parsing and enumerating per platform, not by grepping:

  linux      ok (0.0.53, 0.0.52, 0.0.51)
  macosx     ok (0.0.53, 0.0.52, 0.0.51)
  windows    ok (0.0.53, 0.0.52, 0.0.51)

and asserting each new entry's sha256 and that its CN url names its own
version. A whole-file grep for `["0.0.53"]` passes on the broken file --
which is exactly what my CI assertion did, so it did not catch this
either.
The rule, enforced rather than remembered:

  Within one descriptor, every platform section that carries any version
  entry must carry the same set of version entries.

A bump is a one-line-looking edit that has to land in N places. Editing
`xpm.linux` and reading the file back gives a file that CONTAINS the new
version, so the author -- and any whole-file grep -- sees success. The
other platforms are simply left behind, and the failure surfaces
somewhere else: `mcpplibs.xpkg@0.0.53 not found` on macOS, against a file
that literally contains `["0.0.53"]`.

That is what happened here twice in a row (0.0.52, then 0.0.53). Linux CI
went green both times. The cause was then diagnosed eight times from the
outside -- index commit, published artifact, rolling pointer,
releases/latest, publish lag, the client version pin, install-vs-use, the
lockfile hash -- and every one of those checks was CORRECT, because each
asked "is 0.0.53 in the index?" rather than "is it in THIS PLATFORM's
section?".

Packages that genuinely diverge opt out with
`platform_versions_diverge = true` plus a reason. The opt-out is a claim
someone made on purpose, which is the difference between a divergence and
an omission.

Falsified before landing: against the pre-fix xpkg.lua it names
`xpm.macosx is missing 0.0.52, 0.0.53` and the same for windows; against
the fixed file and all 80 descriptors in the repo it passes. Zero
existing divergences, so the rule costs nothing today and only fires on a
partial bump.
@Sunrisepeak
Sunrisepeak merged commit d3db543 into main Aug 6, 2026
8 of 9 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.

1 participant