railway: add 5.71.0 (archetype C) #31

Merged
chad merged 1 commit from glen/railway into main 2026-10-21 10:29:18 -04:00
Collaborator

Step 1 of the npm-through-bubblebox plan for think: the Railway CLI as a proper archetype-C package, replacing the npm-installed copy the thinkpad host image currently carries nodejs for.

  • Archetype C — upstream ships a statically-linked Rust binary (musl flavor, no loader → scratch final, pnpm/ shape; 21 MB footprint vs 120 default gate). No Fedora package, and not a Node repack.
  • Pinned + verified — v5.71.0, sha256 2e682fd2…9fb9 taken from GitHub's release-asset digest field (not TOFU); verified in-build.
  • Entrypoint — writable_home for ~/.railway auth/config (aws/ pattern). Header notes the first-login wrinkle: scratch image has no browser → railway login --browserless or RAILWAY_API_TOKEN.
  • Smoke — --version exact-version tripwire + completion bash (real invocation, deterministic, fully offline; probed TLS: binary embeds Mozilla roots, so networked commands work from the CA-less image).
  • Verified on the bee runner in an isolated store (engine 0.4.1): lint + build + smoke + footprint all pass. Independent fresh-eyes review: ship, nits addressed.

Merge plan (after this lands): dispatch publish.yml → add railway to think's profile → cjust bubblebox-upgrade on think. agent-browser package is next (daemon-persistence prototype first), then dsh.

Step 1 of the npm-through-bubblebox plan for think: the Railway CLI as a proper archetype-C package, replacing the npm-installed copy the thinkpad host image currently carries nodejs for. - **Archetype C** — upstream ships a statically-linked Rust binary (musl flavor, no loader → scratch final, pnpm/ shape; 21 MB footprint vs 120 default gate). No Fedora package, and not a Node repack. - **Pinned + verified** — v5.71.0, sha256 `2e682fd2…9fb9` taken from GitHub's release-asset digest field (not TOFU); verified in-build. - **Entrypoint** — `writable_home` for `~/.railway` auth/config (aws/ pattern). Header notes the first-login wrinkle: scratch image has no browser → `railway login --browserless` or `RAILWAY_API_TOKEN`. - **Smoke** — `--version` exact-version tripwire + `completion bash` (real invocation, deterministic, fully offline; probed TLS: binary embeds Mozilla roots, so networked commands work from the CA-less image). - **Verified** on the bee runner in an isolated store (engine 0.4.1): lint + build + smoke + footprint all pass. Independent fresh-eyes review: ship, nits addressed. Merge plan (after this lands): dispatch publish.yml → add `railway` to think's profile → `cjust bubblebox-upgrade` on think. agent-browser package is next (daemon-persistence prototype first), then dsh.
railway: add 5.71.0 (archetype C)
All checks were successful
verify / verify (pull_request) Successful in 13s
c65832a352
Upstream static musl Rust binary, sha256-verified against the GitHub
release-asset digest (not TOFU):
2e682fd2ddf8d6fdf9e46d9d99d99646ff0022a6abb0c2bca93011348a269fb9

Scratch final (pnpm/ shape — no loader needed, no fedora userspace).
Auth/config at ~/.railway via writable_home (aws/ pattern). First
`railway login` from the sandbox wants --browserless or
RAILWAY_API_TOKEN — no browser in a scratch image (header comment).
Smoke: --version banner tripwire + offline completion generation (real
invocation, deterministic).

Verified on the bee runner (isolated store, engine 0.4.1): lint + build
+ smoke + footprint 21 MB (limit 120) all pass.
chad approved these changes 2026-10-21 10:29:13 -04:00
chad merged commit c05d550e05 into main 2026-10-21 10:29:18 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chad/bubblebox-pkgs!31
No description provided.