ReviewOS

home-lang/home

Native path.format: preserve indexed extension and coercion semantics

#900
Open chris opened this 8 days ago ·
8 days ago

Parent #66; related #898/#899.

Native source 6826c3f99 is published on main through ac74dd8cd. The adapter reads the original extension's index zero before coercion, compares it strictly with the dot, and preserves original truthiness independently from coerced length. Short-circuit getter order, raw root identity, direct base returns, empty coercions, symbols, arbitrary thrown values and UTF-16 code units are preserved. Indexed-return values and retained fields remain rooted across callbacks and GC.

The general Bun option helper deliberately retains zero/false; path format now performs a local property read plus the engine's actual JavaScript ToBoolean. Other option semantics and linked SDK layouts remain unchanged.

Verified evidence: build 56/56, all 358 actual Node v26.10.0 format comparisons pass, plus the earlier 3,065 path comparisons. The fresh unchanged 157-file integration batch has 396 passing cases, 142 process checks, zero failures, 37 case skips and three skipped files; all validators pass. Dirent control, ABI 10 tests/58 assertions, Pickier, Zig formatting and the 12,996-entry audit pass. The baseline probe and initial 310-row truthiness failure remain retained. Installed Bun 1.4.2 still fails the coercion control and is not a rebuilt pinned reference.

Remaining acceptance:

  • Actual Windows execution, separately recorded from Darwin path.win32 controls.
  • Rebuilt pinned-source comparison alongside the installed baseline.
  • The entire #66 feature/suite/all-platform objective remains open; skips and unsupported hosts receive no passing credit.
8 days ago

Native path format checkpoint: source 6826c3f99 and 841 Git-verified evidence artifacts are on main through ac74dd8cd. Native format now preserves indexed extension reads, strict dot comparison, JavaScript truthiness, empty coercions, root identity, direct base returns and getter/coercion order, with GC roots across callbacks. Build 56/56; all 358 new actual Node comparisons plus the prior 2,601 code-unit and 464 Unicode comparisons pass (3,423 total). A fresh unchanged 157-file batch has 396 passing cases, 142 process checks, zero failures, 37 case skips and three skipped files; all validators pass. Dirent control, ABI (10 tests/58 assertions), Pickier, Zig formatting and the 12,996-entry integrity audit pass. Earlier failures and the separately installed Bun 1.4.2 baseline remain retained. #900/#898/#899 retain actual Windows and rebuilt pinned-reference gates. The next broad audit is the unfinished Bake/HMR graph and its relaxed ClientFile.Packed invariant. The entire #66 feature/suite/all-platform objective remains open.

Sign in to comment on this issue.