[codex] Honor well-known archives in no-auto links#4242
Merged
proggeramlug merged 1 commit intoJun 3, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #3954.
Summary
--no-auto-optimizecompile path still resolve prebuilt well-known wrapper archives from the finalized native-module import set.PERRY_NO_AUTO_OPTIMIZE=1optimized-lib branch on the same no-auto resolver so env and CLI behavior match.js_ws_*_client_i64) to thewswell-known wrapper owner.Root Cause
Current
mainno longer has the HTTP owner-table gap fixed by #4216, but the compile driver still returnedOptimizedLibs::empty()whenever no-auto optimization was enabled. That skipped the prebuiltperry-ext-http,perry-ext-net, andperry-ext-wsarchives even when codegen had recorded wrapper-owned FFI symbols after module collection.Non-Goals
This does not change HTTP response/body behavior or request validation semantics. The HTTP parity suite still has runtime/output mismatches; this cut is limited to eliminating the no-auto compile/link failure tail.
Validation
CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target cargo build --release --quiet -p perry -p perry-runtime -p perry-stdlib -p perry-ext-http -p perry-ext-net -p perry-ext-wspassed with existing warnings.CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target cargo check -p perry -p perry-codegenpassed with existing warnings.CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target cargo test -p perry no_auto_still_resolves_prebuilt_well_known_archives -- --nocapturepassed.CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target cargo test -p perry-codegen emitted_http_suite_external_symbols_route_to_owners -- --nocapturepassed.cargo fmt --all -- --checkpassed.git diff --checkpassed../scripts/check_file_size.shpassed.PERRY_NO_AUTO_OPTIMIZE=1 CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target npm exec --yes --package=node@26 -- bash -lc "node --version; ./run_parity_tests.sh --suite node-suite --module http --filter header-state-controls"ran on Node v26.3.0 withCompile Fail: 0; it exits non-zero due the existing header-method output mismatch.PERRY_NO_AUTO_OPTIMIZE=1 CARGO_TARGET_DIR=/root/perry-worktrees/perry-node-http-validation-tail/target npm exec --yes --package=node@26 -- bash -lc "node --version; ./run_parity_tests.sh --suite node-suite --module http"ran on Node v26.3.0 withParity Pass: 5,Parity Fail: 12,Compile Fail: 0,Skipped: 0; it exits non-zero due existing HTTP runtime/output mismatches.