Skip to content

fix(catalog): no version, no @ in the demotion notice - #544

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/demotion-message-empty-version
Aug 11, 2026
Merged

fix(catalog): no version, no @ in the demotion notice#544
Sunrisepeak merged 1 commit into
mainfrom
fix/demotion-message-empty-version

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Found by the post-release verification of 2026.8.11.2, on a real home.

The identity-only resolution path (resolve_local_identity, used by inventory) does not select a version, and the notice formatted {}@{} unconditionally:

'binutils' also provided by local:binutils@; selected xim:binutils@ by namespace priority (local ranks last)
  to pick the other: use its full name, e.g. `local:binutils@`

A trailing @ reads as a version that failed to render — and the second line is worse than cosmetic, because it is a command, and that one does not run.

The whole reason the namespace priority was acceptable instead of a refusal is that the loser gets named. A notice the reader cannot trust gives that back.

Also records the post-release verification in the release notes, including the before/after table and the evidence — captured before upgrading, since it cannot be reproduced afterwards — that this home's old entry refused the bare name and accepted the qualified one.

Found by the post-release verification on a real home. The identity-only
resolution path (resolve_local_identity, which inventory uses) does not
select a version, and the notice formatted `{}@{}` unconditionally:

  'binutils' also provided by local:binutils@; selected xim:binutils@ ...
    to pick the other: use its full name, e.g. `local:binutils@`

A trailing `@` reads as a version that failed to render, and the second
line is worse than cosmetic -- it is a command, and that one does not
run. The entire purpose of this notice is that the reader can trust what
it says; the rule it announces was only acceptable BECAUSE the loser gets
named.

Also records the post-release verification itself: the upgrade had to go
through the explicitly-qualified door (this home has a `local:xlings`, so
the old entry still refused the bare name -- captured before upgrading,
since it cannot be reproduced afterwards), and every before/after pair.

`gcc -lGL` links in a plain shell and in the sandbox; the artifact still
cannot run, which is the runtime half this round does not do -- and
matrix.sh now states that more precisely than I did: "links, but the
binary CANNOT RUN".
@Sunrisepeak
Sunrisepeak merged commit b1563fe into main Aug 11, 2026
8 checks passed
@Sunrisepeak
Sunrisepeak deleted the fix/demotion-message-empty-version branch August 11, 2026 05:32
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