Skip to content

[Homebrew/Deploy] Ship the exact rev22 lazy shell on Pages - #1210

Draft
brandonpayton wants to merge 1 commit into
host/homebrew-descriptor-prefix-qk044from
homebrew/deploy-rev22-qk044
Draft

[Homebrew/Deploy] Ship the exact rev22 lazy shell on Pages#1210
brandonpayton wants to merge 1 commit into
host/homebrew-descriptor-prefix-qk044from
homebrew/deploy-rev22-qk044

Conversation

@brandonpayton

@brandonpayton brandonpayton commented Aug 3, 2026

Copy link
Copy Markdown
Member

Why

The current Pages workflow asks for a sealed Homebrew selection, but
the checked-in selection is still honestly pending. Deployment run
30834451743 therefore failed before it built the site.

The exact rev22 ABI 42 shell is already public. It starts mostly lazy,
activates Homebrew on first use, and reads bottles from an immutable
public mirror. Rebuilding unrelated gallery images should not block
deploying that working shell.

The host fix in #1209 also changed the source identity of six
conventional gallery artifacts. Their already-published output bytes
did not change. This PR pins those exact archives and output members by
digest so Pages can reuse them without weakening the normal
stale-artifact checks.

What changes

  • Fetch the exact public rev22 shell and Homebrew bootstrap anonymously.
  • Verify each archive and extracted member by byte count and SHA-256
    digest.
  • Preserve five exact gallery images that are already deployed.
  • Rebind six unchanged conventional outputs to their current source
    identity.
  • Assemble the complete browser product around those locked bytes.
  • Forward the /kandelo/ base path into the controlled Chromium test
    shell.
  • Require Chromium to complete the in-guest brew proof before
    deployment.
  • Record the temporary lane and its removal condition in the
    documentation.

This is a temporary compatibility lane, not a new path convention. Rev22
uses /home/linuxbrew/.linuxbrew; the final Kandelo path remains
/opt/kandelo/homebrew. The lane is removed when the canonical shell is
deployable.

This PR is stacked on #1209. Current host code must honor the immutable
descriptor prefix so it can consume the older shell truthfully.

Validation

  • Exact shell, bootstrap, mirror plan, gallery images, and compatibility
    outputs were fetched anonymously and verified by digest.
  • Browser dependency preparation resolved 58 variants and skipped only
    the explicitly locked transition inputs; it performed no package
    rebuilds.
  • The workflow-equivalent Vite production build passed and emitted the
    exact locked shell and bootstrap.
  • The strict public Chromium in-guest Homebrew proof passed in 25.0
    seconds.
  • Pages deployment contract and mutation suite passed.
  • Transitional lock tests passed: 3/3.
  • Complete Homebrew shell contract passed: 48/48 focused Node tests
    plus all shell workflow probes.
  • git diff --check passed.

The earlier live Pages proof also passed in 42 seconds. Its dated JSON
evidence remains committed for comparison.

@brandonpayton
brandonpayton force-pushed the host/homebrew-descriptor-prefix-qk044 branch from 008d2e0 to b8086e4 Compare August 3, 2026 18:08
@brandonpayton
brandonpayton force-pushed the homebrew/deploy-rev22-qk044 branch from 1c007eb to a42fb41 Compare August 3, 2026 18:09
@brandonpayton
brandonpayton force-pushed the host/homebrew-descriptor-prefix-qk044 branch from b8086e4 to 8a66801 Compare August 3, 2026 18:22
Publish the already-tested, digest-locked ABI 42 shell while the final Kandelo-prefix campaign completes. Keep the pending selection out of the release path, recover exact public shell, bootstrap, mirror, and gallery bytes anonymously, and require a real Chromium in-guest brew proof before deployment.
@brandonpayton
brandonpayton force-pushed the homebrew/deploy-rev22-qk044 branch from a42fb41 to 5426fbb Compare August 3, 2026 18:36
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