Skip to content

fix(aot): retain host evaluators only through reachable calls - #52

Merged
vincentkoc merged 2 commits into
openclaw/mainfrom
claude/fix-aot-private-evaluators-20261105
Nov 6, 2026
Merged

vincentkoc merged 2 commits into
openclaw/mainfrom
claude/fix-aot-private-evaluators-20261105

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Problem

When a program evaluates text, runUnseenCode treats every EvaluatesText builtin as called. This also retains private Bun host evaluators that unseen JavaScript cannot name, keeping internal testing support in compiled programs.

Change

Limit implicit evaluator roots to engine builtins. Reachable host calls still use the existing call/event analysis and keep truthful evaluator metadata.

Qualification adds two real Bun-host IR regressions from immutable Bun source 02526c26fb9cbf76c9748e9ed3ae67020d99dd77, verifies their SHA-256 digests, and runs the existing native control for all five language evaluators. The frozen Bun consumer, compiled inputs and existing qualification gates remain unchanged. Matching test programs come from the existing Ninja graph. Release notes describe the corrected behavior.

Validation

  • Native baseline counterfactual: the unreachable-private-evaluator regression fails, while the explicit-call control passes.
  • Final head 75a16eef9d7a0f54946ec2e004f410924d1015c9 passes Linux native, Windows ARM64 build/native qualification and macOS cross-build, plus Linux ARM64.
  • The final Linux native log records both Bun-host fixtures OK with 2 passed, 0 failed, 0 todo, and closed-world/evaluation/program-that-evaluates-text-keeps-every-evaluator with 1 passed, 0 failed, 0 todo.
  • Shell syntax, diff whitespace and 45 consumer-identity tests pass. Final full-range local ClawSweeper review from 7bf742934b5a72aefaac2dcd993e20d6b0e388c5 through 75a16eef9d7a0f54946ec2e004f410924d1015c9 found no actionable correctness or security defects. Independent engine, qualification and release-note reviews also pass.

Upstream source-only draft: oven-sh#998. Native execution of that exact upstream-base commit remains pending.

Part of openclaw/bun#221. Production delta: 3 additions/1 deletion; qualification: 25 additions using existing tools and test owners. This source PR includes no artifact publication or Bun pin change. Native Darwin consumer qualification remains a gate of a separately approved artifact publication.

@vincentkoc
vincentkoc marked this pull request as ready for review November 6, 2026 01:20
@vincentkoc
vincentkoc merged commit 8c0ebbe into openclaw/main Nov 6, 2026
5 checks passed
@vincentkoc
vincentkoc deleted the claude/fix-aot-private-evaluators-20261105 branch November 6, 2026 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant