Skip to content

fix(aot): isolate require namespace markers from imports - #46

Merged
vincentkoc merged 2 commits into
openclaw/mainfrom
claude/fix-aot-namespace-markers-20261101
Nov 2, 2026
Merged

vincentkoc merged 2 commits into
openclaw/mainfrom
claude/fix-aot-namespace-markers-20261101

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Compiled require(esm) currently marks the namespace shared by import(). Give require() its own cached live facade, preserving the unmarked import namespace, explicit CommonJS exports, dynamic/mock updates, and host conversion identity. Invalidate captured-export caches when the facade structure changes.

This integrates the fix with the upstream sync landed in PR34. Both branch parents are retained; the sync's upstream history is preserved. The regression keeps the original main entry and admits the second entry used by the host API.

Validation:

  • Fresh native qualification on synchronized source 1281 passed all 11 namespace cases, four API cases, four GC stress cases, all 17 async-stack configurations, full AOT feature admission, and shell-disabled API linkage. All eight tested source/test afterimages match this branch; artifact 13125718333 and all 25 archive links were verified.
  • The captured-export cache RED/GREEN remains historical 163 evidence, with exact production-source identities checked. It is not relabeled as a fresh 1281 reproduction.
  • The paired Bun CommonJS-forwarding regression failed before and passed after its caller repair through actual bun bd test. The ordinary/AOT mock probe confirms raw mock factory exports remain unchanged.
  • Fresh independent source and fixture reviews completed without actionable findings.

The native host proof covers one loaded image. Final Linux/Darwin Release and OpenClaw/Birdclaw qualification is tracked in PR45; the broader Bun Debug suites have investigated timeouts and are not claimed fully passing. No release, tag, shipping pin, or artifact promotion is included.

Current-head CI: Windows ARM64, Linux ARM64 and macOS cross-build pass. Linux native and AOT builds pass (1,509,957 native checks); the consumer phase stops at upload-pack: not our ref 882b3ce222db5f51adde7dce65bf6262aeb7335f. The source pin, fetch owner and workflow are byte-identical to current main. This is an inherited acquisition failure, not a Bun consumer verdict. #45 replaces that pin with publicly fetchable qualified source and owns the fresh matched consumer gates. Failed consumer acquisition run.

@vincentkoc
vincentkoc marked this pull request as ready for review November 2, 2026 09:22
@vincentkoc
vincentkoc merged commit 0c97091 into openclaw/main Nov 2, 2026
4 of 5 checks passed
@vincentkoc
vincentkoc deleted the claude/fix-aot-namespace-markers-20261101 branch November 2, 2026 09:39
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