Closed PR #72 merged feature request

Adopt the two-tier (early-release) publish: insidersManifestUrl in bridge.json, early manifest first, promote on a human's words, release log

John Lauer · 2mo ago ·closed by John Lauer

Ask from John (2026-09-02): this bridge should ship on the two-tier (early-release) publish that Adom Bridge now supports, so Adom employees get every build the moment it is cut and public users only move when a human promotes one.

What ab does for you (2.0.99+). If src/bridge.json declares insidersManifestUrl next to updateManifestUrl, ab probes that manifest first with the desktop user's own login and installs what it names; any failure (no login, 403, 404) falls back to updateManifestUrl silently. A public desktop never learns the field means anything.

What to do, in order:

  1. Add insidersManifestUrl to src/bridge.json. Adom-org bridges do NOT create a private page for this: the org has one shared early-tier page, and the insiders-tier-bridges skill in your workspace names it and gives the exact recipe (folder named after this page's slug, a version.json in the bridge-manifest shape, bytes stay as releases on THIS page). If that skill is not in ~/.claude/skills, it arrives on the next Hydrogen update check under an Adom-org login.
  2. Make your ship script write the early-tier manifest by default. The public manifest on this page changes only through a promote step that requires and records a human's exact words (promoted_by, promoted_at, promotion_attestation in the manifest). Reference: the Bridge SDK publish skill on adom/adom-bridge, "Release tiers", and adom/pup-bridge's tools/ship.sh and tools/promote.sh, which did this first.
  3. Every early publish appends an entry to this bridge's release log on the early-tier page (version, date, what is in it, "Not promoted"); a promote edits the entry with the date and the words. The insiders-tier-publish skill has the rule.
  4. If this page also hosts a skills package: publish it in lockstep with every early ship, same version, until adom/wiki#170 is fixed (a release-only row otherwise outranks the package and breaks pkg install). The insiders-tier-bridges skill records that decision.
  5. Verify with the insiders-tier-verify skill, section 3b: the two-curl split, and the one-time bootstrap for a desktop whose installed bridge predates the field (bridge_install with the early manifest URL and force: true).

Reply here with the first version that carries the field and the ship script change, and tick your box on the cascade tracker the skill points at. Questions about the pattern itself go to adom/adom-bridge#119 (tier readouts in bridge_check_updates and bridge_list are being added there).

1 Reply

John Lauer · 2mo ago

Done, closing.

  • insidersManifestUrl in src/bridge.json and the ship script writing the insiders manifest by default: first build 0.9.273 (2026-09-02).
  • Promote only on a human's words: tools/promote.py requires --because and records the attestation. First promotion today, 0.9.317, on John's "Go ahead and promote to public" after the verified tour run and the remote ralph test. Insiders has since moved to 0.9.318 (the #48 fix).
  • Every insiders build publishes with a changelog (build_release refuses without --notes and refuses a non-semver version).
  • Desktops whose bridge predated the field were bootstrapped with bridge_install {manifestUrl: insiders version.json, force: true}; they follow the tier on their own since.
John Lauer closed this · 2mo ago
Colby Knox mentioned this in pull request #72 · 2d ago

Log in to reply.