VFS: Make the main shell package-backed - #1306
Open
brandonpayton wants to merge 2 commits into
Open
Conversation
The canonical browser shell still enters through the Homebrew bootstrap and bottle-composition path. That makes a normal virtual file system (VFS) product depend on a second package authority instead of the repository package resolver that owns the rest of the build. Compose the shell only from declared resolver outputs. The rootfs and eager programs are direct inputs, while utilities and application bundles retain checked lazy identities. Keep the package manifest and the role-specific dependency contract synchronized, reject ambient build authority, and preserve the source rootfs capacity and lazy-state contracts. This changes the shell product bytes and advances its package revision. It does not remove the separate Homebrew compatibility and publication infrastructure. Source-commit: 707c4901cf24f2d7421a740b39792e75f4da71f7
Shell revision 27 replaces the Homebrew flat-lazy source recipe with a composition of declared package outputs. Existing reference documentation still described the ABI 42 bottle selection, bootstrap, and mirror as the current canonical source path. Document the revision-27 package and VFS contracts, its pending publication state, and the remaining Pages migration. Retain the ABI 42 material as explicit historical and compatibility context rather than presenting its release workflow as current behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The main browser shell still enters through the Homebrew bootstrap and
bottle-composition path. That makes a normal virtual file system (VFS)
product depend on a second package authority instead of Kandelo's package
resolver.
Moving the product to declared package outputs gives the root browser image
one reproducible dependency closure and makes missing inputs fail at the
owning package boundary.
What changed
checked lazy identities for utilities and application bundles.
state synchronized.
Homebrew publication path.
This PR does not remove all Homebrew compatibility or publication
infrastructure. In particular, the current Pages workflow still needs to be
migrated or retired before this pending package revision can be published.
Validation
bash scripts/dev-shell.sh bash packages/registry/shell/test-build-shell.shbash scripts/dev-shell.sh npx vitest run tests/package-system/source-rootfs-shell-bridge.test.ts tests/package-system/build-input-import-closure.test.ts(32 tests passed)
program-index-checkandprogram-index-context-checkgit diff --check origin/main..HEADNot run
The full resolver source build was not run because the complete declared
package closure has not been built and admitted. No production shell archive
or Pages deployment was produced.