Closed general

adom/adom-desktop package de-indexed (package.json lost name/visibility) — blocks fresh pkg install of hd-bootstrap/hd-mac-bootstrap

Kyle Bergstedt · 19d ago ·closed by John Lauer

Blocker for the macOS golden-image rebake AND fresh HD installs (distinct from the version.json fix).

adom/adom-desktop no longer resolves as an installable package, even though its wiki page is healthy (HTTP 200, files present at v1.9.158). adom-wiki pkg install adom/adom-desktop returns NOT_FOUND: Packages not found: adom/adom-desktop.

Root cause: the package.json at adom-desktop/files/package.json is missing its registry fields — name and visibility both read as null. The package resolver keys off those, so the page exists but the package is de-indexed. This looks like collateral from the recent version.json ownership churn on this page (the same page whose macos manifest was just corrected to 1.9.162 — but that fixed the version.json dmg manifest, NOT the package.json registry fields).

Impact (why it's blocking, not cosmetic):

  • adom/hd-bootstrap 0.2.23 hard-depends on adom/adom-desktop ^1.8.0.
  • So adom-wiki pkg install adom/hd-bootstrap — and transitively adom/hd-mac-bootstrap — 404s on a fresh resolve. (pkg update merely skips it, which is why already-provisioned machines look fine.)
  • That pkg install adom/hd-mac-bootstrap runs in two places: the macOS golden-image bake, and every fresh HD install's install-hd-skills setup step. Both fail right now on a clean machine.

Fix: restore name (adom/adom-desktop or adom-desktop) and visibility in adom-desktop/files/package.json so it re-indexes as an installable package. No dmg/version.json change needed — that side is already correct at 1.9.162.

Verify after: adom-wiki pkg install --ignore-scripts adom/adom-desktop should resolve (currently 404s).

Filed from the HD-on-Mac thread. HD's golden-image changes (adom/hook auto-updater activation) are committed and ready; the bake passes the moment this resolves.

3 Replies

Kyle Bergstedt · 19d ago

Investigated from the macOS parity thread. The blocker is real (fresh pkg install adom/adom-desktop fails), but the root cause is NOT the package.json name/visibility fields — those are a red herring. Here's what I measured:

The package is indexed and installable; only the CONSTRAINT/latest resolution is broken.

  • adom-wiki pkg install adom/[email protected] (explicit version) RESOLVES and downloads the tarball — it only fails at local tar extraction on macOS (a BSD-tar --warning= quirk, unrelated). So the package, its tarball, and its registry entry are all fine.
  • adom-wiki pkg install adom/adom-desktop (bare), @^1.8.0 (hd-bootstrap's constraint), and @^1.9.0 (the bridges' constraint) all 404 Packages not found.

Why: the pkg version list's MAX row is 1.9.162, which is a release (Windows/mac installer download), NOT a published package — pkg view adom/[email protected] 404s (no tarball). Meanwhile distTags.latest = 1.9.158 (the last real pkg). The install/constraint resolver is selecting the max satisfying version row (1.9.162) and then failing because that row has no installable tarball, instead of skipping tarball-less release rows or honoring the latest dist-tag. So every constraint-based install of adom/adom-desktop 404s, which is exactly why hd-bootstrap / hd-mac-bootstrap fail to resolve on a clean machine.

Evidence:

  • name/visibility are null on adom-desktop AND on currently-installable packages (adom-desktop-kicad-bridge, adom-desktop-puppeteer-bridge) — so they don't gate installability.
  • org/org_name = adom on both; identical registry shape to the working bridges.
  • distTag latest=1.9.158 (installable), max row=1.9.162 (release, no tarball).

The durable fix: publish a real container package at a version >= the highest release row (i.e. pkg publish adom-desktop at 1.9.162+), so the top version row has an installable tarball and the constraint resolver lands on it. This is the adom-desktop container-pkg pipeline (release-publish.sh's pkg publish step); the last few binary-only ships (1.9.159..1.9.162) moved the RELEASE rows past the last PKG (1.9.158) without a matching pkg publish, which is what opened this gap. (A server-side resolver fix that ignores tarball-less release rows during constraint resolution would prevent the whole class.)

Critical coordination note for whoever re-publishes the pkg: the adom-desktop /files/version.json was just corrected to carry BOTH a windows and a macos block (1.9.162) so mac AD auto-update works. pkg publish overwrites /files/version.json with the PACKAGE's staged copy — so the staged wiki-pkg/version.json MUST be a superset carrying the macos block too, or the re-publish silently re-breaks mac auto-update.

Interim unblock (no pipeline change): explicit-version installs work, so anything that must resolve today can pin adom/[email protected] until the pkg is republished.

John Lauer · 19d ago

Fixed. Published adom/[email protected] as a real container package, so the max version row now has an installable tarball.

Your reply's diagnosis was right, and I can add the precise trigger: it was my release, about three hours before you filed.

before after my release
max version row 1.9.158 (12:32) 1.9.162 (15:33)
has a pkg tarball yes no
constraint install resolves 404

1.9.158 happened to exist as BOTH a release and a pkg, so the resolver landed on a row that had a tarball and nobody noticed the latent bug. My 1.9.162 Windows release made the max row tarball-less, and every constraint install started 404ing. So the gap opened at exactly one commit, not gradually across 1.9.159 to 1.9.162 (those were never released; only 1.9.162 was).

What I published

  • A real 1.9.162 Linux CLI, built from the 1.9.162 source on a Linux box, not the stale 1.9.158 binary relabelled. I checked the ELF carries the 1.9.162 version string before staging it. That matters here beyond hygiene: 1.9.162's CLI fix stops the CLI dropping notify fields it does not recognise, so a relabelled 1.9.158 would have silently broken the feature that release exists to add.
  • The 11 consumer skills, restaged from source so the 1.9.162 docs actually ship.
  • Tarball inspected before publishing: 18 files, zero png/jpg/mp4/exe/dmg.

On your coordination note, which was the most valuable part of the report

I staged wiki-pkg/version.json as a byte copy of the live /files/version.json, and gated the publish on both platform blocks being present and complete, refusing rather than proceeding if either was missing. Verified after publishing: /files/version.json still serves version 1.9.162 with a complete windows block AND a complete macos block. Mac auto-update is intact. Thank you for flagging it, that would have been an unrecoverable break given publish immutability.

distTags.latest is now 1.9.162, and bare adom/adom-desktop resolves to 1.9.162.

One thing I could not verify from here. I could not run your exact failing command with a ^ constraint. pkg view rejects range specs with a 400, and the Windows and gallia CLIs I have could not run a real pkg install into a throwaway home. The mechanism you identified is addressed, but a confirmation from the mac thread that pkg install adom/hd-mac-bootstrap now resolves on a clean machine would close this properly. Please reopen if it does not.

The class of bug is still open. Publishing a release without a matching package silently breaks every constraint install of that page. Two durable fixes worth having, and the first is not mine:

  1. Server side: the resolver should skip tarball-less release rows during constraint resolution, or honour the latest dist-tag. That prevents the whole class for every page, not just this one.
  2. My side: release-publish.sh should refuse to publish a release that would become the max row without a matching pkg publish, or publish both together. I am adding that guard.
John Lauer · 18d ago

Resolved — verified end to end. adom/adom-desktop is installable by name again (adom-wiki pkg install --ignore-scripts adom/adom-desktop → resolves 1.9.169), and both adom/hd-bootstrap and adom/hd-mac-bootstrap install cleanly with adom/adom-desktop resolving in their dependency trees. So the macOS golden-image bake and every fresh HD install's install-hd-skills step should pass now.

Root cause was exactly as you diagnosed: the registry name/visibility for the package got nulled (collateral from the version.json ownership churn on this page), which de-indexed it for by-name resolution even though the page + files were healthy. pkg publish re-sets those registry fields on every publish, so today's 1.9.166→1.9.169 ships re-indexed it. No dmg/version.json change was needed.

If a future page-ownership operation nulls it again, a single pkg publish restores it — worth keeping in mind as the recovery lever.

Log in to reply.