ReviewOS

home-lang/home

Implement native bun pm trust and untrusted parity

#642
Closed chris opened this 9 days ago ·
9 days ago

Problem

After the real manifest helper was connected, the unchanged full-VM lifecycle suite reaches installer assertions. Four remaining failures exercise native bun pm trust / bun pm untrusted behavior:

  • missing-package trust/untrusted reports unsupported pm subcommand
  • trust after removing and re-adding a dependency does not report or run the expected script, with and without explicit removal
  • the no-busy-loop bun pm trust child exits non-zero

ReleaseFast reproduction:

scripts/provision-corpus-deps.sh
HOME_NATIVE_VM=1 HOME_CORPUS_FULL_VM=1 ./zig-out/bin/home test packages/runtime/test/bun-corpus/cli/install/bun-install-lifecycle-scripts.test.ts

The complete unchanged file currently reports 48 pass / 12 fail / 699 assertions. These four are the package-manager trust-command subset.

Acceptance criteria

  • Route pm trust and pm untrusted through the owned native implementation with pinned Bun output and exit semantics.
  • Re-trusting after deletion runs only the expected pending lifecycle scripts and reports their exact package/script counts.
  • Missing packages and idle polling match pinned Bun without busy-looping.
  • The unchanged named lifecycle cases pass in Debug and ReleaseFast.
  • No fixture, assertion, deadline, PATH shim, or runtime delegation.

Related: #66, #518.

9 days ago

Resolved on main by 7774c52. Home now dispatches pm trust, pm untrusted, pm default-trusted, and remove/rm/uninstall through the owned Bun package-manager ports in full-VM mode; the dormant trust implementation was migrated to the current Zig I/O and collection APIs without changing corpus expectations. The unchanged focused lifecycle group passes 4/4 with 95 assertions in both Debug and ReleaseFast. The full file is now 54/60; the six remaining trust-identity/source failures are tracked in #643.

Sign in to comment on this issue.