Skip to content

Independent verification (no κ): PR3605's span(429,30) entrance residual passes a separate-kernel native check - #3713

Open
Mainzu wants to merge 4 commits into
CrocSwap:mainfrom
Mainzu:research/staged-644-660-native-binding-audit
Open

Mainzu wants to merge 4 commits into
CrocSwap:mainfrom
Mainzu:research/staged-644-660-native-binding-audit

Conversation

@Mainzu

@Mainzu Mainzu commented Oct 18, 2026 •

Copy link
Copy Markdown

This answers open question 1 of thakrarsagar's PR3687 for RossRichardson's PR3605 at head 3efbb5de. The question is whether the native phases of the paired span(429,30) entrance of helpers 644/660 hold when checked without the bw_* lineage code. PR3605's 8→7 width saving rests on this residual, and so do the consumers that reuse its STAGED words (#3624, #3626, #3630, #3633, #3638).

Result: it holds, for both providers and both orientations.

  • Residual identity. The emitted width-7 recipe for [429,30] → FULL satisfies L·F_7·R = T_FULL·T_E^-1 on all 512 Gaussian columns, including global phase. Operators are in product order, with the rightmost acting first.

    • The check uses Sagar Thakrar's separately written kernel, research/frontier1094-recipes-exact-seed76/clifford.py. No bw_* module takes part in the identity check.
    • All ten distinct climb recipes of 644/660 also pass.
  • Binding. The unchanged producer's emitted program is bound to the source word.

    • Each helper has one pre/post residual wrapper pair at [429,30] and one new_to_old exit adapter at FULL, with no private buffer.
    • The climbs are [2,1,2,1,1] (644) and [2,2,1,1,1] (660), each summing to 7.
    • All 17 direct scalar clocks per helper match the source.
  • Single-change control. The parent PR3133 words go through the same producer. There, 644/660 have width 8, and their first climb is 3 instead of 2. Every climb ends at the same frame.

    • Across all 408 helpers, only 644 and 660 change their entrance/terminal pair.
    • The serialized residual recipes go from 56 to 57.
  • Retimed and delayed consumer words. The RETIMED644-660 words of Improve conditional T530 κ through two commuting release retimings #3642 (reused byte for byte by Compose retimed T488 suppliers: conditional kappa 0.00173041889976 #3653) and the DELAYED words of Consume retimed staged releases with smaller T360 stock #3682 keep this entrance, for both providers and both orientations.

    • 644/660 still enter at [429,30] with recipe key 137, and the width-7 recipe passes the separate kernel on all 512 columns.
    • The residual-adapter files and all 408 entrance/terminal pairs equal the STAGED ones. For 644/660 the emission clocks move, and the release that reads each helper now runs at Q instead of [429,30]. Binding the STAGED word to a consumer program is rejected.
    • Donors 640/656 merge two climbs into one rank-3 climb, which also passes the separate kernel.
    • Each regenerated LOCAL-CHECKS.json, in LF form, equals the receipt that Improve conditional T530 κ through two commuting release retimings #3642 or Consume retimed staged releases with smaller T360 stock #3682 recorded from its own native run.
  • Controls. Seven per provider are rejected:

    • three at the all-column operator check: a global-phase change, the parent's right wrapper, and the wrong plane [429,18];
    • four at the width check.

    test_verify.py adds wrapper, climb, exit-adapter, scalar, orientation, word, recipe and pin corruptions.

  • Local-only cross-check. The producer's bw_adapters.py, run under Python 3.13.1 with numpy 2.2.2 (not the declared 2.5.4), writes adapter files whose LF-normalized bytes equal this package's reconstruction for both providers. This is not part of the registered replay.

What this adds over PR3605's own chain. PR3605's bw_audit_local.py already binds every emitted wrapper, climb and scalar frame, and bw_adapters.py checks every entrance recipe. Both rely on the bw_gauss lineage kernel. This package supplies the missing independence: a separate kernel for the identity, and its own source-to-emission binding.

Not covered:

  • the other 56 recipes, the 72 warp records and the scalar macros under an independent kernel;
  • whether the consumers' moved releases commute (their authors' argument), the donors' other climbs, and 644/660 words on other PR heads;
  • owner journals and the releases;
  • the inherited all-size hypotheses.

No κ, supplier admission or selected-frontier change.

Checks (Windows 11, Python 3.12.10, standard library only):

  • verify.py: PASS_STAGED_644_660_NATIVE_BINDING, about 80 s.
  • test_verify.py: 8 tests, OK.
  • research_package.py --check-only: PASS_PACKAGE_METADATA_AND_PINS.
  • py -3.12 -Werror -B scripts/research_package.py --package research/staged-644-660-native-binding-audit: PASS_REGISTERED_RESEARCH_PACKAGE ... outcome=completed.

PR3605's two STAGED words and the four consumer words are vendored in inputs/. They are bound to provenance pins at their PR heads, and the verifier byte-checks them. The repository's head: pin must name the live path, so it cannot pin a relocated copy directly.

Credit:

Prepared by Mainzu with substantial assistance from Claude Code (Claude Opus 5.5). No independent human or formal-kernel review is claimed.

🤖 Generated with Claude Code

Mainzu and others added 4 commits October 19, 2026 00:44
Answer PR3687's open question 1 for PR3605's staged helpers 644/660.
Bind their emitted native wrappers, climbs, FULL exit adapters and
direct scalar clocks to the source words in both orientations and both
providers. Check the shared width-7 residual and every climb recipe on
all 512 Gaussian columns with Sagar Thakrar's separately written kernel.
The parent PR3133 words are the single-change control (width 8; only
644/660 change). No new kappa or frontier change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Report serialized residual recipes (56 -> 57) separately from pair
classes (57 -> 58, which include the unwrapped cold class) and count 72
warp records rather than 240 warp events. Check that every parent and
staged climb ends at the same frame. Write the residual identity in one
operator order, correct the basis-order observation ([435,30] fails),
and describe PR3605's own lineage checks accurately, pinning the cited
bw_* files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The RETIMED644-660 words of CrocSwap#3642 (reused byte for byte by CrocSwap#3653) and the
DELAYED words of CrocSwap#3682 keep PR3605's span(429,30) -> FULL entrance residual
for helpers 644/660. The recipe key is still 137 and the width-7 recipe
passes the separate kernel. The residual-adapter files and all 408
entrance/terminal pairs equal the STAGED ones. Only the emission clocks
move, and donors 640/656 merge climbs 1+2 into one climb of 3, whose
recipe also passes the kernel. Each regenerated emission matches the
producing PR's recorded LOCAL-CHECKS receipt.

LOCAL-CHECKS.json is now digested in LF form. bw_emit.py writes it with
write_text, so the earlier CRLF digest reproduced only on Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The moved release that reads 644/660 now runs at Q, so more than the
clocks changes. The consumer check binds each consumer word in full
rather than reusing the STAGED binding. The word-difference paragraph is
labelled as a local observation. The consumers' native runs are
described only as their pinned PROOF.md files state. Text only; the
verifier, RESULT.json and the checks are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

1 participant