4.2 KiB
Independent correction verification plan
Session run-ee78b8773688ca09f8046e21; actor research-abi-correction-verifier;
model openai/gpt-5.6-sol. This plan predates the verifier capture. It covers static
reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.
Required identities and positive execution
The assigned paired source manifests must rehash to engine
ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd at HEAD
7741d42fc5e4e761e6449bdaf0e4a61d00036a23 and RE
6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at HEAD
3bfde5a70d874a723e797a695bbd847fd82c0aa7. The input must be 7,898,624-byte
dumps/sots.exe SHA-256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841.
The instrument must be 373,888-byte /usr/bin/objdump SHA-256
1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd, GNU
objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.
Falsifiers
- Any source, binary, tool, command boundary, byte count, or digest mismatch fails reproduction; a decoded-looking listing does not override provenance failure.
- Any write to
[EBP-0x20]in get/create before the call at0x00885413falsifies the corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime value, randomness, or allocator safety. - Failure of append to copy source
+4to destination+4, or advancement of_Mylastbefore nested copy returns, falsifies the claimed append ordering. - A final requested-turn store before temporary nested cleanup, or a returned pointer other
than
_Mylast-0x18, falsifies the usable miss-path postcondition. - A nested-copy destination not initialized to three null pointers, allocation on its empty
branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than
0x74falsifies the nested ownership interpretation. - A null nested-vector destructor path that destroys/frees, or a nonnull path lacking
per-element virtual destruction,
0x00924faafree, and final three-pointer zeroing, falsifies cleanup accounting. - Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four declared windows fails the package even if surviving hashes match.
Required branch exposures and distinct states
- Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the last; hit early return with no construction; and miss construction through cleanup/final store. These are static control-flow states, not executed runtime fixtures.
- Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the source-inside-vector branch must be distinguished where the window exposes it. No allocation failure is claimed executed.
- Nested copy: empty source (no allocation) versus nonempty source (allocation and
0x74-stride range copy), plus visible unwind edge without claiming a thrown execution. - Nested destruction: null first pointer versus nonnull element loop/free, including final pointer-zero state.
- Ordering: incoming transient scalar copy, nested copy completion, outer
_Mylastadvance, temporary nested cleanup, requested-turn publication, then returned last element.
Held-out challenge / ablation
In addition to byte-for-byte reproduction of the four handoff commands, capture each window with
its stop address widened by four bytes. Require every original stream's instruction rows to be an
exact prefix of the widened stream's rows and inspect the first added instruction. This challenges
the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance
failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes
through 0x00885413; do not infer the answer from report prose.
Acceptance limits
Success is an independent static full compare of four windows plus a static boundary ablation. It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live nested-copy state, transient observation, and induced unwind remain residuals.