3.3 KiB
Independent ABI verification plan
Session run-6c7a726f5a2849ef0407876f; verifier research-abi-independent;
requested model openai/gpt-5.6-sol.
This plan was fixed before running the independent objdump reproductions. The object is the
owner-supplied dumps/sots.exe whose required SHA-256 is
970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841.
Falsifiers
- Stop if the executable hash, GNU objdump identity, paired baseline HEAD/common-directory, or source-binding differs from the handoff.
- Reject the dedup interpretation if complete independent windows do not show: both description
string addresses passed to
0x0046f8c0; caller cleanup; helper result tested; zero selecting the match return; and the helper/callees implementing byte-and-length inequality with independent inline/heap selection at capacity0x10. - Reject an ownership claim if append/growth paths use raw element-header transfer, if the
0x2cand0x74strides collapse to one shape, if long-string destruction does not call the recorded delete thunk, or if old elements are not destroyed/freed after deep copy. - Reject archived record-value claims if an independent parser does not recover the stated event
IDs, nested turn buckets, strings, action/location, and exact
0x7f7fffffposition words from the named save. - Reject acceptance on zero instruction output, nonzero command exit, missing requested address ranges, unexpected skips, hash mismatch, or reliance on counters without inspecting bytes/state.
Required branch exposures and distinct states
Static instruction exposures required in this quantum: dedup null/empty return, scalar mismatch continuation, description equal match, description unequal continuation, short/long selection for both operands, byte mismatch, length mismatch, and equal return; ObservedTech spare/full append and deep copy; PlayerEvent spare/full append, three-string copy, and long cleanup; TurnEvents hit/miss, outer spare/full growth, nested empty/nonempty copy, and destruction; prune zero/one/two leading stale plus stale-after-fresh control flow.
Distinct semantic states to keep separate: empty/short/long descriptions; equal versus description-only-different events; new versus existing tech name; spare versus full capacity; empty versus nonempty nested vectors; duplicate versus no duplicate; zero/one/two leading stale buckets; stale-after-fresh; duplicate turn buckets versus miss. Static branch exposure is not live execution of these states.
Independent challenge
Held-out negative control: inspect unordered/NaN position behavior in the dedup comparator, which
the handoff summarizes as finite-position fixtures. Prediction from x87 fucompp plus
test ah,0x44; jp mismatch: otherwise-identical records containing NaN in any compared coordinate
must not deduplicate, including two records carrying the same NaN payload. This challenges any
implicit whole-bit-equality interpretation without using a live allocator.
Scope labels will remain separate: this quantum can establish an independent static reproduction and an archived-save value cross-check. It is not original-assisted runtime execution, full live compare, independent replacement, or integrated replay, and makes no live allocator-safety or replacement-acceptance claim.