ReviewOS

home-lang/home

Repair native shell pipeline executable resolution

#89
Closed chris opened this 10 days ago ·
10 days ago

The native Bun shell pipeline corpus regressed after nested corpus processes began using the active Home executable. The pipeline harness rewrites the home-debug basename even when bunExe() already returns an absolute path, duplicating the executable path and silently dropping subprocess pipeline output. Root-level ./util imports are also rewritten to a synthetic ../util alias instead of resolving relative to js/bun/shell.

Acceptance criteria:

  • preserve absolute active Home executable paths in native pipeline commands
  • resolve root shell ./util imports contextually without colliding with other corpus util modules
  • pass upstream pipeline_stack.test.ts (63/63)
  • keep assignments, lex, and parse shell fixtures passing
  • pass the complete home_test gate with zero failures

Tracks the bounded regression discovered while advancing #66 and #81.

10 days ago

Fixed and pushed to main in d37a98a (fix(test): preserve shell pipeline executable paths).

Verification:

  • exact upstream pipeline_stack.test.ts: 63 passed, 0 failed, 0 unsupported, 0 todo
  • affected assignments-in-pipeline.test.ts: 38 passed
  • affected lex.test.ts: 29 passed
  • affected parse.test.ts: 18 passed, 1 todo, 0 failed
  • zig fmt --check and git diff --check: passed
  • complete home_test gate: passed with zero failures

The fix preserves an already absolute active Home executable instead of duplicating its path, and resolves root shell ./util imports contextually. Pushed through merge head 36690c7 after integrating the concurrent main update.

Sign in to comment on this issue.