Skip to content

Enforce simple scatter supports at opt-in checker and exporter boundaries - #2992

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
Arham-Tahir64:codex/contribution-2417-current
Oct 16, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
Arham-Tahir64:codex/contribution-2417-current

Conversation

@Arham-Tahir64

Copy link
Copy Markdown
Contributor

PR2977 demonstrated that scatter[0] += [0,0] passes the selected full symbolic checker but exports an extra ADD. This opt-in successor adopts simple-scatter-v1 and enforces the same simple-support validator before both checker and exporter execution. It snapshots the validated word and authenticated delegate script before running the unchanged source, so replacing the original input path cannot bypass the guard.

The selected word produces all three original artifacts byte for byte (27,234 records); a separate scalar F2 interpreter checks all 661 arbitrary-input columns. Both entry modes reject the paired mutant before output creation, while existing-output and semantic-failure controls retain the promised boundary. Export mode validates the schema only; it does not replace full symbolic/native checking.

Validation passed locally:

  • Registered package replay on CPython 3.12.14, including nine behavioral groups.
  • Primary replay and all nine groups under CPython 3.14.7 with -I -O -Werror -B.
  • All 364 ordered rows of length <=5 over three indices, with all eight copied-bit assignments on accepted supports; malformed types, odd/even duplicates, reordered rows, input replacement, source corruption, omitted ADD and truncated-record controls.
  • Metadata/source pins, whitespace and exact publication-byte preflight (13 package/input files).

Sources and task are pinned at canonical main 836b19bfa309ceafbc8ee32a15e8c4b10dde7e11, priority revision 6. The accepted draw was bit mechanisms; TASK.json explicitly records the change from bit-helper-contract to the revision-6/PR2977 boundary handoff. Final overlap coverage: 234 open PRs, 2,440 closed PRs and 1,703 discussion records, complete pagination and no warnings; sparse local-note/diff coverage remains a limitation.

This completes a local successor boundary module, not selected-supplier adoption. Frozen sources, manifests and the selected frontier are unchanged. Native compilation, complete selected cold replay, hosting/precision and all-size admission were not run; hosted CI is separate.

Credit Nick Petalas / PR2977 (cd23d242dfe0e7a71cafba0ad5590dc4f2fbf4f2) for the counterexample, candidate guard and handoff; eumemic, DreamingOfClouds, Dylan Crow and Douglas Colkitt retain the source-lineage credit detailed in the README. Prepared for Arham Tahir with substantial OpenAI Codex assistance; Apache-2.0, no independent human review claimed. Canonical investigation and claim.

@Mister-Meeseeks
Mister-Meeseeks merged commit 5d93a57 into CrocSwap:main Oct 16, 2026
1 check passed
Mister-Meeseeks pushed a commit that referenced this pull request Oct 17, 2026
…ew kappa)

Answers PR #3004's third open question for one full-size word. Row 0
[4,5,6,7,8] of the selected PR #589 bit word is extended four ways and
each word runs through the unchanged symbolic checker, record exporter,
both entry modes of PR #2992's simple-scatter-v1 guard and the native
legality and five-stage column checkers. Appending [4,4] triples an
existing slot: the symbolic and both native checkers accept it, and all
three exporter artifacts and both native receipts equal the baseline
byte for byte (27,234 records, 24,305 ADDs, rank mass 5129, nine
COPY/ERASE pairs). Appending [0,0,0] triples an absent slot: symbolic
and exported actions agree, but both miss the required endpoint at
output 111 (98 columns; dirty input 472 is a one-bit witness), and the
full symbolic and native column checkers reject it. PR #2977's paired
[0,0] reproduces symbolic acceptance with native rejection. The guard
rejects all three repeated rows before creating output, as its stricter
schema intends. Native legality accepts all four words, so legality
does not certify the endpoint. Occurrence counts are not emitted ADD
counts: the accepted triple has 529 occurrences and 527 scatter ADDs.

This is a finite, author-checked audit with a separately written
harness. Native builds use the pinned checked 128-bit cpp_int stand-in.
No schema decision, supplier adoption, cold ancestry, system-Boost
build, physical hosting or kappa change is claimed.

Adds research/scatter-odd-native-audit/ only.

Submitted by @commdata2338 with substantial AI assistance (OpenAI Codex
research and implementation; packaged with Claude Code).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X86sCSXdoDd61SDFfC1PKG
Mister-Meeseeks pushed a commit that referenced this pull request Oct 20, 2026
…export boundary

Answer the supplier-boundary cascade's remaining open question (PR3696 OQ1,
following #2977/#2992/#3004 and scatter-parity-contract-audit): for one gate
(d, srcs), the pinned symbolic checker operator (accumulate-then-write) and the
pinned exporter operator (sequential per-source ADD) agree as linear maps over
F2^n iff d is absent from srcs, or the destination multiplicity is odd and
every register occurring before the destination's last occurrence occurs an
even number of times there.

Measured on 9330 (d, srcs) pairs (6 registers, source lists length 0..4, the
published census domain, extended to 55986 pairs at length <= 5): destination-
free 4686 all agree; destination-in 4644 split into 3492 divergent and 1152
agreeing; simulation and the independent coefficient prediction agree on 100%
of pairs. Guard census: the checker's own contract and distinct-only and
dest-free-only are sound with 4608 / 4602 / 1152 agreeing rejections (smallest
nonempty destination-free witness [a,a]); a transplanted scatter simple-support
guard is unsound, admitting 1350 divergent gates; the exact minimal guard is
sound with zero over-rejections. The pinned selected tuned word has 5472
D/A/B/C gates, all with distinct nonempty operands, so every sound guard
preserves its export; its 111 scatter rows are simple supports.

No new kappa (selected 0.001672660197076918 unchanged); no production adoption;
frozen packages unchanged. Reproduce:
python3.12 -B scripts/research_package.py --package research/gate-operand-parity-contract
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants