ReviewOS

home-lang/home

Activate and verify native package patch lifecycle

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

Verified checkpoint

Verified in runtime a4b73596f5ac51e1a59e330caa5a431becfa04bc, published with evidence in d05001718 on origin/main as Chris without coauthors. Home SHA-256: f6e39e7f52e551a2ec0e3e9e4e990d06e2c4e14a4d696701fc77554f5536e526.

Production build 46/46. Both complete original patch files pass 47/47 in Home and pinned Bun (29 patch + 18 install-patch), including all four previous diagnostic failures. Both original link suites remain 11/11 per runtime. All six private native regression files pass, including the eight patch variants and bin ownership. Sources and external/inline snapshots remain unchanged; original patch JUnit case counts independently match 29 and 18.

Final committed evidence, patch baseline. Earlier failures remain in separate committed bundles. Generated per-run temp/cache directories and registry data were cleaned up; logs, JUnit, inventories, and relevant global fixture archives remain retained. macOS arm64 is verified; platform-wide execution, full corpus/CI accounting, default fallback removal and independent build ownership remain open under #66. #718 retains Windows filesystem verification.

Initial diagnosis and acceptance

Refs #66, #703, #709.

Home's strict native dispatcher does not activate the owned PatchCommand/PatchCommitCommand. On runtime 747a7ef75582e123aa5cbb62e7aebdab5ce4c275, the unchanged original bun-patch.test.ts error-message group reports 0 pass / 3 fail / 26 filtered out: patch, patch --commit, and patch-commit each report Script not found. Pinned Bun 4982b91e3702094330f3be3883354c52b8c01323 passes the same three cases. No test source or deadline changed; filtered cases are not coverage.

Native command activation is pushed in b61c84476; build and verification are pending. This issue covers actual patch creation and application, not just entrypoint diagnostics.

  • Build the native activation and retain the initial failing control.
  • Verify the three original error-message cases.
  • Verify real package preparation, edits, committed patch contents, manifest/lockfile updates, cache preservation, and frozen reinstall applying the patch.
  • Verify the relevant original patch suites and keep unexecuted/failed cases explicit.
  • Publish compressed evidence and update #66.

Current evidence: zig-out/bun-port-recovery/native-patch-entrypoints/manifest.json, with individual Home/Bun logs and diagnose-native-patch.py. Originals remain unchanged. macOS arm64 is the available execution host; platform-wide completion remains open.

9 days ago

Native activation is pushed in b61c84476, and d5f33a3f4 adds an eight-variant lifecycle regression: plain/scoped package names × hoisted/isolated linker × both commit spellings. It checks actual tarball downloads, patch preparation, changed/added/removed files, a custom patches directory, manifest and frozen-lock preservation, reapplication after removing node_modules, and cache isolation against another unpatched install. Build and runtime results remain pending.

The initial original diagnostic comparison (Home 0 pass / 3 fail, pinned Bun 3 pass / 0 fail, 26 filtered cases excluded) is retained in the initial evidence manifest. Refs #66, #718.

9 days ago

The real eight-variant native patch lifecycle passes, including cache isolation and frozen reapplication. The full unchanged original files now report Home 43 pass / 4 fail and pinned Bun 47 pass / 0 fail (29 cases in bun-patch, 18 in bun-install-patch). All source/inline snapshots stayed unchanged; JUnit reports, full output, and generated fixture inventories are committed with the build evidence.

The four failures are actual omitted diagnostics: three missing-argument messages in the older Zig parser differ from the pinned runtime's newer Rust parser, and SystemError.format was still omitted from Home's prior partial port. a4b73596f ports the precise command usage/help diagnostics and restores shared native SystemError formatting (including error-code description, path, syscall, and color policy). It does not special-case a test or rewrite expected output. Build and rerun are pending. Refs #66, #718.

Sign in to comment on this issue.