Gate native-only harness code in WASM builds
Problem
Native-only harness helpers, imports and custody fields were compiled into wasm32, producing warnings. The browser qualification commands also referenced integration targets that no longer exist, and the current WASM test targets had missing imports and fixtures with native-only future types.
Design
Gate native-only members at their definitions and uses, preserve the ordinary fallback exits explicitly, and keep portable fixtures on BoxProviderFuture. Compile the browser library and its integration target with warnings denied. Qualification uses the existing main target and one browser,test-support feature closure; the provider WASM step also denies warnings.
Deletions
Remove unused native members from the WASM build and replace stale integration target names. No warning suppressions, extra runtime state, APIs or compatibility paths. The follow-up delta over #508, excluding commits already on main, is +269 / -159, net +110 across 62 files.
Tests run
All builds and tests ran sequentially through bs.ps1 on bb1.
- Provider WASM: 9 tests executed with wasm-bindgen-test-runner and -Dwarnings; all passed in 0.07 s.
- Harness WASM: library and main integration test targets compiled with browser,test-support and -Dwarnings (59.10 s build).
- Native media boundary: 1 passed in 0.20 s; public consumer: 2 passed in 0.01 s; file-driven goal continuation: 1 passed in 0.44 s (built binaries, shared 1m54s build).
- Known baseline failure: effects::effect_request_and_result_bodies_never_enter_stream fails its bytesCopied growth assertion in 0.03 s both here and on clean origin/main bf727ef89 (baseline build 1m43s). The assertion is preserved; this is not a new warning-cleanup regression.
- git diff --check passed; no new allow attributes.
Decisions
Depends on #508; land #496, #498 and #508 first. Includes main through bf727ef89 and the refreshed provider stack using signed merges. The graph-only restack at 9258a7bd5 matched the validated c20cd3e4d tree exactly. The latest restack additionally carries #498's tested Codex control fix; that code and its test module are native-only, leaving the WASM build unchanged. This changes platform gating and fixture signatures, with no parser or synchronization algorithm changes. Existing parser properties/fuzz targets and instrumented synchronization models are retained.
The remote build environment has no Chrome/WebDriver executable in PATH. The harness browser suites are compile-gated here and execute through the existing headless browser runner in qualification; provider fetch/WASM behavior executes through its Node runner on bb1.
Inherited review follow-up: explicit Codex tool controls are fixed in #498 and carried here. The fresh-input token upper-bound concern remains unresolved; see the counting thread and #496's recorded limitation.