Skip to content

Audit selected scatter parity across word and record checks - #2977

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:research/scatter-export-parity-20261016-b7e2
Oct 16, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:research/scatter-export-parity-20261016-b7e2

Conversation

@petalas

@petalas petalas commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds research/scatter-export-parity-audit for the revision-5 supplier-boundary-audit card. The exact selected bit-word counterexample is:

 scatter[0] = [4,5,6,7,8]
+scatter[0] += [0,0]

The full symbolic checker XORs list occurrences, so the extra pair cancels. The exporter uses membership and emits one extra ADD. Record legality accepts; the native formal-column checker rejects. This demonstrates why symbolic acceptance and record legality cannot replace the exported endpoint check.

The selected generator produces unique rows and the full supplier replay binds the original bytes. This does not invalidate the selected result. The package includes a sufficient uniqueness guard as an opt-in successor candidate, exact source pins, proof, deterministic receipts and a concrete adoption handoff. Frozen sources and selected-frontier metadata remain unchanged.

Scientific base: main d878e1f048823de10e57e3dc58522d345a5fcd8d; refreshed compatibility against 47fa55b3cd8c7cf8879206f33569bc59d637dad8. Audited inputs and guidance are unchanged. Canonical investigation and handoff.

Credit eumemic's checker and PR543/555/589 lineage, DreamingOfClouds' retained bit-supplier lineage, Dylan Crow's exporter/native checkers, and Douglas Colkitt's source bindings. Substantial automated assistance is disclosed in the package; predecessor notices and licenses are retained.

Evidence

  • Before: the unchanged word passes full symbolic checking and exact exported replay on all 661 arbitrary input columns, plus native legality and five-stage columns.
    After the two-entry edit: full symbolic checking still passes all H1-H5 and four conclusion flags; exported records rise from 27,234 to 27,235. With only dirty input 472 set, target 111 incorrectly becomes one. Native legality retains mass 5,129 and nine COPY/ERASE pairs; native columns exit 2 at local defining-decoder full formal column.
  • A single-occurrence control fails the symbolic checker and exports byte-identically to the paired mutant. The tested uniqueness guard rejects the pair. Parity normalization of this exact fixture recovers the original word and record bytes.
  • Registered Python 3.12 replay, eight behavioral groups, optimized Python 3.14 checks, Ruff, and publication-byte preflight pass. The research-workflow suite passes 158 tests with 18 existing platform/environment skips on macOS. A separate internal review reran the source-bound result, controls and native path with no blocking finding.
  • Optional native replay compiles unchanged C++ sources with the authenticated checked 128-bit cpp_int stand-in. It is not a fresh system-Boost build. Full cold supplier replay, all-size transfer and hosted CI are separate obligations; no new kappa is claimed.
python3.12 -B scripts/research_package.py --package research/scatter-export-parity-audit
python3.12 -I -O -Werror -B research/scatter-export-parity-audit/native.py
python3.12 -B scripts/check_research_commit.py --package research/scatter-export-parity-audit

Merge Danger

Door: two-way

Blast Radius: isolated

Nine new files in one opt-in research package. No production adoption, source repinning or selected-frontier change.

@Mister-Meeseeks
Mister-Meeseeks merged commit ff9019b 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
Destination-free gate source lists always make accumulate-XOR and sequential
ADD agree; destination-in-sources lists can diverge under export-without-check.
Answers the open #2977/#3004 supplier-boundary gate-operand obligation under
priority revision 6. No new kappa.
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
Mister-Meeseeks pushed a commit that referenced this pull request Oct 20, 2026
…he multiplicity contract

Reproduces the #2977 paired-null scatter counterexample from the pinned
selected bytes on an independent record route: the checker XORs per
occurrence, the exporter lowers by membership, and the exact divergence
class is positive even multiplicity. Sweeps multiplicities 0..6, matches
the archived record-byte receipts and the 98-column witness, censuses the
producer chain and the two pinned words (rows are simple), probes index
types, and records the successor boundary decision. No new kappa.

Package: research/scatter-boundary-decision
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