Executable POSITIONT COM/allocator qualification fixture, 2026-10-23

Implemented test/test-d3d9-positiont-com-qualification.js, an explicit prebuilt-only integration fixture for complete accepted candidate 5427a9e2e7d20984249cadcf67f1cb33cc9d85c0. Independent source/software acceptance is 6ac29d0c4bd8def2f5cf06d4cac1795a08f1e754; its 29 seals are coordinator-verified input evidence, not new COM acceptance. Remote main independently reconciled read-only to bb9c496ed13095cc832fdf607f0937fb9c14b7de before implementation.

Full COM/native allocator execution: NOT EXECUTED. No canonical source compilation, 512 MiB instantiation, browser, GPU, game or Boat operation occurred. The deliverable is runnable code with offline-qualified entry/negative controls, not acceptance of its unexecuted integration assertions. No production renderer source changed. The only existing files changed are test/render-helper.js (optional prebuilt Module, lazy compiler import) and tools/test-tiers.js (explicit e2e entry). Existing multi-stream and depth-release conventions are reused; existing numerical/fragment fixtures are not duplicated or requalified.

Integration behavior to execute later

The fixture enters 25 actual guest-facing COM handlers through diagnostic WAT exports, including arguments beyond parameter five on the guest stdcall stack, and connects gpu_gl_call to the production Bridge/software consumer. Buffer and declaration Release use the shared Shader9 handler the canonical dispatch table uses for those COM methods. This is handler-level COM qualification, not an x86 caller/RET/thunk-dispatch test. It initializes the production heap explicitly at guest base0x01000000 without loading a PE. No fixture allocator/free implementation is substituted. Native heap counters, allocation extents and address conversion are diagnostic observations only.

Baseline input IDs and required assertions:

The queue owns copied payload bytes. Native byte copying occurs before the producer's real bundle free. Per-case logs carry input ID, route/compiler/fallback counters and framebuffer SHA256. A final success record includes module/input IDs, observed reused addresses, requested reuse bytes and allocator counters.

Three separately executable meaningful negative controls must exit1 after their ARMED negative control ... marker and at the target behavior: disable-shared-route must fail the first native descriptor selection oracle; alias-queued-bytes bypasses the queue's defensive copy and must fail queued byte/native execution after mutation; corrupt-queued-ir poisons queued pixel IR and must fail native execution/pixels. A guard, setup failure, timeout or failure before the marker is not successful negative evidence. Each uses a fresh process.

Mandatory prebuilt provenance and exact future commands

The fixture never imports the source compiler. Missing flags or provenance fail before importing render-helper/host/canvas or creating memory. It requires an explicit diagnostic module/provenance pair, hashes the actual module, rejects unknown fields' required values, validates required native/function exports and canonical host.memory presence, and verifies every pinned local source/compiler blob before booting. test/support/positiont-com-source-pins.json contains exact candidate blob identities; current main cannot silently replace candidate source. This is a reproducible build receipt/integrity check, not a signed attestation.

The required diagnostic closure is exact src/main.watx and its includes, canonical production/standardWat/no-runtime-builtins options via compile-src and watx-closure, tailCalls=true, with only the exported extraWat string appended to 13-exports.wat. No native compiler, rasterizer, allocator, handler or canonical production source is rewritten. Extra WAT SHA256: 4bd65ac87452abb4ec5f728f88b399439c9fa4fec91a53b3e6cb96468f58d068. Pinned source/compiler map SHA256: f108ba0cae9dccea9d1628a7581e032e4743cfa54b2da4a21420857e7b7e3cfc. The exact required export list is requiredExports in test/support/positiont-com-module.js and in evidence check-07.log; it includes all29 q_* diagnostic exports, heap_init, production allocator/map/free functions, native shared fixed compiler/free, VM, software raster and state-binding exports. The full list is checked before instantiation; no missing-export fallback is allowed for the qualification entry. Plain shipped canonical modules lack q_* and must reject. Diagnostic artifact SHA is recorded separately from any shipped canonical module SHA; no diagnostic module has been built in this task.

Future operator needs a complete checkout preserving the accepted candidate source plus these fixture/support changes, existing package dependencies (including pngjs for render-helper), compatible installed Node with Wasm SIMD/tail-call support, and separately authorized compilation/512MiB runtime resources. The current task's64MiB disk admission does not admit a future full build or its outputs. Do not copy a compiler or acquire dependencies under this task allocation. In the separately admitted checkout, create an empty output directory and execute exactly:

timeout --signal=TERM 900s node test/support/positiont-com-module.js --build-diagnostic /ABS/OUT/positiont-com-diagnostic.wasm /ABS/OUT/positiont-com-diagnostic.json
timeout --signal=TERM 120s node test/test-d3d9-positiont-com-qualification.js --qualify --module=/ABS/OUT/positiont-com-diagnostic.wasm --provenance=/ABS/OUT/positiont-com-diagnostic.json --allow-512m
timeout --signal=TERM 120s node test/test-d3d9-positiont-com-qualification.js --qualify --module=/ABS/OUT/positiont-com-diagnostic.wasm --provenance=/ABS/OUT/positiont-com-diagnostic.json --allow-512m --negative-control=disable-shared-route
timeout --signal=TERM 120s node test/test-d3d9-positiont-com-qualification.js --qualify --module=/ABS/OUT/positiont-com-diagnostic.wasm --provenance=/ABS/OUT/positiont-com-diagnostic.json --allow-512m --negative-control=alias-queued-bytes
timeout --signal=TERM 120s node test/test-d3d9-positiont-com-qualification.js --qualify --module=/ABS/OUT/positiont-com-diagnostic.wasm --provenance=/ABS/OUT/positiont-com-diagnostic.json --allow-512m --negative-control=corrupt-queued-ir

Expected exits: build0, baseline0, then1/1/1 at their armed target failures. Stop on first build/baseline failure, wrong hashes/source/export/memory, allocation/reuse bound, timeout, or unarmed control failure. Do not retry an unchanged admission denial or compile automatically. Preserve logs/module and source/provenance hashes; report to coordinator. Full COM success still would not qualify WebGL1/2 driver pixels, game behavior or general fixed compiler paths.

Executed offline evidence and resource accounting

Evidence directory: scratch/runs/20261023-render-positiont-com-qualification-fixture. checks.json records exact argv, exits, cwd, expected rejection exits and logs. Five JS syntax checks exit0. The offline guard exits0 across11 control groups: default/incomplete CLI and accidental build flags, thirteen provenance fields, changed module bytes, missing module/source/export, changed candidate source, full-frame black/pixel/depth rejection, missing/wrong native route, actual queue copying and intentional alias rejection. The helper prebuilt branch uses a real empty8B module SHA256 93a44bbb96c751218e4c00d479e4c14358122a389acca16205b1e4d0dc5f9476, 64KiB shared memory, and host/canvas stand-ins. Those stand-ins establish only the boot branch's no-compiler behavior; they do not qualify COM/heap. No native fragment compiler was invoked. Extra WAT was parsed only (29 forms). Exact source/compiler blobs were verified. Full candidate Git filename metadata plus the two new tests passes tier validation:2087 tests,1655unit/426e2e/6smoke. This metadata-only tier check does not execute the other tests in a focused tree. Bare fixture and bare builder each exit1 EXPECTED without loading compiler/host.

Initial measured manifest before checkout:19,772,922B source/Git material, 16MiB growth and8MiB reserve, projected44,938,746B<64MiB; host projected free 6,504,163,846B>2,982,150,144B floor. A second focused measured admission adds 16,973,198B exact pinned blobs from existing read-only root Git objects that were absent/different in donor working files; projected53,719,777B including 8MiB growth and8MiB reserve remains within cap. No broad fetch/archive, links, installs or donor metadata writes. Installed Node/Python/Git/SSH execute in place; their standing identities/sizes/SHA256 are recorded separately in admission.json. Task copies, Git, source, evidence, temporary files and launcher/watch logs are counted by the final resource receipt; no copied executable is excluded.

An initial guard metadata check searched only09ad for Buffer Lock/Unlock and failed; it now checks09ad and09ae. An initial broad git diff hit absent thin-repo blobs and segfaulted; focused base blobs were read from the existing root object donor for narrow diff checks. No source/compiler/runtime failure was concealed as a fixture pass. Publication uses an isolated Git index/branch and explicit owned paths; all inherited candidate tree entries must be preserved.

No box assigned/contacted. bx_fn7pn7yg remains coordinator-reported snapshot STOPPED, historical expiry03:46:00.580Z, unprobed here. Coordinator owns lifecycle. Parallel ShadowMan/POSITIONT/RichEdit, Claude B&W2, and laptop HeroesII/Warcraft ownership remains untouched. No workers, main merge, deployment, runtime or replacement assignment. Stop after tested commit/push/remote verification.