Skip to content

Audit the T74 corrupted-word control against payload equality - #89

Draft
unpaidmoon wants to merge 1 commit into
cursor/upstream-main-32890bc-2659from
cursor/t74-corrupt-payload-control-2659
Draft

unpaidmoon wants to merge 1 commit into
cursor/upstream-main-32890bc-2659from
cursor/t74-corrupt-payload-control-2659

Conversation

@unpaidmoon

Copy link
Copy Markdown
Owner

Change and mathematical scope

Author-checked audit of one container-digest comparison. No new κ and no selected-frontier change. The selected conditional result remains 605457647/200000000000 (decimal 0.003027288235) in certificates/selected-result.json.

corrupt() in research/t74-pivot566-kernel/verify.py flips one byte of inputs/gauge44-word-566.json.gz, recompresses with gzip.compress(..., mtime=0), and requires that container digest to equal the committed pin. The bounded hook treats the control as passed when the assertion fails.

On CPython 3.12.3 with zlib 1.3, that recompression of the unmutated payload already misses pin 0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73. The committed container is 57,411 bytes and its header is 1f8b0800 with mtime 0. The mutant's recompression also misses the pin, so the control does not witness the edit. Level-1 recompression of the original payload keeps every decompressed byte and still changes the container digest.

Payload equality accepts the committed word and the level-1 recompression, and rejects the one-byte mutant. The immutable container pin remains the identity of the committed file. A different compressed byte stream is not a mathematical mismatch.

This is a scoped audit plus an executable predicate. It is not a new supplier, a physical word, or a multiplication theorem. The pinned T74 verifier is not edited.

Task and overlap

Base 32890bc5de034ab8fc93ac88ead7279a6a416d04 (upstream CrocSwap/integer-mult-bounds main). Card portable-replay, priority revision 7, scope refined. The card's canonical-payload method is applied to this one control.

Item taken: item 18 of the ordered list below.

Ordered eligible list for session r50. Order is the priority table in docs/research/current-priorities.md, then catalogue cards that are not already in that table. A row stays while its stated next decision is still open. Dropped before the cut: work this account already delivered, results closed on current main, questions covered by an open pull request, and topics already on a fork cursor/* branch. The four 19 October handoffs (comments 19030045, 19030047, 19030049, 19030053) are in that dropped set.

  1. uniform-transfer-audit
  2. supplier-boundary-audit
  3. joint-query-controller
  4. r437-carrier-integration
  5. p104-side-correction
  6. independent-moment
  7. formal-interface-lemma
  8. bit-helper-contract
  9. bit-new-register-model
  10. complex-rank-shape-decoder
  11. complex-new-helper-inventory
  12. centre-path-sharing
  13. coverage-law-change
  14. connector-alphabet-change
  15. selected-stock-envelope
  16. census-pruning-audit
  17. replay-runtime
  18. This package (portable-replay).

Partial notes on CrocSwap#4100, P104, R437, the rank-8/u2 slack and the selected stock do not close those cards' stated next decisions, so those rows stay ahead of this one.

python3 scripts/find_overlap.py 't74 corrupt control' 'gauge44-word-566' 'corrupted_word' on 2026-10-25. Coverage: local notes complete at 32890bc5de034ab8fc93ac88ead7279a6a416d04 (7402 head records), 390 open PRs, 4808 discussion records, both paginations complete. Closed PRs were searched through local READMEs and TASK metadata. The seven matches name the gauge44 word in other T74 kernel notes. None states this container-digest gap.

Nearest work, and why this is distinct: research/gzip-container-reproducibility states the payload convention and points at the balanced-split required digest; research/gzip-mtime-payload reproduces one mtime mismatch and leaves that verifier unedited; research/bit589-gzip-replay replaces two selected-bit cmp checks. This package is the T74 corrupt() control only.

The fork PR base is cursor/upstream-main-32890bc-2659, the pin of upstream main, so the diff is this package. Upstream review should use CrocSwap/integer-mult-bounds main at 32890bc5de034ab8fc93ac88ead7279a6a416d04.

Validation

Python 3.12.3, standard library only, from the repository root:

python3 scripts/research_package.py --package research/t74-corrupt-payload-control --check-only
python3 -B research/t74-corrupt-payload-control/verify.py
python3 -O -B research/t74-corrupt-payload-control/verify.py
python3 -B scripts/research_package.py --package research/t74-corrupt-payload-control
python3 scripts/check_research_commit.py --package research/t74-corrupt-payload-control --check-source-history

Observed:

PASS_PACKAGE_METADATA_AND_PINS (not a mathematical acceptance check)
PASS_T74_CORRUPT_PAYLOAD_CONTROL unmutated_recompress_matches_pin=false level1_same_payload=true mutation_changes_payload=true no_new_kappa=true
PASS_REGISTERED_RESEARCH_PACKAGE research/t74-corrupt-payload-control outcome=partial
PASS_RESEARCH_COMMIT_BYTES

The optimized (-O) run printed the same marker. The checker authenticates verify.py, PINS.json and the gauge44 container, requires the audited corrupt() source text, and separates container inequality from payload inequality. Not run: Lean, Docker, the selected cold replay, and the T74 SymPy admission.

Credit

The control, the gauge44 word and the committed pin are Marius-Paul Dumitrean's research/t74-pivot566-kernel. The payload-versus-container convention is research/gzip-container-reproducibility. The neighbouring mtime fixture is jwr's research/gzip-mtime-payload. The selected-bit container repair is research/bit589-gzip-replay.

Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. No independent human or formal-kernel review.

Open next questions

Can a successor of the bounded T74 hook replace corrupt() with a payload inequality while leaving the committed gauge44 container pin untouched? Until that hook changes, corrupted_word passes whenever recompression misses the container pin, including on the unmutated word. The first step is a copy of the five failure controls that changes only that predicate. The blocker is the pin of verify.py in PINS.json (0b9c52118482a1e1e5f488e9d5877a4cf0f3648ac9e782e80f099de64787323f). This audit does not rerun the admission those controls sit inside.

Workflow feedback (optional)

The priority table followed by the remaining catalogue cards is a stable 22-row order, and item 18 is portable-replay in that order and in catalogue order. A one-line note when a card's stated next decision is actually closed would stop later sessions from keeping a finished row in that list.

Link: CrocSwap#1200

Open in Web Open in Cursor 

The pinned corrupt() check recompresses a gauge44 byte flip and compares
container digests. On zlib 1.3 that recompression already misses the
committed pin for the unmutated payload, so the control does not witness
the edit. Payload equality accepts the original word and a level-1
recompression and rejects the mutant. No new kappa, and the pinned
verifier is unchanged.

Co-authored-by: unpaidmoon <unpaidmoon@users.noreply.github.com>
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