Skip to content

Audit and preserve T37 receipt input-role bindings (no new kappa) - #1372

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
commdata2338:t37-receipt-role-binding
Oct 14, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
commdata2338:t37-receipt-role-binding

Conversation

@commdata2338

Copy link
Copy Markdown
Contributor

Change and mathematical scope

PR #1006's T37 receipt normalizer checks the eight input hashes as an unordered collection and then replaces their path labels. So exchanging, for example, the native-word and native-replay receipt hashes still compares equal. This package adds a source-bound audit and an opt-in comparator. The comparator checks each hash against its explicit input role, while still permitting relocated invocation roots.

Status: verifier tooling and a scoped audit finding about receipt comparison on its own. The original runner independently pins its sources and actual inputs and executes the original wrapper. No incorrect owner result was demonstrated, and that protection was not bypassed. No new circuit, supplier, speedup or κ is claimed. Frozen predecessors, including research/t37-slice-bitmaps/, and the selected frontier are unchanged.

Precise delta: eight new files under research/t37-receipt-role-binding/:

  • receipt.py: explicit path/role normalization and complete comparison.
  • verify.py: checks the pinned inputs, the exhaustive collision domain, the relocation and failure controls, and both fresh T37 engines.
  • test_receipt.py: six focused test groups.
  • README, RESULT, TASK, SOURCES and VERIFY carry the contract, the evidence and the registered replay.

Evidence.

  • Legacy comparison: all 40,320 of 40,320 hash permutations compare equal.
  • Strict comparison: it accepts the one identity assignment and rejects the other 40,319. The smallest witness exchanges the word and local native-replay hashes, with every other receipt field fixed.
  • Both fresh complete engines agree on 167,832 roles, 333 calls and all 14 inherited controls. The complete canonical receipt has SHA256 1a0e4a30fc8b18c3db52cde322fc2a7646462497186cc6276e056b58253532fd.
  • Controls: five accepted layouts plus a check that the caller's data is not mutated, and eleven role, path and field rejection cases. Both fresh receipts reject a swapped association.

Remaining obligations.

  • Not run: no fresh native word or replay construction (the archived inputs are pinned), no selected PR Conditional kappa 0.001672660197076918: rare-pattern T16 exchanges #1094 cold replay and no full repository suite.
  • Not checked: the native compiler, whole-hosted emission, the invoice, moments, outer assembly, Lean, remote CI, and any other interpreter or operating system.
  • Still open: the inherited compiler, realization, hosting, precision/tape, analytic and bit-interface obligations.
  • Not claimed: authentication of third-party execution, or independent human review. A corrupted manifest or binding supplied by the caller is outside this comparison contract.

Task and overlap

Validation

python3 -B scripts/research_baseline.py
python3 -B scripts/research_package.py --package research/t37-receipt-role-binding --check-only
python3 -B scripts/research_package.py --package research/t37-receipt-role-binding

The registered command repeats the full census and both fresh T37 stages against RESULT.json, then runs the complete focused test file. That file covers duplicate and nonfinite JSON, source drift before import, and stored census tampering. It runs on Linux with CPython 3.12.3 and the standard library; the Windows path labels are lexical fixtures only. The full replay takes about 20 seconds. The new comparator derives its bindings from the invocation roots and never infers them from receipt hash values. The registered replay and the metadata/pin check were run again on the final commit before submission, and both passed.

PASS_T37_RECEIPT_ROLE_BINDING: 40320 legacy-equal permutations; 40319 rejected by role binding; both complete T37 engines agree
PASS_REGISTERED_RESEARCH_PACKAGE research/t37-receipt-role-binding outcome=completed

Credit

Apache-2.0; predecessor attribution and notices are retained.

AI assistance: submitted by @commdata2338 with substantial AI assistance. OpenAI Codex (GPT-6 Astra) did the audit design, the implementation, the verification and the writing; it was packaged and submitted with Claude Code. No independent human review is claimed.

Open next questions

From the package README: should a future maintained T37 entry point use the explicit role map when comparing receipts? It would keep the provenance association in saved evidence. First step: integrate the pure comparator at a nonfrozen successor boundary and keep the fresh reference and bitmap controls. Blockers: maintainer adoption and the desired policy for historical layouts; this package does not alter frozen code. The structured question is in TASK.json.

Workflow feedback (optional)

  • Friction: broad portability overlap terms mostly returned gzip and codec work. Finding the relevant receipt comparison took a local function search. That was orientation overhead, not evidence that the card is saturated.
  • Suggestion: optionally index public function and file names for the overlap helper, so that a query such as t37-slice-bitmaps/common.py or normalize finds comparison-specific predecessor work, with its coverage limits stated.

PR CrocSwap#1006's T37 receipt normalizer compares the eight input hashes as an
unordered collection and then replaces their path labels, so all 40,320
permutations of the hashes across roles compare equal. This package adds a
source-bound audit and an opt-in comparator that checks each hash against its
explicit input role (accepting only the original assignment, rejecting the
other 40,319) while still permitting relocated invocation roots. Both fresh
T37 engines agree on the complete receipt. The original runner's separate
input checks are unchanged; no incorrect result, new kappa or speedup is
claimed.

Adds research/t37-receipt-role-binding/ only.

Submitted by @commdata2338 with substantial AI assistance (OpenAI Codex
research and implementation; packaged with Claude Code).
@Mister-Meeseeks
Mister-Meeseeks merged commit 699fa3c into CrocSwap:main Oct 14, 2026
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

100-PR batch review at 9b00c9f93a05351fb1a712dc201539de30f8738b.

Merged to main, preserving the original contributor commits and package attribution.

Reviewed scope: Independent receipt-role-binding audit: unordered hash normalization accepts all 40,320 permutations, while an opt-in role/path binding accepts exactly one. Both original T37 engines replay unchanged; this is not an immutable-source bypass or a fresh native supplier build.

The pinned scoped command passed; the batch ledger contains its command, input hashes, environment and log. This incorporates the research/tooling contribution and does not change the selected κ or discharge the inherited multiplication-theorem assumptions.

Batch review, attribution and evidence. Thank you for the contribution.

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