ReviewOS

home-lang/home

VM parity: honor displayErrors and suppress stack getter side effects

#892
Closed chris opened this 8 days ago ·
8 days ago

Tracked from #66 and #891.

The native Script runner parses displayErrors but always calls the VM stack decorator. As a result, displayErrors:false still prefixes the source filename/line and source text in runInThisContext, runInContext and runInNewContext. It also invokes a user-defined error.stack getter that Node leaves untouched when decoration is disabled.

Acceptance: default/true retain source decoration; false preserves the original thrown error and avoids stack getter reads; nested boundaries decorate only when enabled and at most once. Node v26.10.0 diagnostics establish all 14 method/nesting/getter outcomes.

Completed in 57f6260bf and published with 790 verified evidence artifacts in 4041585dd. The 56-step build, six focused commands and all 14 exact Node/Home diagnostic rows pass. Tests cover all three script execution methods, default/true/false behavior, thrown-error identity, stack-getter suppression, and nested decoration occurring at most once. Pickier and whitespace checks pass. Baseline discovery covers every one of the 97 unchanged pinned parallel test-vm files, plus two Bun-specific VM files. The additional context/module, watchdog/microtask timeout, memory, SIGINT, caught-parse-error and low-stack batches all passed unchanged at baseline. Full suite/platform acceptance remains tracked in #66.

The complete VM file aggregate contains 234 passing registered cases and 92 passing process checks, zero failures, two skips and 66 TODOs. Skips/TODOs receive no completed-feature credit. #66, #885 and #891 retain their broader acceptance work.

8 days ago

Completed in 57f6260bf, published as 4041585dd. Build 56/56, six focused commands and 14 exact Node/Home display rows pass. Evidence. The broader VM/suite acceptance remains open.

Sign in to comment on this issue.