sots-re/verify/results/research-completion-abi-independent/verification-plan-run-d94d4516b9d898793318805e.md

40 lines
3 KiB
Markdown

# Independent integrated verification plan — run-d94d4516b9d898793318805e
Scope classification before execution: independent static reproduction and archived-state
inspection of the integrated evidence package. This is not original-assisted runtime, a partial or
full live comparison, an independent replacement, or integrated replay.
## Acceptance falsifiers
1. Reject if the assigned worktree HEAD/common-directory identities differ from the contract, if
the canonical integrated source binding differs from either evidence record, or if any declared
binary/input/outcome hash is stale. The paired RE tree is expected to differ from canonical only
because campaign and verify/results are excluded from RE source identity; its computed binding
must still match the prior paired identity, not be silently treated as the integrated identity.
2. Reject zero execution, any nonzero subprocess, empty expected output, stderr, parse resync,
best-effort recovery, hint failure, missing branch window, or truncated wide terminal instruction.
3. Falsify the ABI boundary claims if direct PE bytes disagree with `ret 4` at the five one-argument
helpers, `ret 8` at string allocation or dedup, plain `ret` at the constructor, or if the byte
immediately before that plain return is also `c3` (negative control).
4. Falsify record/container interpretation if the captured instructions do not expose distinct
ObservedTech `0x2c` and PlayerEvent `0x74` strides, three guarded PlayerEvent long-string
destructions, deep-copy calls, description inequality, or unordered-coordinate comparison.
5. Falsify archived-state claims if independent parsing does not find EvNxID 4, a turn-3 bucket
count 2, event ID 3 with all reported fields/default position words, byte-exact full rebuild, or
the independently inspected RNG leaf (2503 bytes and reported digest).
6. Do not convert matching static bytes into live allocator safety, runtime branch execution,
original-game differential, replacement acceptance, or replay acceptance. Empty/full capacity,
short/long strings, duplicate/nonduplicate and unwind/failure remain distinct unexecuted states.
## Required exposure and challenge
Execute all 22 windows: seven narrow/wide terminal-boundary pairs plus constructor, copy,
destructor, import-thunk, string comparison, byte comparison and PlayerEvent-constructor controls.
Require strict save parsing and checksum coverage, then inspect actual event and RNG state rather
than trusting counters. Challenge the integrated handoff with an independently generated held-out
PE boundary ablation: read one byte before and one byte after each claimed return start and verify
that shifting the start does not itself satisfy the complete expected encoding.
Decision rule: only a source-bound, non-skipping reproduction with every listed static/state check
passing can support a scoped integrated PASS. Any contradictory provenance, unexpected boundary,
or source identity mismatch is a surprise and pauses the affected verdict.