Airstrike pre6a original gameplay — 2026-10-24
Verified bounded ordinary gameplay, movement and firing on the retained historical full module. The original EXE and unchanged configuration/assets executed with eight authentic DLL providers. Three reviewed final-run frames show the blue human plane at approximately (440,580), (380,505), then (315,589), changing heading during held acceleration/Left and displaying a bullet stream during held period/fire. The original Console window covers the upper 336 pixels; the lower game scene and plane remain visible. This is bounded gameplay evidence, not long-session stability, audio-listening, complete API coverage, a fresh build, or current-main qualification. Independent acceptance remains separate.
Evidence is adjacent in airstrike-retained-codec-gameplay-20261024/. gameplay/{before,movement-fire,after}.png, gameplay/output.log, gameplay/guest-process.json and gameplay/terminal.json bind observations to actual inputs, argv and execution. screenshot-review.json records exact screenshot hashes/dimensions and 27,436 / 26,688 changed pixels between frames (14,267 / 12,628 below the Console). Pixel differences alone do not establish input causation; visual review and the delivered input log support the scoped observation.
Exact tested identity
- Historical source/harness:
b41a7c5f4b752d1f0bdab1141a11d4fed4dc6f9a, read-only canonical donor/home/user/wine-assembly-shadow-man-span-static-canonical-oct23.test/run.jsSHA-2564d7b9587676db38fcf3314807acb2b2a42b5f09d2c98fcf3dccb8a6cde9e1809. - Full module: 1,879,746 bytes, SHA-256
8fac39936b6df2418ad86cab118cef19a65a727f649fbc14c412b37818904686, standingbuild/wine-assembly.wasmin that donor. It was copied and hash-checked, never rebuilt or substituted. - EXE: 143,360 bytes, SHA-256
0e6f5450109c4c83e97bcf263bc90dc2d64dd83587356dd8a87994cc4246b474. Original config SHA-256f7c455015f727a1b37b57b84bc48d6a2413c3a6664e94de96e937b8f02faf835; EXE/config/all data total 81 files / 2,632,138 bytes. Original windowed 800×600, alpha2, sound1, one human, relativedatapath and CWDC:\preserved. - All eight DLL paths/sizes/hashes, all 81 asset hashes, all exact historical runner/runtime files and the 23-file pngjs7.0.0 package are in
complete-runtime-manifest.json: 261 files / 17,345,286 bytes, all remotely rehashed after execution. Original release and authentic zlib are retained at the task-supplied/tmp/airstrike-original-private-oct23/.../release/airstrike-pre6aand/tmp/airstrike-legacy-zlib-private-oct23/.../zlib.dll; standing MSVCRT remains in/home/user/wine-assembly/test/binaries/dlls/msvcrt.dll. - Report-only checkout base: accepted main
f42083c61a18d56fd739d3cd702c4d67d36784b7, read-only object alternate to/tmp/legacy-texture-disable-capability-independent-integrate-oct24/repo. This base was not the tested emulator source. Root tracked files/index/refs and all standing donors were untouched.
Admission and prerequisite corrections
Initial consolidated measured admission passed at 55,503,442 / 67,108,864 task-owned bytes. Direct bounded API transfer created one final remote payload, without local payload/archive or remote archive copies. Standing tools/donors are separately identified; Node/Python executables were used in place. The exact retained PNG package passed a local 2-pixel encode/decode control before staging and a remote ordinary-resolution/rasterCanvas/renderer control afterwards. No packages were installed or downloaded; optional skia/headlessGL routes were not enabled.
The inherited 125-file manifest was incomplete for actual runtime paths. Two preserved pre-guest attempts stopped on missing subset fonts and then tools/region-layout-hash.js, before any guest instruction. Same-task correction supplied 20 exact historical subset fonts (617,924 bytes) and three exact helper files (21,232 bytes) from the canonical Git donor, without changing source or substituting fonts. A literal-require closure check found only one unresolved relative text, an example in the comment at tools/disasm.js:10. All 28 font mounts passed the path control. Corrected consolidated projection 56,142,598 / 67,108,864, including transport, both-host evidence/checkouts, session/events, positive SQLite growth/future growth and an internal 8 MiB reserve. Final measurements are retained separately.
The first oversized transport command received platform E2BIG / status400 before any write; batches were reduced to 36,000 raw bytes. An internal oversize subset batch assertion prevented transfer and was corrected by the same bounded slicing. There was no access403 or credential/access-control retry. Setup history also retains a quoted-command syntax correction, a missing-evidence read, and the corrected static ABI reader. These are setup/bookkeeping corrections, not guest failures. Initial oversized instruction captures were conservatively charged 200,000 bytes; no universal output-guard claim is made.
module-abi.json records all 291 import signatures and required shared-memory declaration (8192 initial / 32768 maximum module pages). Static region stamp and exact historical mirror both equal 9a3bc9149d58209c. The owned observing preload checked every actual host import and the fixed 512 MiB shared arena, then recorded successful native instantiation before guest execution in each run. It supplies no API stubs and does not alter the guest or interpreter. The existing production harness constructs initial=maximum8192 pages; oldspace was512 MiB. --no-threads selected cooperative guest threading in the same native process; the game's audio guest thread still appears in harness logs.
Execution and observed input
All authentic DLL DllMain calls succeeded. Sound output opened at22050Hz mono16bit; audio was not listened to. No genuine import/API/instruction/asset fault occurred; the five static API warnings remain unexercised risks rather than globally cleared APIs.
There were four sequential native startup/input runs, with no overlap: initial 60-second startup (19,339 batches), then 2,400-, 3,500- and 4,500-batch timing observations. All returned0, no guest trap, no arena/process overlap. Each earlier run and its screenshots/logs/terminal receipt remains retained under startup/, observed-input/, final-input/. Earlier nominal before-captures were during sprite loading, so those runs are not represented as successful before/during/after acceptance. The final schedule was chosen from those actual observations rather than claiming predetermined timings worked. This involved no production repair or retry after a genuine guest fault.
The original source-backed controls retained in the accepted original-game report identify comma188 as acceleration, Left37 as turn and period190 as fire; Blue Baron is the default human. The actual final schedule was:
1600 keydown Enter13; 1610 keyup13
2100 keydown comma188
3000 before.png (accelerating, before turn/fire)
3100 keydown Left37; 3200 keydown period190
3600 movement-fire.png
3800 keyup37; 3900 keyup190; 4000 keyup188
4400 after.png; stop after4500 batches
The baseline is already accelerating; the comparison demonstrates subsequent turning/movement and held firing, not an idle-versus-acceleration experiment. gameplay/output.log records both scheduled events and ordinary routed WM_KEYDOWN/WM_KEYUP deliveries. Screenshot claims are scoped to what is visible. The blue plane eventually descends toward the ground; survival and complete controls were not tested.
The final run executed2026-10-24T02:19:20Z–02:19:28Z, native PID/PGID28336, exit0, elapsed8.192s. Full argv is in gameplay/guest-process.json; it explicitly specifies --no-build, exact --wasm, original EXE, all eight --dlls, repeated VFS includes, CWD,512MiB arena,60-second harness guard, bounded batches and input/capture paths. The parent enforces90s CPU/wall and24MiB per-file; streaming logs are capped1MiB. control/ verifies rejecting admission prevents a sentinel execution, and an actual parent+descendant ignoring TERM receives TERM then KILL after5s and is fully reaped. Normal guest groups exited without needing TERM/KILL; their terminal receipts all show remaining: []. Final exact-argv process inspection found no runner descendants. One broad substring process probe matched its own inspection command; the corrected exact-argv probe is authoritative.
Recovery and lifecycle
Ignored game binaries, original archives and runtime files are not Git backups. complete-runtime-manifest.json retains exact Git source paths and local donor paths plus all hashes, while recover.py --verify-local verifies those standing bytes without executing a guest. recover.py --print-launch NEW_REMOTE_ROOT prints the actual final argv with relocated paths. Supply exact retained files to those paths, preserve the helper/evidence layout, repeat both-host admission and PNG/font/ABI checks, and obtain a coordinator-assigned live box before replay. The retained admit-stage.py and supervisor variants record this historical execution; do not replay their fixed old box ID or expired allocation. No source compilation/default build fallback is authorized.
Assigned box bx_754uted8 remains running (Boat API state idle, health ok), expiry2026-10-24T02:47:54.626Z. Coordinator owns shutdown/snapshot and02:37 checkpoint. Runtime root /home/user/airstrike-retained-oct24 retains exact payload and every attempt, with no guest groups left. No stop/delete/resume, public hosting, worker launch, other game, main integration or standing-donor mutation occurred. The board watcher is cleaned up at handback. Metadata results.json is written last in this investigation evidence directory; Airstrike has no candidate-corpus entry, so no unrelated dashboard candidate or scratch/runs record is fabricated.
Before publication, the focused checkout/Git/report allowance was increased within the existing cap to include the committed PNG object copies: final projection 60,336,902 / 67,108,864 bytes. No cap or host-free floor was relaxed. resource-final.json records actual task/session/positive SQLite growth and the retained future allowances. validate.py passes without guest replay, including matched input delivery, actual ABI receipts, screenshot seals and the exercised TERM/KILL/reap control. Recovery verified all261 retained inputs. The ops containment checker reports zero runs/errors/missing/invalid after creating an empty private scratch/runs directory; it does not validate these unregistered investigation notes or establish gameplay itself.