From f88764e3b38476567edb1005dfb31b872c6d348f Mon Sep 17 00:00:00 2001 From: Mainzu <107363567+Mainzu@users.noreply.github.com> Date: Mon, 19 Oct 2026 00:44:25 +0700 Subject: [PATCH 1/4] Check PR3605's span(429,30) entrance residual with a separate kernel 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 --- .../README.md | 161 ++ .../RESULT.json | 1596 +++++++++++++++++ .../SOURCES.json | 151 ++ .../TASK.json | 124 ++ .../VERIFY.json | 35 + .../common.py | 107 ++ .../inputs/STAGED644-660-base.json.gz | Bin 0 -> 72570 bytes .../inputs/STAGED644-660-extra.json.gz | Bin 0 -> 72568 bytes .../native.py | 337 ++++ .../test_verify.py | 132 ++ .../verify.py | 56 + 11 files changed, 2699 insertions(+) create mode 100644 research/staged-644-660-native-binding-audit/README.md create mode 100644 research/staged-644-660-native-binding-audit/RESULT.json create mode 100644 research/staged-644-660-native-binding-audit/SOURCES.json create mode 100644 research/staged-644-660-native-binding-audit/TASK.json create mode 100644 research/staged-644-660-native-binding-audit/VERIFY.json create mode 100644 research/staged-644-660-native-binding-audit/common.py create mode 100644 research/staged-644-660-native-binding-audit/inputs/STAGED644-660-base.json.gz create mode 100644 research/staged-644-660-native-binding-audit/inputs/STAGED644-660-extra.json.gz create mode 100644 research/staged-644-660-native-binding-audit/native.py create mode 100644 research/staged-644-660-native-binding-audit/test_verify.py create mode 100644 research/staged-644-660-native-binding-audit/verify.py diff --git a/research/staged-644-660-native-binding-audit/README.md b/research/staged-644-660-native-binding-audit/README.md new file mode 100644 index 0000000000..4862a7e057 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/README.md @@ -0,0 +1,161 @@ +# Staged helpers 644/660: native entrance residual under a separate kernel + +**Finite native/interface audit; no new kappa, supplier admission or frontier change.** + +PR3605 lowers helpers 644 and 660 from width 8 to width 7 by letting them enter +at `span(429,30)` instead of `span(30)`. Its consumers reuse those STAGED +words: #3624, #3626, #3630, #3633 and #3638. PR3687 checked the words as exact +free-operator identities. It left one question open: do the **native phases** of +the paired `span(429,30)` entrance hold, checked without the `bw_*` lineage code? +This package answers that question for both providers and both orientations. +The answer is **yes**. + +- **The width-7 residual is exact.** The emitted recipe for `span(429,30) -> FULL` + satisfies `R · F_7 · L = T_E^-1 · T_FULL` on all 512 Gaussian columns, + including global phase. Its wrapped form `L^-1 T_E^-1 T_FULL R^-1 = F_7` and + inverse-transpose form also hold. The check uses Sagar Thakrar's separately + written kernel `research/frontier1094-recipes-exact-seed76/clifford.py`, + which imports no repository code. No `bw_*` module takes part in it. +- **The emitted program uses exactly this recipe for 644 and 660.** The + unchanged producer emits one `pre`/`post` residual wrapper pair at frame + `[429,30]`, with no terminal field. There is one ordinary `new_to_old` exit + adapter at FULL and no private buffer, in both orientations. The climbs are + `[2,1,2,1,1]` for 644 and `[2,2,1,1,1]` for 660. Both sum to 7, and each of + the ten distinct climb recipes also passes the separate kernel. All 17 direct + scalar clocks per helper match the source word, including the 8 FULL-frame + cleanup gates. +- **Only this residual changes.** As a single-change control, the parent PR3133 + words go through the same producer. There, 644/660 enter at `span(30)` with + width 8, and their first climb is 3 instead of 2; the later climbs are + identical. Across all 408 helpers, only 644 and 660 change their + entrance/terminal pair. The residual classes go from 57 to 58, and the new + class is `([429,30], FULL)`. + +Expected verifier line: + +```text +PASS_STAGED_644_660_NATIVE_BINDING providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL residual_width=7 parent_width=8 shared_key=137 climb_recipes=10 controls=7x2 single_change=2 both_orientations no_new_kappa +``` + +## What the check does + +For entrance `E` and terminal `U`, the native residual is `S(E,U) = T_U T_E^-1`. +The source compiler factors it as `S = L F_w R`, where `F_w` is the coordinate +Fourier primitive on the first `w` axes, and `w = dim U - dim E`. Here +`E = [429,30]`, `U = FULL` and `w = 7`; the other two axes are spectators. + +1. The verifier runs the pinned `bw_transport.py` and `bw_emit.py` (byte-identical + to the copies used by the #2979 group audits) on PR3605's two STAGED words. + It then binds every emitted event of helpers 644/660 to the source word. It + checks the wrapper entrance, the climb chain from `[429,30]` to FULL, the one + exit adapter, the event order (wrapper, climbs, exit, cleanup, wrapper) and + every direct scalar clock. +2. It rebuilds the serialized residual-adapter file with the source compiler, + and the separate kernel then checks the shared recipe (key `137`) and every + climb recipe. +3. It runs the parent PR3133 words through the same producer as the + single-change control above, and checks the parent's width-8 recipe too. +4. It rejects seven residual controls per provider. Three fail at the + all-column operator check: a global-phase change, the parent's right wrapper + substituted, and the same-dimension wrong plane `[429,18]`. Four fail at the + width check: no entrance, the contained line `[429]`, the old entrance `[30]` + and the parent recipe at the new entrance. + +`test_verify.py` adds corruptions that must fail through the same code paths. +These include a missing `post` wrapper, a wrong wrapper frame, a restored-helper +terminal field, a deleted or mis-ranked climb, and an entry adapter in place of +the exit adapter. They also cover a moved exit adapter, an added private +buffer, a sign-flipped scalar and the wrong orientation. Word, recipe and +source-pin corruptions are covered as well. One finding came from a wrong test +expectation: `[30,429]`, the same plane with its basis reordered, passes the +identity. So the kernel checks the subspace, not the order of its basis. The +same-plane case is not a control here. + +## Sources + +The base is canonical main `20ecf2891d80b5acf18d980b2164fb44ea7faa90`, priority +revision 6 (κ = `0.001672660197076918`). [SOURCES.json](SOURCES.json) pins every +input by Git blob and SHA-256. + +- **Staged words.** `inputs/STAGED644-660-{base,extra}.json.gz` are byte copies + of `research/staged-644-660-width-reduction/STAGED644-660-*.json.gz` at PR3605 + head `3efbb5de06a49ffeea6684482f2d3fe48cdca3fb`. The repository's `head:` pin + must name the live path, so these copies are pinned as provenance rows under + their original path. The verifier checks the copies' bytes against those pins. + The hashes also match PR3605's `ARTIFACTS.json`. +- **Parent words.** These are PR3133's `edits/FINAL-WORD-{base,extra}.json.gz` + on main. +- **Producer and compiler.** These are the retained t74-native-fast + `bw_transport.py`, `bw_emit.py` and `vendor/clifford/clifford_exact.py`. They + are producers, not independent evidence. + +The author's own checks are PR3605's full native chain and `check_residual.py`. +Both use the `bw_gauss` lineage kernel (`bw_adapters.py`, `bw_gauss.py`). They +check one abstract `(E,U)` pair and do not bind the emitted helper events. + +**Local-only cross-check (not part of the registered replay).** The producer's +own `bw_adapters.py` needs numpy. Under Python 3.13.1 and numpy 2.2.2 (not +PR3605's declared numpy 2.5.4), it wrote a `RESIDUAL-ADAPTERS.json` for each +provider. The LF-normalized bytes equal this package's reconstruction: +`a19e744f…` (base) and `c4ddd4db…` (extra). So the recipe checked here is the +one the native chain serializes. On Windows, `bw_adapters.py` writes CRLF +through `write_text`. + +## Reproduction + +```sh +python3 -I -B research/staged-644-660-native-binding-audit/verify.py +python3 -I -B research/staged-644-660-native-binding-audit/test_verify.py -v +python3 -B scripts/research_package.py --package research/staged-644-660-native-binding-audit --check-only +python3.12 -Werror -B scripts/research_package.py --package research/staged-644-660-native-binding-audit +``` + +These use only the Python 3.12 standard library, and take about 30 seconds +and 7 seconds on a Windows 11 laptop. PR3605's commit must be present for the +provenance pins (for example +`git fetch origin refs/pull/3605/head`). + +## Scope and unchecked obligations + +This checks the native entrance of the two changed helpers. It does not check: + +- the native phases of the other 57 residual classes, the 240 warps or the + scalar macros under an independent kernel; +- the retimed or delayed consumer words; +- owner journals, physical stock, prefix, precision and tape; +- the T740 or consumer releases; +- the inherited all-size compiler, analytic transfer and BIT hypotheses. + +A passing finite audit does not admit a supplier or change the selected record. + +## Open next questions + +The structured list is in [TASK.json](TASK.json). + +1. **Do the retimed (#3642/#3653) and delayed (#3682) words keep this entrance + residual?** If their 644/660 entrance/terminal pairs and recipe are + unchanged, this check covers those consumers too. First step: vendor those + words and run `native.provider()` on each, with the STAGED words as the + control. +2. **Do all 58 residual classes and 240 warps pass the separate kernel?** + Loop `check_recipe` over every reconstructed adapter key, and check each + warp record as a monomial identity. +3. **Is the complete emitted 644/660 lane phase-exact under an independent + simulator?** This would need an emitted-event interpreter for the scalar + macros and warps, compared with PR3687's free-operator endpoint. + +## Credit + +- **Construction:** Ross Richardson's PR3605. +- **Parent words:** dcharb78's PR3133, with the word lineage credited there. +- **Open question:** Sagar Thakrar's PR3687 posed the question answered here. +- **Separate kernel:** Sagar Thakrar's, from frontier1094-recipes-exact-seed76. +- **Producer lineage:** DreamingOfClouds/PR458, retained t74-native-fast + (PR2226 notices). +- **Method and code:** adapted from Wentao Li's + `research/rank7-group-d-native-widths-audit/`, which in turn adapts the + group A–C audits. + +Prepared by Mainzu with substantial assistance from Claude Code (Anthropic, +Claude Opus 5.5). No independent human or formal-kernel review is claimed. +Apache-2.0. diff --git a/research/staged-644-660-native-binding-audit/RESULT.json b/research/staged-644-660-native-binding-audit/RESULT.json new file mode 100644 index 0000000000..5a7e3aa090 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/RESULT.json @@ -0,0 +1,1596 @@ +{ + "native": { + "climb_recipes": { + "[[256,136,64,32,24,4,2,1],[256,128,64,32,16,8,4,2,1]]": 1, + "[[256,136,66,34,24,6,1],[256,136,64,32,24,4,2,1]]": 1, + "[[257,128,65,32,17,9,5,3],[256,128,64,32,16,8,4,2,1]]": 1, + "[[260,128,65,32,20,9,3],[257,128,65,32,17,9,5,3]]": 1, + "[[290,136,96,24,6,1],[256,136,66,34,24,6,1]]": 1, + "[[292,131,65,20,10],[260,128,65,32,20,9,3]]": 2, + "[[423,65,20,10],[292,131,65,20,10]]": 1, + "[[427,96,24,6],[290,136,96,24,6,1]]": 2, + "[[429,30],[423,65,20,10]]": 2, + "[[429,30],[427,96,24,6]]": 2 + }, + "providers": { + "base": { + "adapter_sha256": "a19e744f741bf917a72d63aab09cf7e10f5566091458568747b97f7bf0ea945a", + "bindings": { + "644": { + "backward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14205, + "new": [ + 423, + 65, + 20, + 10 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14221, + "new": [ + 292, + 131, + 65, + 20, + 10 + ], + "old": [ + 423, + 65, + 20, + 10 + ], + "rank": 1 + }, + { + "index": 15383, + "new": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "old": [ + 292, + 131, + 65, + 20, + 10 + ], + "rank": 2 + }, + { + "index": 15388, + "new": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "old": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "rank": 1 + }, + { + "index": 16606, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "rank": 1 + } + ], + "compact_helper": 613, + "direct_scalar_count": 17, + "direct_scalar_sha256": "ee7314a96af92f2d7751a280c320ce779c48086dba03c3fae3282c280c900311", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17148, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6651, + "pre" + ], + [ + 22748, + "post" + ] + ] + }, + "forward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14205, + "new": [ + 423, + 65, + 20, + 10 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14221, + "new": [ + 292, + 131, + 65, + 20, + 10 + ], + "old": [ + 423, + 65, + 20, + 10 + ], + "rank": 1 + }, + { + "index": 15383, + "new": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "old": [ + 292, + 131, + 65, + 20, + 10 + ], + "rank": 2 + }, + { + "index": 15388, + "new": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "old": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "rank": 1 + }, + { + "index": 16606, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "rank": 1 + } + ], + "compact_helper": 613, + "direct_scalar_count": 17, + "direct_scalar_sha256": "ee7314a96af92f2d7751a280c320ce779c48086dba03c3fae3282c280c900311", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17148, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6651, + "pre" + ], + [ + 22748, + "post" + ] + ] + } + }, + "660": { + "backward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14278, + "new": [ + 427, + 96, + 24, + 6 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14294, + "new": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "old": [ + 427, + 96, + 24, + 6 + ], + "rank": 2 + }, + { + "index": 15519, + "new": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "old": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 15524, + "new": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 16614, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "rank": 1 + } + ], + "compact_helper": 621, + "direct_scalar_count": 17, + "direct_scalar_sha256": "db11bf105281f190be4ab63d8decea9f6b318230eedd29fe9970354cec046f7a", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17156, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6659, + "pre" + ], + [ + 22756, + "post" + ] + ] + }, + "forward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14278, + "new": [ + 427, + 96, + 24, + 6 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14294, + "new": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "old": [ + 427, + 96, + 24, + 6 + ], + "rank": 2 + }, + { + "index": 15519, + "new": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "old": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 15524, + "new": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 16614, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "rank": 1 + } + ], + "compact_helper": 621, + "direct_scalar_count": 17, + "direct_scalar_sha256": "db11bf105281f190be4ab63d8decea9f6b318230eedd29fe9970354cec046f7a", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17156, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6659, + "pre" + ], + [ + 22756, + "post" + ] + ] + } + } + }, + "changed_helpers": [ + 644, + 660 + ], + "controls": { + "contained_line": "entrance-relative width", + "old_entrance": "entrance-relative width", + "omitted_entrance": "entrance-relative width", + "parent_recipe_at_new_entrance": "entrance-relative width", + "parent_wrapper_alias": "phase-exact all-column residual", + "phase": "phase-exact all-column residual", + "wrong_entrance_plane": "phase-exact all-column residual" + }, + "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "parent_bindings": { + "644": { + "climb_ranks": [ + 3, + 1, + 2, + 1, + 1 + ], + "direct_scalar_count": 17, + "entrance": [ + 30 + ] + }, + "660": { + "climb_ranks": [ + 3, + 2, + 1, + 1, + 1 + ], + "direct_scalar_count": 17, + "entrance": [ + 30 + ] + } + }, + "parent_local_checks_sha256": "931d0883c8aef3210e2ef2782550aabda026203f874700822a2b0598c6548a0f", + "parent_residual": { + "columns": 512, + "orientations": 2, + "rank": 8, + "recipe": { + "left": { + "linear_Z4": [ + 2, + 3, + 3, + 3, + 2, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 1, + 258, + 4, + 8, + 14, + 16, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 14, + 14, + 14, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 20, + 24, + 32, + 64, + 128, + 256, + 16 + ], + "offset": 241, + "phase": 1, + "quadratic_rows": [ + 0, + 16, + 16, + 16, + 14, + 0, + 0, + 0, + 0 + ] + } + }, + "spectator_axes": 1 + }, + "parent_word_sha256": "300a9b8ad1d554f0e6f84f43f3f5fd870a5b4e5f81ad856900b6e8999684892e", + "residual_classes": { + "parent": 57, + "staged": 58 + }, + "residuals": { + "137": { + "columns": 512, + "orientations": 2, + "rank": 7, + "recipe": { + "entrance_rank": 2, + "frame": 137, + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 3, + 0, + 0 + ], + "matrix_rows": [ + 129, + 258, + 4, + 8, + 14, + 16, + 32, + 64, + 93 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 93, + 14, + 83, + 83, + 93, + 0, + 93, + 0, + 0 + ] + }, + "rank": 7, + "right": { + "linear_Z4": [ + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0 + ], + "matrix_rows": [ + 1, + 2, + 276, + 280, + 288, + 64, + 384, + 256, + 16 + ], + "offset": 161, + "phase": 1, + "quadratic_rows": [ + 256, + 16, + 272, + 272, + 14, + 256, + 0, + 256, + 173 + ] + }, + "vectors": [ + 429, + 30 + ] + }, + "spectator_axes": 2 + } + }, + "word_sha256": "735c540b1fe29d0ceeb4d2f304ec941e5f2bd3bc92bafc8cce2b4f9a67a3b653" + }, + "extra": { + "adapter_sha256": "c4ddd4db13db5ed6b3672f8ddd0dc3a2bfff50068779b51489c6f002972f6163", + "bindings": { + "644": { + "backward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14205, + "new": [ + 423, + 65, + 20, + 10 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14221, + "new": [ + 292, + 131, + 65, + 20, + 10 + ], + "old": [ + 423, + 65, + 20, + 10 + ], + "rank": 1 + }, + { + "index": 15383, + "new": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "old": [ + 292, + 131, + 65, + 20, + 10 + ], + "rank": 2 + }, + { + "index": 15388, + "new": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "old": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "rank": 1 + }, + { + "index": 16606, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "rank": 1 + } + ], + "compact_helper": 613, + "direct_scalar_count": 17, + "direct_scalar_sha256": "ee7314a96af92f2d7751a280c320ce779c48086dba03c3fae3282c280c900311", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17148, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6651, + "pre" + ], + [ + 22748, + "post" + ] + ] + }, + "forward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14205, + "new": [ + 423, + 65, + 20, + 10 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14221, + "new": [ + 292, + 131, + 65, + 20, + 10 + ], + "old": [ + 423, + 65, + 20, + 10 + ], + "rank": 1 + }, + { + "index": 15383, + "new": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "old": [ + 292, + 131, + 65, + 20, + 10 + ], + "rank": 2 + }, + { + "index": 15388, + "new": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "old": [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ], + "rank": 1 + }, + { + "index": 16606, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ], + "rank": 1 + } + ], + "compact_helper": 613, + "direct_scalar_count": 17, + "direct_scalar_sha256": "ee7314a96af92f2d7751a280c320ce779c48086dba03c3fae3282c280c900311", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17148, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6651, + "pre" + ], + [ + 22748, + "post" + ] + ] + } + }, + "660": { + "backward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14278, + "new": [ + 427, + 96, + 24, + 6 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14294, + "new": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "old": [ + 427, + 96, + 24, + 6 + ], + "rank": 2 + }, + { + "index": 15519, + "new": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "old": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 15524, + "new": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 16614, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "rank": 1 + } + ], + "compact_helper": 621, + "direct_scalar_count": 17, + "direct_scalar_sha256": "db11bf105281f190be4ab63d8decea9f6b318230eedd29fe9970354cec046f7a", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17156, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6659, + "pre" + ], + [ + 22756, + "post" + ] + ] + }, + "forward": { + "cleanup_scalar_count": 8, + "climbs": [ + { + "index": 14278, + "new": [ + 427, + 96, + 24, + 6 + ], + "old": [ + 429, + 30 + ], + "rank": 2 + }, + { + "index": 14294, + "new": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "old": [ + 427, + 96, + 24, + 6 + ], + "rank": 2 + }, + { + "index": 15519, + "new": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "old": [ + 290, + 136, + 96, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 15524, + "new": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ], + "rank": 1 + }, + { + "index": 16614, + "new": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "old": [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ], + "rank": 1 + } + ], + "compact_helper": 621, + "direct_scalar_count": 17, + "direct_scalar_sha256": "db11bf105281f190be4ab63d8decea9f6b318230eedd29fe9970354cec046f7a", + "entrance": [ + 429, + 30 + ], + "exit_adapter": [ + 17156, + "new_to_old", + 1 + ], + "recipe_key": "137", + "terminal": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ], + "wrappers": [ + [ + 6659, + "pre" + ], + [ + 22756, + "post" + ] + ] + } + } + }, + "changed_helpers": [ + 644, + 660 + ], + "controls": { + "contained_line": "entrance-relative width", + "old_entrance": "entrance-relative width", + "omitted_entrance": "entrance-relative width", + "parent_recipe_at_new_entrance": "entrance-relative width", + "parent_wrapper_alias": "phase-exact all-column residual", + "phase": "phase-exact all-column residual", + "wrong_entrance_plane": "phase-exact all-column residual" + }, + "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "parent_bindings": { + "644": { + "climb_ranks": [ + 3, + 1, + 2, + 1, + 1 + ], + "direct_scalar_count": 17, + "entrance": [ + 30 + ] + }, + "660": { + "climb_ranks": [ + 3, + 2, + 1, + 1, + 1 + ], + "direct_scalar_count": 17, + "entrance": [ + 30 + ] + } + }, + "parent_local_checks_sha256": "931d0883c8aef3210e2ef2782550aabda026203f874700822a2b0598c6548a0f", + "parent_residual": { + "columns": 512, + "orientations": 2, + "rank": 8, + "recipe": { + "left": { + "linear_Z4": [ + 2, + 3, + 3, + 3, + 2, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 1, + 258, + 4, + 8, + 14, + 16, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 14, + 14, + 14, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 20, + 24, + 32, + 64, + 128, + 256, + 16 + ], + "offset": 241, + "phase": 1, + "quadratic_rows": [ + 0, + 16, + 16, + 16, + 14, + 0, + 0, + 0, + 0 + ] + } + }, + "spectator_axes": 1 + }, + "parent_word_sha256": "495d030f1e03b90e954dad3043994f03293d41b9ed220a3beaef849df435d3f0", + "residual_classes": { + "parent": 57, + "staged": 58 + }, + "residuals": { + "137": { + "columns": 512, + "orientations": 2, + "rank": 7, + "recipe": { + "entrance_rank": 2, + "frame": 137, + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 3, + 0, + 0 + ], + "matrix_rows": [ + 129, + 258, + 4, + 8, + 14, + 16, + 32, + 64, + 93 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 93, + 14, + 83, + 83, + 93, + 0, + 93, + 0, + 0 + ] + }, + "rank": 7, + "right": { + "linear_Z4": [ + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0 + ], + "matrix_rows": [ + 1, + 2, + 276, + 280, + 288, + 64, + 384, + 256, + 16 + ], + "offset": 161, + "phase": 1, + "quadratic_rows": [ + 256, + 16, + 272, + 272, + 14, + 256, + 0, + 256, + 173 + ] + }, + "vectors": [ + 429, + 30 + ] + }, + "spectator_axes": 2 + } + }, + "word_sha256": "886338fc32da14f3389a82c8120a1bcf9c5e2f0ec3e9b2d377fdae809e1d977f" + } + } + }, + "schema_version": 1, + "status": "PASS_STAGED_644_660_NATIVE_BINDING" +} diff --git a/research/staged-644-660-native-binding-audit/SOURCES.json b/research/staged-644-660-native-binding-audit/SOURCES.json new file mode 100644 index 0000000000..99da2c1c64 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/SOURCES.json @@ -0,0 +1,151 @@ +{ + "schema_version": 1, + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81", + "sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5", + "sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_transport.py", + "usage": "input", + "git_blob": "08248542b18864c94a5ac050c8669f68519838e1", + "sha256": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_emit.py", + "usage": "input", + "git_blob": "6d47f63ab7a533941b3881bbfd3ae4dac5f76932", + "sha256": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "usage": "input", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "research/frontier1094-recipes-exact-seed76/clifford.py", + "usage": "input", + "git_blob": "6f1e6a38febde7eb7a7341d317522e6650d84408", + "sha256": "d5e42ddabd141b7bfbd70fe13908f3c3a06aeccebeab90623596bfb1988b97fb" + }, + { + "path": "research/rank7-coupled-586-588-carrier-fold/edits/FINAL-WORD-base.json.gz", + "usage": "input", + "git_blob": "cb4cc24a4545944627ad595c0c5080196952b9f0", + "sha256": "300a9b8ad1d554f0e6f84f43f3f5fd870a5b4e5f81ad856900b6e8999684892e" + }, + { + "path": "research/rank7-coupled-586-588-carrier-fold/edits/FINAL-WORD-extra.json.gz", + "usage": "input", + "git_blob": "decc8f26d8aab108baf75f0d8b2d1012eb06d076", + "sha256": "495d030f1e03b90e954dad3043994f03293d41b9ed220a3beaef849df435d3f0" + }, + { + "path": "research/staged-644-660-width-reduction/STAGED644-660-base.json.gz", + "usage": "provenance", + "git_blob": "dc6d321b1e8e2a837a1ff7bb60e8f8f78d043db5", + "sha256": "735c540b1fe29d0ceeb4d2f304ec941e5f2bd3bc92bafc8cce2b4f9a67a3b653", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/STAGED644-660-base.json.gz" + }, + { + "path": "research/staged-644-660-width-reduction/STAGED644-660-extra.json.gz", + "usage": "provenance", + "git_blob": "78e7b2bb0653c8dcc0133980a19dd9d97ebdb67e", + "sha256": "886338fc32da14f3389a82c8120a1bcf9c5e2f0ec3e9b2d377fdae809e1d977f", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/STAGED644-660-extra.json.gz" + }, + { + "path": "research/staged-644-660-width-reduction/README.md", + "usage": "provenance", + "git_blob": "003a156197e32a437949c4a02b352ab8698f4eee", + "sha256": "c1956badbcd92f2f88dcea833facc39eefb7eef8f220fb7b1941b4c552109d89", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/README.md" + }, + { + "path": "research/staged-644-660-width-reduction/check_residual.py", + "usage": "provenance", + "git_blob": "7e75bde5b4c3a0d345b89e71631abeb9994781ec", + "sha256": "e34b06ae725f062d15ad83cbd3ef2f91d3d78c380ccc93c8d2deba1c9e354c70", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/check_residual.py" + }, + { + "path": "research/staged-644-660-width-reduction/verify.py", + "usage": "provenance", + "git_blob": "7f2f6170705a77a8ca5e31007d986912373a33f0", + "sha256": "0ef49b725fc132cd5fc26a9a81028739896232d938bae22cef132384c7cbab13", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/verify.py" + }, + { + "path": "research/staged-644-660-width-reduction/ARTIFACTS.json", + "usage": "provenance", + "git_blob": "c58b91b5dd95c07e530a8393f5e87f3384a2a426", + "sha256": "867bd848d04505518463eb06b1905e70ccc9256bb73312d3cd1dc57623bb319b", + "pin": "head:3efbb5de06a49ffeea6684482f2d3fe48cdca3fb:research/staged-644-660-width-reduction/ARTIFACTS.json" + }, + { + "path": "research/staged-644-660-independent-audit/README.md", + "usage": "provenance", + "git_blob": "bfc15a07cabbd99b6917c5f81f65f34229bd1839", + "sha256": "7ffddf5ed8b9aa8ef713de7d03f137d1596183f580b4a024c7e2f1071c4f522e", + "pin": "head:f798838eb8ede4178e94f240e7b7e54b3f80c82d:research/staged-644-660-independent-audit/README.md" + }, + { + "path": "research/rank7-group-d-native-widths-audit/native.py", + "usage": "provenance", + "git_blob": "8b98cbd4fe82562fbf0a71965a264d05c1c01660", + "sha256": "36f7ccb56ffd47170bf339597f09900241ad2294e2e1aa0ecc85cabc554527ee" + }, + { + "path": "research/rank7-group-d-native-widths-audit/common.py", + "usage": "provenance", + "git_blob": "90bdf8880bc51d3104b524eca49f961f61686639", + "sha256": "787830615ff85399c38c64834ec653dbb5cf8d2a0027798ddd3dfd35cafe09c7" + }, + { + "path": "research/rank7-group-d-native-widths-audit/verify.py", + "usage": "provenance", + "git_blob": "e8cf6a8c612f1c700aad8c746bf94819e80a0b34", + "sha256": "124c6577459ef80fa1b82e7f4d66d2f734accdb69e207442700db2d1477bfc23" + }, + { + "path": "research/rank7-group-d-native-widths-audit/test_verify.py", + "usage": "provenance", + "git_blob": "fdb7c6bacb36254c44b3f1fba5db589428eebe63", + "sha256": "508b8404b518d5045041e8b62789e16aa5e2a0bba261b60ff4639776f4ff0dde" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_adapters.py", + "usage": "provenance", + "git_blob": "82beaa9c1d13bcd5f79d0a5e10e8a10733eac347", + "sha256": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_gauss.py", + "usage": "provenance", + "git_blob": "1ff29dfb244e2114de8e586a450ae9fb70308d58", + "sha256": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb" + }, + { + "path": "research/frontier1094-recipes-exact-seed76/README.md", + "usage": "provenance", + "git_blob": "4a4747e0c302e58cc8f4c5516d57dc8b81ce95d0", + "sha256": "a0635fd335cf2949a00f6a1eee8826188efbccd3051d4cc26dd8cee2fe725ce8" + }, + { + "path": "research/t74-native-fast/NATIVE-LINEAGE-NOTICE", + "usage": "provenance", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420" + } + ] +} diff --git a/research/staged-644-660-native-binding-audit/TASK.json b/research/staged-644-660-native-binding-audit/TASK.json new file mode 100644 index 0000000000..ba2da37349 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/TASK.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "task_id": "independent-moment", + "priority_revision": 6, + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "original_card": { + "id": "independent-moment", + "question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?", + "starting_points": [ + "certificates/selected-result.json", + "research/rank7-joint-endframes/README.md", + "docs/research/research-family-status.md" + ], + "methods": [ + "Independently reconstruct a coordinated frame/circuit change and its single-change control, then derive the complete rank and physical ledger.", + "Implement certified moment inequalities through a different exact enclosure method." + ], + "acceptance_gate": "Demonstrate independence, source binding, positive cases and semantic failure controls. Name the existing checks and the missing coverage. More digits or another equivalent evaluation of an unchanged root is not by itself new verification coverage.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read #2979 joint rank-7 end-frame proposal and the revision-6 evidence status. Its claimed kappa is not selected. Compare coordinated changes with the losing single-change controls and locate the complete physical ledger; an aggregate moment alone does not validate the mechanism.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Prioritize a bounded independent audit of #2979: reconstruct one joint group and its single-lowering control, check the declared frames/chronology, then trace changed children, idle widths and cleanup buffers into the complete invoice and both supplier caps. Choose one still-missing implication after checking existing audits. Stop with exact unresolved dependencies if full admission exceeds the session; do not launch a new lowering census on an unvalidated premise or substitute extra root digits for mechanism checking.", + "bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.", + "allowed_variations": [ + "Reconstruct either a source ledger or a numeric enclosure with a different method." + ], + "scope_change_triggers": [ + "Importing the primary function and calling its output independent verification.", + "Promoting #2979 from merged source archive to validated supplier solely from author PASS receipts or aggregate pricing." + ], + "overlap_terms": [ + "independent moment", + "rank histogram", + "exact enclosure", + "2979", + "rank7 joint endframes", + "paired extraction", + "joint lowering" + ] + }, + "scope_status": "refined", + "actual_scope": "PR3605 (head 3efbb5de) staged helpers 644 and 660 only: bind their emitted native entering wrappers, climbs, FULL exit adapters and direct scalar clocks to the source words in both orientations and both providers, and check the shared span(429,30)->FULL width-7 residual and every climb recipe on all 512 Gaussian columns with Sagar Thakrar's separately written kernel (no bw_* code in the identity check). The parent PR3133 words through the same producer are the single-change control.", + "scope_change_reason": "The card's first experiment targets #2979, whose four rank-7 groups already have native residual audits (group A, #3411 group B, the group-C package, group D). The live #2979-descendant line (PR3605 and the consumers that reuse its STAGED words: #3624, #3626, #3630, #3633, #3638) changes exactly one native residual, the span(429,30) entrance of ordinary FULL helpers 644/660. PR3687 checked those words as free-operator identities and left the native phases of this entrance as its open question 1, asking for a check without the bw_* lineage code. This package answers that one question.", + "bottleneck_link": "The whole 8->7 width saving of PR3605 rests on the native wrapper identity for span(429,30), and every listed consumer inherits it. A width saving that the native residual does not realize would cancel the consumers' conditional gains.", + "budget_minutes": 60, + "stop_rule": "Finish the finite native binding and separate-kernel identity for helpers 644/660 and the parent single-change control. No owner journal, release, consumer, retimed word, root or kappa work; stop at a source mismatch or a failed identity.", + "outcome": "completed", + "evidence": "RESULT.json via verify.py: for both providers and both orientations, helpers 644/660 have one pre/post residual wrapper pair at frame span(429,30) with no terminal field, one new_to_old exit adapter at FULL, no private buffer, and climbs [2,1,2,1,1] / [2,2,1,1,1] summing to 7; all 17 direct scalar clocks per helper match the source word. The shared recipe (key 137) satisfies R F_7 L = T_E^-1 T_FULL phase-exactly on all 512 columns, with both wrapped and inverse-transpose forms, under the separate kernel; ten distinct climb recipes also pass. The parent PR3133 words give width 8 with first climbs 3 instead of 2, and only 644/660 change entrance/terminal pairs (57 -> 58 residual classes). Seven residual controls per provider are rejected: three at the all-column operator check (global phase, parent right-wrapper alias, wrong plane [429,18]) and four at the width check. test_verify.py: 6 tests; emitted-stream, recipe, word and pin corruptions are rejected. Local-only (not registered): the producer's own bw_adapters.py under Python 3.13.1 and numpy 2.2.2 writes a RESIDUAL-ADAPTERS.json whose LF-normalized bytes equal this package's reconstruction for both providers.", + "author": "Mainzu", + "ai_assistance": "Substantial assistance from Claude Code (Anthropic, Claude Opus 5.5) for source search, the verifier and drafting; no independent human review is claimed.", + "open_questions": [ + { + "question": "Do the retimed (#3642/#3653) and delayed (#3682) words keep the same span(429,30) entrance residual for 644/660, so that this check covers those consumers too?", + "why_it_matters": "Those consumers use different words than PR3605's STAGED words, so this package covers their native entrance only if the entrance/terminal pair and recipe are unchanged.", + "first_step": "Vendor the RETIMED644-660 and DELAYED words with provenance head pins and run native.provider() on each, with the STAGED words as the single-change control.", + "blocked_by": "Those words are on unmerged PR heads not fetched here; their retimed scalar chronology needs its own source-to-emission comparison." + }, + { + "question": "Do all 58 residual classes and all 240 warps of the staged words pass the separate kernel, not only the changed class?", + "why_it_matters": "This package checks the one residual class that PR3605 changes; the other 57 are inherited from the PR3133 parent and rely on the bw_gauss lineage check or earlier group audits.", + "first_step": "Loop check_recipe over every key of the reconstructed adapter file and check each warp K record as a monomial identity with the same kernel; record the runtime.", + "blocked_by": "Not attempted in this session; it extends coverage rather than answering PR3687's open question." + }, + { + "question": "Does the complete emitted 644/660 lane, including scalar macros and the warps of their partners, realize the free-operator identity phase-exactly under an independent simulator?", + "why_it_matters": "Correct wrapper and climb recipes do not by themselves prove that the emitted scalar macros between them are phase-exact; PR3605 checks that with the inherited bw_phases stage.", + "first_step": "Simulate the emitted forward stream on basis inputs supported on the 644/660 lanes with the separate kernel's Gaussian state and compare with the free-operator endpoint from PR3687.", + "blocked_by": "Needs an independent emitted-event interpreter for scalar macros and warps, which neither this package nor the group audits provide." + } + ], + "existing_checks": [ + { + "pr": 3605, + "head": "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb", + "scope": "Author's full native chain on the staged words (transport, adapters, emit, bw_audit_local, bw_phases, bw_check_recipes) and check_residual.py for the abstract span(429,30)->FULL pair, all with the bw_gauss lineage kernel." + }, + { + "pr": 3687, + "head": "f798838eb8ede4178e94f240e7b7e54b3f80c82d", + "scope": "Independent free-operator identity, frames, cleanup and invoice of the staged words; native phases of the span(429,30) entrance left as open question 1." + }, + { + "pr": 3681, + "head": "9f7813943b488d386407b1f4fdc1a3b2a8d39f84", + "scope": "Fresh-bootstrap replay of PR3605's full wrapper; runs the inherited native chain, not an independent kernel." + }, + { + "package": "research/rank7-group-d-native-widths-audit", + "scope": "Method and code adapted here (as are group A, #3411 group B and group C); its helpers and words are disjoint from 644/660 on the staged words." + } + ], + "dependency_heads": { + "3605": "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb", + "3687": "f798838eb8ede4178e94f240e7b7e54b3f80c82d" + }, + "selection": { + "track": "independent-verification", + "task_id": "independent-moment", + "picker_seed": "545f4d3833045bd0390a6883a5a80aba", + "method": "The picker drew independent-verification. The #1166 PR3605 replay handoff was already done by #3681, and #2979's groups are all bound, so the task is PR3687's open question 1.", + "canonical_thread": "https://github.com/CrocSwap/integer-mult-bounds/discussions/3606" + }, + "unchecked_obligations": [ + "Native phases of all other residual classes, warps and scalar macros under an independent kernel", + "Retimed and delayed consumer words", + "Owner journals, physical stock, prefix/precision/tape and the T740 or consumer releases", + "Inherited all-size compiler, analytic transfer and BIT hypotheses" + ], + "result_kind": "finite native/interface audit; no defect found in stated scope", + "refresh_checkpoint": { + "at_utc": "2026-10-18T17:25:00Z", + "canonical_main": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "priority_revision": 6, + "selected_kappa": "0.001672660197076918", + "changes": "None since the previous checkpoint; open PRs through #3701 checked for overlap." + } +} diff --git a/research/staged-644-660-native-binding-audit/VERIFY.json b/research/staged-644-660-native-binding-audit/VERIFY.json new file mode 100644 index 0000000000..36ee92ade9 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/VERIFY.json @@ -0,0 +1,35 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/t74-native-fast/vendor/native/new/code/borrow/bw_transport.py", + "research/t74-native-fast/vendor/native/new/code/borrow/bw_emit.py", + "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "research/frontier1094-recipes-exact-seed76/clifford.py", + "research/rank7-coupled-586-588-carrier-fold/edits/FINAL-WORD-base.json.gz", + "research/rank7-coupled-586-588-carrier-fold/edits/FINAL-WORD-extra.json.gz" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "Source-bound emitted 644/660 entering wrappers, climbs, FULL exit adapters and direct scalar clocks in both orientations and providers; separate-kernel all-512-column phase-exact width-7 residual and every climb; parent PR3133 single-change control; seven residual controls per provider." + }, + { + "argv": [ + "{python}", + "-B", + "{package}/test_verify.py", + "-v" + ], + "timeout_seconds": 600, + "checks": "Emitted-stream, recipe and source-pin corruptions must be rejected through the main binding and kernel paths." + } + ] +} diff --git a/research/staged-644-660-native-binding-audit/common.py b/research/staged-644-660-native-binding-audit/common.py new file mode 100644 index 0000000000..e193c43927 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/common.py @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Bounded source loading for the staged 644/660 native-binding audit. + +Adapted from research/rank7-group-d-native-widths-audit/common.py (Wentao Li). +""" + +import gzip +import hashlib +import io +import json +import sys +import types +from pathlib import Path + +PACKAGE = Path(__file__).resolve().parent +ROOT = PACKAGE.parents[1] +LOCAL = "research/staged-644-660-native-binding-audit/inputs/" +SNAPSHOT = "research/staged-644-660-width-reduction/" +PR3605 = "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb" +PARENT = "research/rank7-coupled-586-588-carrier-fold/edits/" +ENGINE = "research/t74-native-fast/vendor/native/new/code/borrow/" +COMPILER = ENGINE + "vendor/clifford/clifford_exact.py" +KERNEL = "research/frontier1094-recipes-exact-seed76/clifford.py" +PROVIDERS = ("base", "extra") +HELPERS = (644, 660) +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] +ENTRANCE = [429, 30] +PARENT_ENTRANCE = [30] +# Same dimension as ENTRANCE and in reduced echelon form; it contains 429 but not 30. +WRONG_ENTRANCE = [429, 18] +# The contained line 429 (dimension one, so a different native width). +CONTAINED_LINE = [429] +LIMIT = 64 * 1024 * 1024 + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def unique(pairs): + result = dict(pairs) + require(len(result) == len(pairs), "duplicate JSON key") + return result + + +def decode(raw, compressed=False): + if compressed: + with gzip.GzipFile(fileobj=io.BytesIO(raw)) as stream: + raw = stream.read(LIMIT + 1) + require(len(raw) <= LIMIT, "decoded input capacity") + return json.loads(raw, object_pairs_hook=unique) + + +def digest(raw): + return hashlib.sha256(raw).hexdigest() + + +def encoded(value): + return (json.dumps(value, sort_keys=True, separators=(",", ":")) + "\n").encode() + + +def authenticate(root=ROOT): + rows = decode((PACKAGE / "SOURCES.json").read_bytes())["files"] + pins = {r["path"]: r["sha256"] for r in rows if r["usage"] == "input"} + declared = set(decode((PACKAGE / "VERIFY.json").read_bytes())["inputs"]) + require(set(pins) == declared and len(pins) <= 16, "exact live input inventory") + # Package-local copies of PR3605's words: their bytes must equal the + # provenance rows pinned at PR3605's head under the original path. + for tag in PROVIDERS: + origin = SNAPSHOT + f"STAGED644-660-{tag}.json.gz" + row = [r for r in rows if r["path"] == origin] + require(len(row) == 1 and row[0]["usage"] == "provenance" and + row[0].get("pin") == f"head:{PR3605}:{origin}", "snapshot provenance pin") + pins[staged_name(tag)] = row[0]["sha256"] + blobs = {} + for name, sha in pins.items(): + path = root / name + require(path.stat().st_size <= LIMIT, "raw input capacity") + raw = path.read_bytes() + require(digest(raw) == sha, "source SHA256: " + name) + blobs[name] = raw + return blobs + + +def staged_name(tag): + return LOCAL + f"STAGED644-660-{tag}.json.gz" + + +def parent_name(tag): + return PARENT + f"FINAL-WORD-{tag}.json.gz" + + +def module(raw, name): + """Compile authenticated bytes directly, without consulting a .pyc file.""" + result = types.ModuleType(name) + sys.modules[name] = result + exec(compile(raw, name, "exec"), result.__dict__) + return result + + +def reject(action, reason): + try: + action() + except (ValueError, AssertionError) as error: + return str(error) + raise ValueError("control accepted: " + reason) diff --git a/research/staged-644-660-native-binding-audit/inputs/STAGED644-660-base.json.gz b/research/staged-644-660-native-binding-audit/inputs/STAGED644-660-base.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..dc6d321b1e8e2a837a1ff7bb60e8f8f78d043db5 GIT binary patch literal 72570 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 literal 0 HcmV?d00001 diff --git a/research/staged-644-660-native-binding-audit/inputs/STAGED644-660-extra.json.gz b/research/staged-644-660-native-binding-audit/inputs/STAGED644-660-extra.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..78e7b2bb0653c8dcc0133980a19dd9d97ebdb67e GIT binary patch literal 72568 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

c^2e-a+VPhAq3>{xXm(b1#L+ z@i`Oqr{)|KT3{dMShqewZ;XHUoE>()32X<8R{H`cn-9FxaTXSOW}CbQ z6d;PO!JSRI+C1mOuhjct}^&}M9(c#ia z=d(SowIeE>{Kl%XRaR%zcSf3f@Dgnbt!zgIVm#Wyi*V~H6sY1yC;zzS{pOE0F`;_C z2dDm5B{3^gtE!#VjuHPb#sFl{j)*n*+t=3YzlqWRfaVj+D3C!ND_*VlbZM=f+_}}# z*L0yXV)+l}?_SZE^r%fQy#Q%Wz6P|PjQO|}BeOPb9j9*VW5rZf$tOCneJ`w@TeNDHL92e$S z6IUMdW%Tq3J`&&6Fzbw2Q#JH4TebTvh);W~B|^&NgBq=j&fyyDg!ZhK_E^@oimTP3 zOY+_{fzC;Sd#cV{tQD6Md8F$Se(InPM`>9Y9>NLEOm7YvOmKzCe7?`)kVE7s(5^}D z1$(8bRt|WF`&QG03~%|%+2nxcN!WXetm}!80^&-aCPT6JjX_0*UBjJ-x!3;`{ln^z z))RH?4EfX-kN!^|<llctRlijGA~m-w#!71g4|LUYbTvNOa3Vf@j4NVhI-6K zvf%W*b?Wa9nu3FjR{GG$Kb*Ji6?MMCx=>5HG?~?Jc(OkH_++gNmAo-v(-c!5Y$>FA zQ(%{FG3tG`Io>~UVx+HqsHbfixUMgxO6L|xtd9HDn+OSpppNfyL?!_zHX|C{%ewLW^G&6ci(3p{@=M*ueXol%Et4iG-5n5=wg8Zk;qUeFr8iz_3i+Qn% z`lAZRvMbEsU>G7A8aQk zWxch8_p|gV5gv`qy}rbfo_S9_yY6!P|9SZCneUSS^YE*A2gd%7hoATV^6>RKpOUWr zkB2Y6&VKtpB`>FgIK*CM$7w|Q~4ae2OR36LfP>Uh=)#Q#Uf zBmPgv=brB;Z;Vg6*sz-$v;sbC$%(6Q)Fac<5 zY;O{eCYIzHN5}`FpyRA)=Rs*6L32nSC7cQ55Ay^dlF z7oXoCycAQh0y~K^pI!_p=a;{1Q=DveOL4jC2fYEU!oPXG%rHLl>cMJuq-9sD`f%SP zw(UHg!t#&z&tG*2g@_ii%pMI;oN6>Mi9^@PRhKMU?ZlkfAGL9U|AlLl3Q9m(ZCN<& zK)A!@Zy|~qY*;M@q4kOuxpm>|p%yNwSYC^ucJ!MTx$$Mq>}1*A?#aKkcYnGfnJDvYoG)YbF3g@PSY&~`ssEAH^@R!<5q<#Q5N&(ltCE)QGk;9jY|m5 z$ltgF>3KFTn6_QP%|7cNxgwrZBbA)jcs9Y7=%Th&7%U!P3)mljb00{A)>-=Mp0s1x zsGr};LRM=%Z6SAgT#YXJe<%*VIdh}a;ac9LbQIbRKqE%$OqR}_1955eA1*2X!=*u4 zZ#Ch)Phd`|88-!RxODM7ZsT!-XKWAh(COmv=JXEJ(9U9UJWa{wel!{9WjDVOmGmtU zIp!T>0tCtwl&^A z5VfYX_tgiHq<50q^lj6&_b%6s*MaM&J=ETO9}n~GQnPapw^j#c5<=E!?u;7Xq~2gE z-_-4Ce&}1p43aZ#=_bOdUPyzikoIAPDwVB10Zacvi>6&Q;_7syD^eEX77XqERltt( zYg6ax>1#cYoCOX{$Uha&>#shuZr-nx;rb$f_WFMssiN7KBV^KZF|w$9D=LNGoChX{ z;{EyMf^z=i3#32OAJnN#KH%ogSX=f78Im}qsTnU1EYP>Ag1BVP_^1sRpC3}^e@k4N z@y1*bcHNo-pRg$?$CQpnVtRBkl7=VgW1?NK?p1^ynhY68$jO2xs05X|@GG)1;wIrm zZMPOHZ#h)?_wxr|>aGcQ9u=0#ZL<^By)Eh9n$809vD<@M6*B^COYnpEd=z}ufJ7fj zP*d*d=~3$(H`)GOp2d6?YUb~lg{z+uFd}`r(Fx0vq(4MbnY3^4t|`(DKi?_+e9^rT zcb+;3Wz1f*)eF(G;fOkC{g3|*c0#{5FHL+&qX`{zT4yi-asPx78Te}eJ}zpqwffZk zLtt;=*?iBS^Gl+v`=Hh>=0v?t@fHh;*&6uYhHLsX3$v$Y-2Lbmi5ADA90fKLBj_^I zG#U%5d0d6zwzT?sj7N`<;0N{}59At_G5EE>dA&)-g6S$k-`QYG#m`nvz@ptQWLjJ>sjh0GLU? zg1gn>RHU!ackdz@s(Cef!aO?Y)jG(xMXRpb*00wnjR5+PW93w9wf+LDdAg4+Z}{bT z#mYsTE8iBrZ*!urvn;qpR$V3`D7CE6Q$Fug`m0kkEY5CxUSbbk3I)6aKD&$*0d6m@ zNZ&N9eM8MWh4u_CEtWy-%X~$+kP;BCFm{s1h)c6aoU8S7Nc;6EOh%4%=$&N<8 zdd?x?6Q^hZcqGT&W3{u{na@RsUy5KdjkCFcJr)gFdF*@)_mVEp%)d9#KUcvakjTL38P?K!vv{ucejt#KI=bcZF(%91-Tek^=cFY|;MRXr`PHwf{G4jA1^>zWP5u{go?+%yQ`8=IUOr9^Ut~@}=KbL5BzgGH zV_MS`xhV|kd;)q*;=U%oJ|(2^il!+=?vdQi)w4LZEN4S=Db&TY$-@Q*=ru(uMeEeA+KPAD zSpn$AFA8fs4bEgSJTIC`9^MRD*BZ_fXxbE3Y3ru|D`&17ZTALUJl2#Y2b%XR{*F@3 z^6(lsnSL=0ifL7U4#1)}`Td=a>*F|li|=;`>pgvJI12JRNa`=vM4lIemlZ+DrfG}! zxZVkEiELsy&m?ZmMjuZu(^!-=X_V33Bl-~kkoSnv+a}AN|H8R3Q*`wqzdztEeHE3I z)6>-dmipeak`5D>hI-_O_@*7>^n-4P+vaY|qT^lGYL{IT1{cPG>dHwGU5p+oVP3#^ zLy=QlB5lu1@ip^KCUbMHHMUptq>Lp^zPNW~%8tavgxsac8y+<({T;HN(W}@Sb+rrX zI<8Us1f(FBYbtA&92PgaT$`H(r!!&jEwTRH{Kat0@oqosCQp z!M)66&1g0{6`AZO6inTs1wRQ7={MBBFEISMSYB>}xv>*z_CKLo9|%wEmcNJmv|3Eo z9h5^MJ&+URM3?^2(Esv!gTz|&y3M!cdEpOV>?G9xuhTmfIq5=%GzeN5VtZvNmVXxw zUZ72qnN(UCDd|F`A-PR7frAx}Y^-r58fbDafdw0o^+#_`+Q9D+#n-W%PV-t zuq*_+LciO_hJ{d+uQQX21gWdp^fMxIA@d^y=KL*#{y6Ov`6aVR8ifQMjJ9Ms?!Nk9 zh`y0W6~6p>LM`@kbaKGK^lMJ#h=vwqK&-mH!ueV(#qtJ!{5=s&Nr&$@b`{?IDI2XJ z>L;hzosD%`FP9QI)BLS}qTgH^DZpJlI&{GexTtXNvXbknVD_sQ8yuO?KFpvvWU52? zFLV4$7!#n*W=PI+5P&jOWFdzV;2AHy@`Kt1LGJI%&=iYWNKu#3!RoWl;buZR^(ZRP z=FcmglcGC%Lj8+d?j@)lKL}1_ODlqb8`n4as-}n|>f44O4C>+fKoAEJAR`m%L^N*Y@o#{uAU%kO2B~0zx z?%`qBXv)$*m-X{x1MkK&rn8W`Ypc9yqp#r^oH1Va&XVc%rTI*5*1&DQ%^M+q&61 zl|91TY@EslVwjIt`FNF&SNV9YJ7|;%ig$O+KOX8AKSj^bVv^F?HIlg#lDP~LgV`iY71s=$1Hy#q6fXtV<&Y?=bqaK zqHBVu4@!z@r=+}Zh$7FqPFwovY+6)XJ>Bc`aaDEx`H?oABGtwnt`?v1WxOjuh|sFm zcnTJeEz`2>d@C6vnx_AKb$weG6`|$4azzbIm|9jueP+ubL6Mj7R#2@F22ZbDQBTx@{t0Q z5w$lLM{()bm$nX2I)~izG`-XB>vG%US~5WtNP1Z<)<^u@*etyg;Oe|4%M)fxABMLo z3hgaL3x;3xeX~ymb5GYj-`D8mxAtg1k;@KWc97~VVbNdyDYEV{lKAdAL)osk@U<*x!t(3*7yheKjika(R|bt{zs0)L z_VeOXdQto4D*EEO1^szCR_+mNZo|}5`l(TQYmzrT+KZXAy-{B}G~}OGFDQnXx(82X z+q4hTA4;Sb1N9de?OB%ZYR3L8zPah7Js!%};@U0CDApgk(%9}6x_rp+fvY*}^sAKo z@zS~G?ZzdK;tS3-&mcb~Php!WP2XPfw{6WRF0C@{r&L1DP2agdw<1J$t_8F0gelWP z{(|=|wioUAGg3Q4a4E^*J4&&sp8L|u_(Ml(uR)xW--T>zn;UQUUQ*V&Y@VLI9K^Z4 zs>xcMuvErp0qoKCgk+3TB>QsZY@y4a<+(?LnmA?s5VG4&bi|0JZT0>=jcCX*ySuBG zW-n1@B1+UUbD|`r8N{(`w(r@H)hk46!^s(P^l~Uj{^fCR<3~EbnuHQ&tX0^R6UgWu z=1JH`?3sK2&{CRT?_J&H4qU5PD9r4dAGR%tqgmUiR$MgKH)^FrQ%?PP6hl9KXwQ+5 zn63CFJxDJk@~wI*7grr+qH?HRxoj(6jv*DiZq6O8iNlJXz1j+QS&B#*kYgWO?^~(Y zJT*n>2DW8+=KE)nyH`Nf?=X}ncX#4Tif!qr+=W1fMVB<(Xv40nL^)Y|84QV}Y&*Cr zWn`nv(&$Le&^LQgDY8;`UUi!;B^h|aRmV-hnLN$xb! zocb^d)U#e+Gz^*RwUn_Nb||<^ZCSz5usPN|IITOnLJ*-XEL;+EAhnzc*O}!zhsZ320gZ#9&kN@U zs~A^$ky0~Pnf549q0eqve} zrW{7;rjpYlGUI9Gkkf)xYfssSx(g6}edSy27HqH8dOyTrqmQqCtB@WWeK*V-w|({K zeRVeXMlTK7_9L^jd2>ypR<~PhMCmLV+wLd`n>Ts|6ceIa@y3Lr))O{CFCb0JTN8#9 zGzweFD-H!4r?M+u72{i^k#l)Vz}r;%h1QS#8g?zdK&m|So_8E^;z)OLh8tr1`*HJO zqpD4aXcr*&Hgt_{@QcHK!H@m*+Qwqs1o72)aES}-yxAyh`LOCBklfMbV_XhDaq8ftLij(X3TZ8Ey^V4hPk|)Z9g{3g@npXhd1&k zJ?~{D*`?{Q~ltl{_lkB(;2wP_L061siHs8th%ITa&Cr|!itZ~i@Rv!!e?%^h&O z$urUx!n^THVlyN(H)xk!gVvqb_%>?|>Dr-V3Yg5-Xttj)WEiK=bV#pb9>ViZFZ6DL zU(}B`AuL{Eq;Ba?Jm%C%I4emt@skM3{hs`uS{ty93quyL1Ob>%jOFuE$=v_{># zx3BD`L{DBVJi!rhkRXRwEBLqg3G{f5xeAuk=7ILLrcC>cxd&XgSTX!?OhUe6-AQ?K zmtwwSyV>27m5jQ6E~4UoS(iTTpD3`DzAYn{1(frRtI4!>8{F#{N3ZA?1>LM!Rf?l6 zg8E9Sp&vSww`u9*Uj^b|r4TCEUMBi@aCKbV&a{(nnq!sr<$bF-&8JoBTRD3oM?)s# zhg`kO^bt2|Odg|2$L1|;XSp?WP$hj^lP0$F(U*R&wxSd0Fik|AglwouJFuR;X8Yjf zd?KJ0jGK2GVDnBlA+6ZFW82tq%n|0_`^H4^BDCRg!Ks+B*0T|M7cwbe?|tn)V!V;66yt4kN#(gGqYYR;6*P zLDt@DC|s+Jx1-aUXfD1!ibzlpG_;5EqxDLfcxkgmf#~*AmnzZh77bm7 zUJo1O+V6rZ{kwD5QQp?~<=l0|pf1ZsE(=L<-7O3y!T~nhEh+(YE0XMRu_oG zxziYj6_U<=rBBhkyEW2W;E9Onag#CqfHgu0M&Zylh0%e=1xxANNN0<357oT(3upIQ_5B?nlZ^D*kF$CEwS_xlNdEhql{d}^M|B@X!UbD9)+ zXny?u%}Yeq$e)*PL5!0vUE3LF%bVXNQ>`4W)9-ttl#Jzg?<7px29@M)#~-h^y(vaE z=E+dgn+WHdr-rh^oVy8jqPlYfj~M68!bO4bMxg;6UTjI{7%L- zlX@8gU$}6b2DJK~t|`XY^4rBy6ZqoUsVqcZ$8)zZ%i+uKg1K z=y{-_0;kbW;*2zO$tR9uG0}9Fd4QGDHKKM82^trLf>L@frpWsz$<+%a?_H3WroD6H zG>Yej>XFYkN+)ld#Cmf^ZNQDUXJi9(k>!n=szT;9k86UoTP^cN8%Jqz>lSjpyJ=N| zbJs-R$B&9S9)zbKE9wGhDQ4#Qp|9Rmd%6{>DxA>ti^j7Ao_E><73>|_xMocC_m8ln zBqaPfyrAy-xk9nN)P)dv4h#*Dj_omOqmNI~&89f?V#J%HP7hb?+&*1kYjMzvKnh4% z=53om`*6|0%cVHg=IByZyR?PO<=UIL;@%re@@f#}o4YqENj}bTD0U15x>jy*CbWb9axMGq8_YF(d) z=yy+W&F!2!CMgPn%g~D*r5Fj^(GT$401a>)MG!)gH47O8MI5flO(R3Ix4*$R>6|au zS1GAG(F-Xlp~m*v?P(;S0=F&atK69amsjX1C~M1iO++s#C`}=cQV0tAxhRZc2nzb; z-i~sNg3=EzLX44sg2>gm@ZIKf$UX{mudr2deja@-J)RPV?BJY7Jmuk>!}mk`lwe`I z93lBV{g&fj`KHh5$FEMjN&ZZk$=%{1<rB_kw); z>1%H{{tnqacv(a1&u>w~{*Us{>X{F{ju^P9sK1WL1r2h`{i_k6z~%16fr;N2j(zT* zYQ7B<3FTjLls^8EGAJku=Kplrx z)r5Bj{wehD#=;Bl>!8)9!tme+mr`!O;+60w;&@T_Aio(y=KitDfRYU7Aou)JDitD* zgO}$YhnVG9N?{zjdol>w$ztAY;Cp!H#`u!HGu@S9ip}}CdcbfKnv9BGxtXfa_dh`- zPMVShJ>JJ$>)dj7DmW0{lz_9oQXr~)&@t&PJ-~9?Np8CM(%8|q#O0})09ELJ-@UVU zY|>2?8K&tQ!*s1Xyicw?Gt|#bouV+refmsOrIys!wcvM5=8`RMZU0-}wBXnw8ab<* z1h8{~movOSYCJE+jE!;8idM*le^7Q_#+bMuhwTKXQIUf84;)mD3ugSQO@EBP6)t=o z7x8!>JJ0n1E*j$+3ng^r1Gu1rthG>vvIsO?ikoUg*cLNs`4SYN9};tBw{jB>-i}1D zsaJYi`K+jX@D`7t6?;B%-leMAo6h0(#AzztU~``Y@cuY&$NY%Sx45>@N?&av{|5bf z7au@#oK5wn9vJqh{F1so+oCA zn9>3NJ)7NeL(~ZhFU>!a-I-ZKb{|cr_s6pPy5GHz9499osEthJxEu6CgPik`MT7i4 z)v(>7$YzVRG*8S8njwHm@y!-@q7jqhlWrm zWOPBiMCn-slC@^1MQm+`>vn39EqF(Ta^ z5z+qZ3cgv3N5<-sIL)r=ENmjZ(&a`_&@nx3ytF953`kAO`L8C~c`l zW60M<52&0BiNsJJSRJVB8yK;bTOQ|b=HPnWP(43=rQ1UL3w0+4*~hzgoB|-u|8!;u z@f6$3J3C!arjz4|f_I$ClhCpmTCJ{1cxMt1YnjU&m=i@=o`m9IrJ!9{SH9(4_0EaX za)3(kcGGP#x}Xrkdjh*}DS&VU-BO@PY^TZy;}#@VXlFX|#e9E)oLf&un|a^YT)VyC z)EXT{-cm(R@+V+>tu5iLRP-c(BJn64?JWXDFJLl}+?~<;NpID+9N)d(&>Y0<{w+f)$XR8u3LoeHQ$GMU6p%#prA~$V!L$bKMos*J2pGi zFZG-l)bAiI2RCJvQ(wk?rsojn$dO&(a0isu%r|oJ>@>l7hRbqxS8ngECL*NyXVR(?}`$cAM>k&%i~Y-=sq9iSO+I#oPdy0 zL_+t(4y~Gv0 zXpE=588dD}6xF_-Gr19WQQk|>`3>5R@fC`hyfImR+u(`G4pCW(jDcvRhzvP?!LN@s zzLBq?4>W5)kWe;fjTQrxA*o#EP%oyWSs~-NkdmH?dy@;hJLtm?4J7!U$iHcfDh-_r z-LYe4-#WP(QT#$=-)ygy)Ggs_!R-T)>k{3T?98#}X7+t+cjWXS89&n3&VO2zjHNPR z6D6a;eJ}iIVKSEfy*I0c$!PG}vZKezcsE`)aWYa?OuI-KJ--)XO+}!Ko**bh&*yz0 zvabtMY0lSyEt!QKGyjF?>=!p(>TrJGwkM+B+rwT-{@f|Re`)CKuV88s&d8P6{3gOl zQqA|sW~MZ}^IbCBgO*UNM>sjrqGc6p5l&8xl39^}DXDDAjD*6`t=Br39AxD1RO(5} zmV^%JH7KPtLVVJ(W0Tfw?3RT2lw&7r+4Ct|rC767iZ#cE&!&;9KkZ)dDgsRcwcEjq z2sBAG-);mEXwQUp8-b=yO!>7a0!<_LX4&cyXwtlUD<Xi{Cvp;sc%Plj53)<(;N z%e(wDPK!F)%MbH~^!u60pSJyu;@}(u0#JJf@GR%cAy_3NHQDUhaV!$Tj*l-GeqQDFkTR% zUm<+E`LX;7BF@R?==TSj!*9a5{_6uh*6D2>QW({zv*v~(GR1;`Qo!mB0hI|AW6}xo z-Nc4TSTc!Bv0)N+%5dq}@JLH3@=dYq$y7Z?lV&O*qe<1OuIRrAc_uq|zX(wermGW( zEe)8wK7r}Nd#OqPImq*^j&ls#&%XxIE2JSbzuW~_#$*e*;7-GRpyznrOUc zTOH(r?2f#MXUNUi{FDJ8t&-!Zv>Etq*bkOJC$mNooH}A4%wA-2c)? zCg5ZG@Jkg8e#7kr`17pgix%hR=UK~l zDeUt1S$Y8XeV?oS{3w4)r3Y-kkkQ*X?bmd@vE2O#uw)tCo~8Xn=KHAgQvSEH|B~ki zGKvg-Y3*dPJjdBJ)q} zG^Q@g`!Dk^?ZKl;LEwjW&xBIV^Y83*qyMebLG@do-==$#v?s}LIS_>+zQuZUHZAsp zNhq6qL&Bxj*L*TlZ20U*xaworDaF2JCp130M&ewo5u^{WJhEUTr0Yv1YDo|@mi=@V+?+8$ z4=is;_sDz_GHf)?PgNwH=DN6UmFC^ef$SVTkVV69pDC362m#)gJDyP|US(9YfU0~PPv^(%B zmrWbAV{9c+)odZUPx}7!rzHzfW@|b3xk8q`qS@yPae>U!E^~!wtitKmxk8q2^!ZJ$ zkmD;uVUsIFOGbBHzh&VJuOFNrXmVc{0Fv;nqBRL|N*hj8I%r1|^IHRCA#gT(Ry&$} zcBQ@+ynHxztai=NZ%+9`S{MCjn?GcA(M{lDKO}Y0$ok?wBz5sU{kX~La{LT%+U0bS z>chFq=_0L#bDPt}cORRF3IQc8g)K?y-Ydrx#OHlfN@Mdb`;a8>Nt}C29jmgwwT@Lj zJCYE(!mPSdj5{{{*)&4^>F+ZtDR)#}KW#JaxR7StCfu3+s;QcA$CW(tKHsi%_dl2U zc2t%rmk;@Nq%%8RYlm%`z@?Mt0tWXB24TF~?!A0>G=;g=xuLUC25+@+VUr<-M_CEo zV^OW%@?83yFT~H1*3r)LUc3`8s-*UVjJzC=ByA6*4sQpSw-}G8^&H*eFHMTI#&MzeP6zg`6c2PjF>4zK2`sKE&v*96S2(QJD)pi_!Cull-Q6E- zP!~0rw`$8ySBcA;&I6W3dLTdh6;4?L!-JB-mhQlG5Bv1xGUQWPbdxL?!JltI$s)s) zA=2Mmf9A_`bA6z^BWF{&*4w9?eGrBV3&6@AZZ0or=rUC>^V33kc2@LgI~8E=8?GVs zSqcilxbZRTg3C42rFUP_V1~Zd)0|Znxp;HE%HpfUGi9{ma{VK%n+BK4boyQgMeP>t z2=ZWux~TNS@c5gXsxHeJ+E&y{AWO(oT>(x_74My=FjpTn{3xvh6Je^)d%r6t!v4_% zd!cF!S>73|B^kznI$MS5CS|LUI#80!auLcoKS9lPx#g9`X52#%%<$!u!3JIK3bl^n zc2D>84tCON30%0f(}2ALllPbojne+0Q$ajojaRM|k^5INuNm>SI2Py_>I+-7J5(U3 zFOQ?k==++)YaQ8>3!5R&N>gYoMd5>p-4UTI5J=h4AtZ5Qu$ChfPY@Qag*I4J4pY5A zDqqo+rl^GGCLGH<&<&tCOUdicRK}t!&D6>HES2MHqWOJJWZE$dzxB{d-&9JmyL@Ij zwghA_96XHuNJUt6(eNFeVawv*(u$(MMS9H&@XkfJ7F{?!mw(X_KgHCdlBTlFW)WFdipr;`GNXF5ze2>g`&8@*Pav1hUrc2C|n9gK-vd7%S$KaAK?qqWBdnJVwzC2Tsd zQUFB<`~q(=pPquIx5D3w5gKhXMFS>-zx}+J3tm3et~|lcRPQlXA#FM^axQqy4&42^ z`~GEjCQEMjGH1TGa^X`{i|DL9w-LiOKLXg#q4_~kKohNq?J24tv>!`=<%KGumHx7lN`FaVFMoat zaq$h?$ucEv8;w&lOu4D#4FK3jpvW1~nY<0Nwd1bSkGtZ;A2=-cDI`Y;A7@aV)hV~v zS#wr$Ye|vd7IWz$nCMiRm|WDJlC*6nljg@^szu5OqDl5sbdLA*wy!jdXsZOt_U{Pv zlu`t`C!W8B{rF*|unS{0CB$9{_RYkU5^!Ay^C_B0WXbHJvu#co%|qom=xR!w!>&LH z3?2eyh_)GHlp@r#o@|)npXR+My^1UnnLVfSQSYR8-`k9%1=OnBkvCJ{tFY#M?SNzPohX3ZR~;CTCrN z$I;+|5?M}8N!!l24lEQ7opCuY-3l+Mh+vsqcu7?R3nFn)1cJ6}sGaA7V^NrXc9Y6j z6nM4-V?mYDS{*SFBoX%oiL85>Wl2lFAgZ+Bcv-Lz@K?|C>}s05zonY#{vc7EV5bL2 z`KMGw+mh<#Z@)-{6P%U!odpox^7BcB-%&6i1rX4Zf*~zdFu73wQDWLvSU48)l%4J2 zm4p6tAU8VgtY1?!5hioEOBtH^`~iM}Cb|I6AMoeuG7xWm0WSS(zq=o-?}~_F{=s?* zdJt784*X!9=KW+wq!u2a>4*6Dz27U-9W3 za4CfLdpp0K68bG}E4L@TAe~CatOt#h6B$O*Cq2QUIFOX!4prPgAfrcIhF?SP>#ykH z6?${71aU&fw5;Hfc9|yOfe@<1=UW}Io|5q!Fq8{c&`PZ_e;EZ72C-GbdLgf6jp%Y)vxMwR-QL={gn)IQIe1-qWKOD=&H96AZ! zz$>(eyS{1|gA2G~W(-U{1{V~2a0BUDT~;p~S`XLag(B_zfmp4pJ7!r>XTu z{Z^!$L^P9nXcCmgb%`1tsfdK1xeM!Bmx@c&Ri<%L<-py`H8u3!zGEK>^Qr z7w{CXQbnc~T0^9);F%OFnC&6NZ}z~YU}gGMU$;n<5{>f}7EH`(il@4TpR=FLLXOD| zm$!ax``MDOdrmJwTx9W-(Q`~od0jJYJ2p=Nbccn2o|xkarB8PJkhcyoR>i%ZF~6pE59KP)J-CtB^&@eVEB z&EX@i-;q-4n)ONjg<2+M&=tPuKc?JK1yvViaI{qw9nuSk?yk7%ccg~PU0TgBWJ(R) z35dD-SrhkSNpCjbzbIo{Hq?};tBSD+wDTnm@z?h3(vM@spy)~iPkX%WF9A(W(4N*SYy!Bxw)sbele zOmugxV!tD0El2xR%V7{=D>5C5<&fZd$mdfv+3zS>$MO8CV>)!5AFbjpf1PA{4Sp|^ z_Pf@1tA?)bJq)=Q5+df1b;GT209TGxIH>X-IZJ)^Yr*=>{?9s{-Q>#}#L}4$w=;VnBl5#-BO(!Nb_5L~#&QfUC z1@8LvGX3N&Haa_Hmjt?juM!7>_q#TQTAD%0UTe;H+??8%YpZRA(za!nOjot>(UFxffZsRyLy4#FCEoqhTl^_F1TrNJ9Q^j^SQ;(sI-sdq$1+G5w@{2UBFKU|@lZ%znnibipqAGG}%x_oc%9YKK($wyrj z!yp~U@Kwi_-vaU7Qw}yOZyeB1=5IxW|A)P|+p%ZY4LjfET(1U7qCWi;!Q2MH;KZ{h zc90w!wu8*$r$|+;{#exB{B`~fcw=(W7p+CHD2k#;NhE&{RKp1KCm#G>B;g_;7Wt^v zB%Xy9?tRoRwvdg8uhBI=tVT$FE>!V;I_jlT%ZB~+jMmc>*$Vc4EJ%?z1uhgSzZ<>3 z2WlLC2DkhHhn3tJCAZJdWig(Nc;(sS{Z->1K-Nc}QRa5L$c%}D6(ac@Du3+6LF3y# zC$-zcY6NKe6u0wxL7>Tw#A+~Xb=5@qlr3<#;MD2;oNJ+N7hE;amsr?M=&sd~$zNVT zZa6&NOXMufc~hQ6uPZ2~4d*Y9OtXQ1i6M4jEt6r}zY6CQN*9N zTCvK7>8ml}11CEnNbWVhtETa4V3yXBA|ceUnJYmQ4-U!L75SUJ4o;Oacls|FjB2W4;@ zK?ZC6BKZ_Q|M{BkQ;~{h;F}1L*Zij~Z{P60+Q?z?W&~Z@-=Q|Bf;stj@}=Lgfh7G7G$v2 z-g+-g_2Gp2wFZ}hmG`KQ--XrG6{U|aXg7HqG}T5;C75nQ>wtYOlJ)sKvV5et8u*v2 zk}j;K$+wzM9FA82WZ+Y^d>E&|$ zg4vy71)JmR3$Tqew8tDVa+SMQ6fwkItI_z$X8l;-@AD$EI*9daM#s&9EAQnW|1cSi z*8Mo54AvrX9}1_vKbk2oZ{QWIjF%fP7gkfol&|+v`>Zj|kO%YJ6sz@Cy&$Hq(Hsg^ zMskCgUL!y1$5MD-{Ee5uk73ANf8+HDp;pC6?Uft-<-Mqam6@GaKHYg+Dj$pT{Q;Ae z;?%+v%g3^N?eqPy-VS~wc~$)LoctGHVzA^KMec|YZQ+l#m3>@gB;dcl#;wslrNzP=`LHE{|HnCLcCngZXzhF zi5O(CMvv#=Z2L}eLxszqQ~Li7aQ;v+@eflrS-jVbCYjO_i|>U8KV%MnEw!j%xmPF4 z_$#dCuIlwQcUAV1N~=DY$#}j`WiQl zAkA8QQgZTgMZe_kRyaATn=9H$^gZ4yTmB)R^^)jwe(T>84XtmQM+>Wdj^hwl~bLzK6Jpu;(hX>fPbK%!ehM zo-XFEvZ-+WC7#NMRf4@U3Xfpp@9U|`hQC@z^=Zd`%G~XhQkD0U;@^igi8xYFB$UUa z{sD{s)8jAy`LF-_+h6|fFaP2H%98Ti|NO`Q=imO}?YIB$@BiVifBP@Lz5Vll`yc=M z_V@qv55N7(Z-4u@xBvQ2|M<6mYpMO^@t40p|Nre@{_p?yU;g^vfBV zY0g8XwRt!%u9jW&^+ojab>7P}rh6ElO{@f`br&%8lk*=hA2K)9$z{@*SX3iPFeV^RU$0~UF zi_yQ6ULHS2c?}a@&6owy>2T8QZE3MGuRnnP;-ca%KSw&?%xTI`J%24x^kVQMEH41L z!lq+Hhq}OpfG@8z1g?+I5$={A2z7Xdv@+tZP?QIq!W`6lw1W_m(BzbgrZP_UDI-(g zkHm#AhqacruhcYQ%5z+*PS7dk@$Uh-LFYIr8IzI$DPm1Qp`CKX={Bi-OTQTTGnaZ? zbuQFkwZUPQpF+MgP;h$YsbyPyd&>qLwpLC9EG~mV)OWh&u#R1b0U2eN(#QdB@l~_7 zoE+S8ruuU6S*da5tu7^DM+o(ER>}`eN_>F!wj_?ZA7BRQY{v|Y(@4|j8$s6T+twaN zuAmLrQBmaAgez)BH=!gx=?%@gLMMXy0KmXlv@yobRt+c5zaIIwr;^Pir2FkpHuL&m zFvtBHgO#H(_&68Sap<$-19ph}bJ>dh);Rr|4nJpxzC?FSL!SkVHtTPVb|}CKJ2@H` z2ZgN#fddOt`F==zvJ_Sd0tfC!(Ewb1IvMpL?3v}hNP}nTuWD4WQ@dj2o+ZcWQ4cjW zM34DbF?x)gl_4ZXjy`N{VXIZ6F;fDgO_pXQieB^-QPZM_HNy#83ebe7gFuj2yr~BF=OAFJpWC)zWr|X7t#y5CN zQWIXqMo;{VQei{Z!>!L3@;9J?R^H(tIpxw>sE2@yhb(sSfWU!x>Sds0)`47{EGl8=;C5mlCVM%Q!)m=~@Hw-H3$@UN7<~#3PK}f1)SU=FG+H(P0B~TE zRYFSS_;~qu!9}mWT|VM=Q|Wbe2v4xWDoJm|hrB+Ke()2-t<~Jg!0%CTa2B4l(iHN; zv_qDJcJB0{>|WptTEa;N+q}ONS^T3f4BNela!;vt@&(-v5>f8Ex}h8VYyTj+D5dyu zp}|t+l@bxu6P9Q@%g~-G5Y#GsC8V0c2Xb&FJk_IZHgC~0gS2|QkrSlV?eUYJ0Ebjd zKOSI@HP~xch_dw{Y|W#ez7`M*J<0&^mIEh|l{3`4kJF>kw*}0YrVvUQsMD?$X8=KZ z_5|Ry+EYpiXkUH8egM^Fb`kP*+tn-9;ddAD5KO|&pw05ulJUzR?x^ z6-VE$K(rwG6%H3hf83FIG4xk_U>tq9VikkvSHxueDl1*Vo3Z6|g^4Pn3H zY2&IOt-#)x#9xuU;e%&cLC!&;Sy9g6NtG+&JBWS7oyXDVD+E4>eg)#k7gW7+0tC-8 zR%U`Y`f?>n2%=x98p5~!SAL18#9xUk!a{lF+lZ>lE0afjLCq_vND%!>Z4yV{uOur$ z^efRzT-(em&W9YAZ&~fzT z%1j+Ze;c!Vf0sm`>+>& zrTPz^PON1AVYxZ3!UsXAU*#9Vw6B^G(JRNR5=0pJaaF|#n%%25M_A^sk|J-P>puO? znp%}YqH!bbSvsY}$XPX9qUf*MGja5*uuYiybl2DkqF<$cqH#n0t~pdNUl&uOdw0$4dFGOBF+ZmB$LBKkiapLG-I;SdK=Ew7Y;=iJfwXaOfSC7qW15%*s8KpdQVl&p2` z7 zPUAU#q@|z@T=Z5w5syD8R?ynOrJefI@!JIjt(9cGQ0n8WR_oz_OLoy?oA`yPf{GBq zJgvhSzhs})y2O{&*$}^SR8XnlgkBFC;s?13DkuY&F2gW-1+C;L_he*^>l_8mg!ktf zsqwcf3Myb(iH3H?6|#a#i|hMgg*L)ZOB6mX^ZGO@{)kN<+k&VljSf1%S*0cTjla`6 zB|iSLL_wub^mq_GdDGJ}@`f!>^dN9l^uSLac?wXjz1&G^Q}iWfC#w6-G#q}H}i1l#vREi-`W1PfbO{Q}Qc8O7tT$_y}`k<6NgA{uz?di1Fee+zioh4A$04jXp6Z4`cQDGI{B$Z>h<%VSU(5-T_-Q7qDaX(rL!k)M-^0U{#lS zmthMJR^o|Z=0Fd;)gu5|X6zAu0<-{V&DjsspwW_RczIehKrPW1__-3gK`?+ZrN$MZ zR^zG?4jhOxM5~h39G;mtVy(_rW1y=hSPm*ptv?aOtAaFxpeG3<`sSRxlh*g_gBh2)0RcLOh_fCzJ++wg+DYgc+muAo?L0C2UB>Ki*5VzS= za}8$z&-NR9hpzz{1>{M#2n!Ivp&=6moE>WnL;+9b_2oEvB(0CxM?p{V(?o#*xaX)#KUJd?0p%38Rw^`r@KrhFG zWR}#>icC~|vGSI2@L})p$#8WB0QDraLa9gSv&}D{hJc@ZAz>#*O}r|RMYRy{5sk6A zZY&hI)i7h^K+{y?Nra5_5coy8GQGrHTa&I5#H&N>(P#<*H{mN;DKL~y!wuZsX%vf0 zLe6oAYour>OCgqwy2If8hX$LJI#{F+D5znPIN?|pi>zrWoSkmP9Zf_HNDyd|IPpNA z#hdm>WU!4<6MrbW274gM$rWghBM5$3CpN9Y)2mhHFNXGHpaiiV%Ije4iUwT7Uml1> zP{iT$qk-H3vcgN^=+hk>lcIq`1<@mS{7Q<3_LR!TTjK?OEba+J4rv@y3nfIpck2_l zAMuDVL6ldCYXFUr3WZ?ZFC)~>m~qMh&&9wQ)2P3tF?CusW6jlNca95{6aY9nc-cevF8X1?#Oq9H%{j?e`?55lVnpayB*+MH#=J)5MgB4iM#bl?;h9`vIgRZY}5>me@J$IVB}_ zgQpK|W8RaNx|HDaycDmWpf4gpwZnL9xTfYM)q2xJL0}qcNFwSq@{xqdX|!ZUrPL1# z!;1&8O^d6G!w(CTBjeRM0OXVSM+?U!=(Ei*p$33!@Fuy@G-~43q=lY#MomYOQ^;k5 zk#jI|;)g#b1rpP9#&ij4I%SEJAneHwk!ZXliP6(oN)&Y0DvDs#NK+D$SS{finf?4A zHQO|PRO1-q@P`E^lJS;!9)2aC#G5Ml2z{{`2Gk(%BN~f)A26K2t;K_y!9WuOKcYd( z_d%NaLUAUNYY!v6Fw#q0f2njy4vz99TaIXaDG7{JwE>oqM$&?tvK0yp$k7{Na7eEC z1V|!keZfs$2WZ-{A#Awun=B(AJkVOP#sGb@`9;(K@QebVl^T^EFjfSfQIxk0woJzQ zG7)o1RK0aj+hNl-iWA(6li=>|?oMfOcWH4N+_hMc;_mKR+}#~o+@(Pa6#00b_q^XZ zXC{;U@te$Ka$kGxwY&H3ioCiiNncp(?|O_!CF zq)1TeiF(x15ztlJqJnwM5I-tRX)^~&O_%Vj;?mx>%|jBXC_FddD_pgqfpZo9mbjSi zms{JGv!||stxKP6;j<8I^9YqfGMBTd7#Stm@=vX3h9AAI%zq|N&{KIisdSAPkch+CDf|TQ=+{?u1E%3-!+`}Kn9^v zA}}iuYb_4N_~9|Ll_K&i=fJ&4Ox}#&rX~cWXNZwdQg2W6iA{mEznFYScGRDlp9c%ro(tG zAkFJStjlFDNg-j8y`dvJhN-^dkyr!)?d0SfmBMdw+U^kI-Z@Mn%f63oN9q?p#|)&I z)7(qiKM?&=T!$0TVTDL0p(n%m#k0-2-B|=v&CdT|ErS(g$jj=%T+_ZGL3vvIB z)08hT##%*9r(+NcLuM=N2u!ON^6A+WCSpv(w=b)ORp7(?ofY!y9Bho;!yf$XrqA{^ zS2Ye<5&W&mIayU6C;nl^PL8SK~*z(e#v9QuXpyn!oQC^0UITjQ=V#?V=a#yWwA{6l&| zX+E;$;6m94L6!bXq=urTp}7*UZ@CAES+46*8@V@t!{Qb}?F#u9(?tFOSQK5X-eji9 zqDY3@fQ{Kt?&CM(3REKG8DJ6=5 z<@&&0kMcV@OC^SS1(9o&3P{Xy4N>f{l3e>SlONqc=U;$h;6DRdH?nar>Po_&Vq&F{ zche`R6H-#<8Ff`<=vK?EP5=n|-Onj}p#Csq5H{3#oGldPHOG%}%-V&2`$Npi4==$! z-aybMLXD4K6kCBndw2nJfA(ULrYlej-@yTssW~atWxqpBsBw;EN722U|90F1|JMGF z%po8K?1kes=$Q34pN?x$=J#7hXTsm1dyv*>61O15pwg^J&vsZw_dWF(%55{Tpw<{h z80MKYD=t$Rd$U4WUN-?1rO1;mAPl;H3#jBlq`Plgrb_|m+kRia1o(Yl30q2ztR}w- za~0)L-@(&w8a{(vZu7>xia6{lusJ_c_$XrkFY7HF$^KEQ5T2D_i9qu^+CKXd;XV~8 zarD%o8Q0&@KQCgDMzvn7h|Vs$@>iPbEp~d5bn6lPzW-VdRsx!}PnYCZ+ZoIPByB6v zS=JCSI@OeW5P$0FEgC~{^9S!)xdpOk7%x8nx8b=QL&x$GO#H_}ChYx*r4-VYw2U;z z0*F4>)3HLe)>h0P5iQLyo>&8jF5uCq?<{$QZVsEUz%wQ}Xjfe!C1Sjx*5Ltutoy6e z{AeYaPm)~D!73^J?PTHPYZ{GYmzW`9ExwKL93cXGz#n@RV!HFn^9O#KaMy;yDkIuJQZ^L%53!; z%#pdEzV-cpQhda()Xb#5zG>o~H4R-2-c^L~MU3UT15=fQ;-%Z?TJkx-(Q0*XtbV1; zq-_;@)cK;W32szbeHFv4M;;dr32Er=hvrBERPJhq_PFqpgtise>BVIDz9bQ{p>ca! zBrFQjGHhjV(Ag7qQ?LB9n6#POCT{hGq?EHxB5a;01!w%J;4A`Cw34MY^LmY6qZBo+B9%6VDE(3`&wZA5&;07C%&J>n zKR=0v;@+z2yeB2uj;8}H75-&o%a^@nV(TGMhn_tj~EnG=kN@~5G zWHfQ^(S%{QlT34^T;C`!V6WlFwVjVYWs(hZ@k0QwlV1Q)e|P&vI~R{^OFf%8(M5qf zD5>zlKaQ_v`fiD_EoQ#zW*f&tupG7(Dyy0*Q?N7-KPcs}8wn<^u2Qt>ANzJELQkPs zMM5d2f&qkiACub*8=}d>{FUq(mIdPG*{eLefCs}5iTGtSoXfp&6M!$W+;=18vxk-= zN2ighsO(5~5!64dguHT@N3|Y(0vAT4W>G&xT<&2;%Bb^;Nm{(hm8}3NkPx0;*0Y(7 zy*x;{_j^#!P$M{}S2SYcFNI^qIE3f~WgjT2c(TJNTYi%Kp`lGDAMOQabkd33wez&~ zgbNi&S7x)CZ%B-Z78(FguDvD=}}505rr4w)!T>=XFtowVmJbaf8^9xQxp3PTA`!wbpu|6R z00mKAzevsth$ujC{Bpwc6e~iJ+j?fvV=PzZ?dt)LrbPf)WJ*C)jJRUV5=Wf23_*Y) zQQLT#=? zY^91!jzgMiAAQmAq*=Vf5Uo^UpVSBCA2DVA;<^{GF&s$AlqiTGE!iSdRz~&psN2UW z(MZ3MeMw94p1=OlUxjYt$FKHzbPTNKWnqb!1tAq15+oMWW2Z$f54aY6<#VF^6LbGC zMI!5jM;gGGhN<8i+rL%C@+esZ<1A-KSaob-Z{U{S@QfH6=%T#%oDRuHKsU-dbZ_o6g=oOpT0|hhtwg_5O#lF!^0!!t0)vUctF456?v}uU$ghD-=7U6yqXni{io=up;2aj6aIq08 z*X1pQzn^J5Z#`MbHUG2=moSw@MpChmAX&jLU>{6bc*~%$1sVa;Vg*pJ9s&hg7wPjr zGvM#t#C{!4ptl?^3G#AcXBfb&cvQSii6)8!(>(4X{1p>{Cfgtl!}hg`8AKCX=Cw$K z0-eSolM?GJ{p0rpY3UD{3}ppD7m!#rrZp-Yuz3k(r&-1^<Dh8VEpU}@2-|qBXuA%qc@W-q9s}hbH<;0(dIL+Mw6qG8g-)< zImjKT4pCrJLAMbHuxyxbo!?JBlcf_OO2m%wH~s$Rsodg5-}Xpbup8AYy-V6IK+|IO zb(1etD&4fkTEbWAe=+ffa2bt(-_G1SrJuv(7ShMd*D(|aoaS;eq?qIcm0|50)B9+{ zV&TUAxNDJ&U}wo)>hpd-3ZvV{1Uin*D`|>6a{Q-G8 zV*0r?ISCSR`Yy5IYIIPcif%C3Msyg?ngoJB3i<{uTK1;~c`9ghO}Zl%o+S*VNl%a) z8p;>!CQZ9Nc28qYO6Ba&3jypY;@2R7lg=LYOt+(gD)S}dJofArQD!2ejdkj8-R?5*wfJPoIWI-j}o5v3})QVA6aM&}Lh_eAyVk{gI z?%X70?(vSKXw<$?nz zsbz1v{kCZYo`i!J#UC*zO{9&9FF@-V1v7+qrXD&iCctA@tLQV%Msm!iR7gYs;a)nU z8|X7#QTUGT-a^N+37H6DzBmh(v(E#)u}bRhXz0cM#peGX6OdkdM~<$S&@XA2UrDv{ zMReEfIn+}QZaX{?KuMFwgxfVl?=^eMugllk>7?i_qV6deY#|VzSYPQ#5?WbhMqW=P z*de}R^lyLR?sP)Ng`|t;c9v;AYkgtfI!3fT zClzn)r}&49igZRqr5l|1t&g)Z6}4IcYH2^z>E6uF6>b(Cm*9fq9J~^k0_3fbVa7VP zxrd+Ok<&gk{gz5*&5!_kxfC_|N_X@+17jccCJ||AHJKNa8tyAbYUSQ&C`gbk(MAqo zxkvlDzHm8flhafF^)&aQ@qrB?EaG+ClD4O-Ck-8BQ~K~H-z@wbq@{CW>1)Nt!|3LT zkHm&mH?i?SFAsTYQzI{Y#zf-B#%GkK5{=wJWb&lGnIfnefBlfj7SjnRv+UfX4*B3ebZjTf9YT>%$q10;_n%1bi}6?-x#RD_Hm6{TdLk@^ z*@t18Jk=QN<~AV;+i7URK~PJ*z_S)Bh-4&h?^|5J>!RYqQ-&jtKh8ieIm6 zHzflfc@%XoVoX>Y@j?#bUq{VCCnbH21U2#cg&|D!-aMvfshnxJNnRX7tRV#Tc&33y z_797x53EXACgJ`+!cNw}Y4tP#(=qaGK;xAmKB~%Lu#?9#a{)y53 z1lrS+7%&b-7Oq4qVL{A0W+TqSqSnQvi{YY@#bMbm0@v!H5quspEmuClq@77yNt@dT zNC0|**c9hPlS>+rB)~9lrjv`g0<4pCP4=j52=GBBAmK{Fom~>SBY4iQo|cIVi9!_r zlO#Qq$pqnbpy{wqyMR5b_hpTGdJc>@w-ikTHVcN1Kc$7&qLOqqaH-Y6)gAqjui43Y%9aqkeR1!$`SfU z{VcNwj@yw>(lz97=ikqb8ZCL?U99-KOG$g0`}!}$c3!yZF<{x?`%0EK;)#Ax2MpAO zYK@~eZI1eSm@jVqLxQLua%*p&XQe?Z;eDGXrexXN!NHLn!?HNp*yz31p}J}=+50gE zFrx<4^E6%c7$)A<-l~i&gI`H^!4jLEP2FYp)C-wP$u(;^gFa_(Zm{b?=Uy_8Kz5inwAH=F%IQhZak2)w`dvdb^}27{e# zaTdEdQEc(3We%cxSF&~}OOe-yccCt~z*LO(ug{IO4d0d$A+$Ivo~_=c>+jvTESuMO zzq#->a95=yEZWY8fc0#5vjBrs4V84r4@K>Y8nb;1+-#}2EirTslc)iB!{&`GtKaV6 z=u?Di-MyPJHFWGoVtdVUT4d@lQzv8ylO6KLQ!!u3U=e0XTk(f7-n=oo4<*ZiwS}!5 zG&BR-duEaJWeFhyFHvBsg^o_nYLcGgdK9|<%N-VDcJ44!9Uxf~de;>01rc8VKL!v_ zq63^B&?5Y%6h4-SVS&>d&MpcGwLJ>OYeYw&rCB)iFGon8U50#S!@#qH`CYveM*X+IWY!Ab(@iM}K zWU;|QO2N?Uw7i_pvEoYP9=z^~zJR9x;9QomcxFVxBL!wf(S zO)-tx!i14u^qlMefr*S9>2ojrQ(+eJyw8}B25}7ZJG)sv=fg2$xt9-&KM&HInYo)T z+Z>_V_R~3zja_H(p1Iv>t}YqD=o}cA)(-t`_f>ONOv@>wz~K77t|kH911+Ffx(u0I ziq>G0HxfVhaGdYPHvTVK%-(-+G76{|;irTBVjjw{XHVu!Zan`#Byu%UW%ggJMEyTl znZqA!{#E_E-1B*v0 zokLzV5Z2Qp?Z`w#<_ckn?dn9-=r=Bwrif%S8V)k7|0qg@(X8B8w+}asjNXUE5jM6d)_ZdPE?QBS{3``|EBnPbfxqYO9+YUsIA0_9-9`d-}dKqoKLpe3mq<1<={$`Dj01;=57Y?eR zoBg2^G$aRM*Q6nZY0#k4#P3+4gic?QmtA~@Sb;C40frQ_*cO-EV+Jl?3&|-mAx%g} zauK+01fNa^uMh;W7k6P#@DPJasRG9Ji1rX+bYJu+{L3waJuBqAjgw>le}9m z-h9d*VoN)r_U=0QcD5K-vt+bFLzsh=m~PmssW4XTv%7}_;DbmY$Db&`7H<3^a)JL9 z9h)F3Fm7Z5-4OdBqI}A1E)2n1DAY@op4%H05zP|js1HcpdM9%PREIyB z*^|Vl6%mahdJ<_q#7~49O1-Y>to^hfbHvpMUU51e`Eya{_*30|K*d%ZbOz&8SF}sb z#pV>nu=uiTuEf%$a(!@0^}&`6mp62F>#Ir@$>GglSM$b2@mJn4wYWj9R|P@}kfHy{ zOqN6aI2mP4@!-trsPCuP?4+ zL@`W@rgtXEGCP6R)Qy~6BE*$m{R~4ON1-kP5Del49pdSe@bt+kr_i#)oA|1DTS{08lUu8 z{~<%z%?=0vTQ|YT(G6OA!Sxh^Detr<U zwMi7H=SelmPG1|%wJEoV#Wp$_8ew9^Rr;atFS0ibR6>17oe{K(6)9FMZ&utD7~XIL zOpgD1di$TlRta#NsEzctdXWO!yo8BotwqnWsn{1$jTaXPt8GKs#i$NSeU@;rY+?Tc zjJ8#5%1g(#;Bu4BD75JyRBS46{&DWd%)Nprv4s6g>>pvt{ok_a&`};P{rcejxt>cn z$B^Tm&J+5{x@@C8iT(?UE6or7ebPkk0Jzo;{CKo-Fo1D$FT3)pby1lGY4c+KU8vS! z2&g5^Qr7bSS%$_IDreJ2$;wunTel35I2@yEC932EjaUhYmccsQrXEkfZ6G>)hJb8v3v zhMhvD{E1qXM#5pzEVWvn-V$L|MjqK&B41hkCx$@w@p}nZ*f9(1tlu+oFw3#1#t}y* zO8#lzk?pFGxNAY8g313jFYow7TfS83fx}~Q1l>ZM61jl`Pr=?eUnp&xg)8n^QE=4V zATQ?}3ws?~?zJe37#|f#Po9Y{d8@v=ms50#*7Ogh?vdkq>^!BfS9p%N<#77ppv{$Y8OrD@mvLj0-1kaQgHYv`LIj?_tx#6RLoG1$={_sE6XfZ zgIEyH+>)&Q3dgjyne%-T^zbMOW>Y*F&D-=(zPZA5M{>a3a#Vu4nDg`niG;fs-v0Oq z==q;rfIo~PsIy-06L`|savUZ)G{~S^kk6Q-wF4U#94!@~OLsLfCjPg;n+bwG37@wx zzs&?SAf?|J#M=bm&Ha@)X1v-LO4N-~M$b!+L`+&Uz|CbOAT`Y~@qtfJH2=rWPNRnE zsux)4;Z-?F5a$$dY%RhTHTlcra(^a^CJW9$VTxDo!IEof`(BLuqfsMBG@IV7<+{q& zAaMX4T)x&4fMSz_zijPr^6*D`m=b z4IF>~N(^;?7Uq1UN*Uz>^$<19!06U58%eo7mxQAq^c>vin1g>+vbxQ-U4E?wtsy~7 zb`@G+5pp8OIg;#l6=gGN+8uRc= zWs~+~ZImEx5*5E8%wxCvtu^~3)LtF2cc}dy1{GQGtw0pIWBwYHq&#InCeAvJrFd-i zd2?N3P0Btm&eOnO(*x&PgTQ2$p}NdGrT5iEZJApz+{aT;R_|4i<_ zi%?v@{0(wAd48m%jISvA;mDl`8CZ&=AMiXCG}5gidn>Y&Z83XuXxSGQm;YBQ8km)<%<)7|AOxDhZ zlr)8BZ)`l?73bw9DXHXODJyy&M~*Z`a4YDJf5l*Pmv`SX>EpVAbW_qrr{SXf3h!oa z2vl8ect%7U3C1MmNBElBJ&nY)OmA2`4~_*wAgMvGZ2lFeujYHgOQCgsbPzwXvQ9aK zGxl$`QR2la%2%JLvTsz-ga^4xlqgwSEf`iQhUC!(xShOFBpV^5jK6pSw2QP+KebZ% z#|?i$2b&ONu*+l*r`W$;$z!6riYG9yBlZ2Jhm?KZJ`CUpTjE-n_TXThL%5Ws|K|Pd zSwVk>o4fYWUVqa~;9Xoo5XfCt6>-mk`A$FdM9j6*Hn>ImeZ6w{_^a$6tgIkKZfW8s zs_Q1bi%mWvUQa@G2sxtIE_cPO#0&_z#{tXNF)d(Q#dT8tx#cRCo|+W=DGlJx zh72FEdN3#PUh@E;KTq`{GDMlf#Npln}ZX_lNf*`@;WBS-GXjKbZ~ z*%eZ;NyR7=q;Y*CsGg#P!3Y7xIx4&h6Lp?2w4sn*HNJ_D)Ql_LF*W!5{BT#}$ z*(5L`5!X#4(8A-fWb!K32TWsIHw2H6=C%c>B|bGob5&s$P7z2`!DuTbENdZIoFhJs z#{5R(HA#Z`PfOzhSKees3|F3gIV>_bPQVe%^Q^z+?7=8zniZ0*&vrrd_f8?0li&b1 zzMWfZX6U!Q@ZjS=vh`|( zjJ`)3r@$aI%?}+juuuo3v1x_m33K7Kc5HBfighq0RLK+OmmJQ+`bnhdYI*9Up(+%r zU{SN%go&w%V5SUL~br&s6X46PE1iLrih_FDx3nx$_N(G5eR*{B;srY-ptT zQI5n;kOUXhI*>bnlb}3pld_PF$R+$t~M_)$HP; zsino89ysWI9{gtoi0`{&A=#W$3b1nui?}Grq#wgFA%hZq4ODQ$@|wQwU4c)d77=8b{|CuKfiA zplP@jhHCJTV!QlbYyeXs&n?`q(~C%m2^ZXqo2f+h2S`#70XM|y*&sN?t!S}73?FmuAQ6Gl9RxG&x<~E<#h1*tS?wppFuDy zu?G^rt;jkS9~nU9?R_E8(J=8U3w)2L)J=v9cR06IIxXltj2pV2NTjR_v!DyuYq3qT zVjFRDm;II?At^SC;~7O$f)z0Y`AN=9xpQ%nir&B1JFBB%N#LQJ*?`C=o&FEEE8KwjRKyi5-h zS9^)-hzaTqno4~VY{W%&q6e?CF?)w28~f<8|K#Z96=3Nog_*nmO|_?{2)J z7z=3zL}-SV!G3;k4e^FE>0Qh*a6OSR%7KCem-~Ua>o=wIq;R!Yel4epf`U9k=whhG zba4FkBt<1d<-~x^I(ok4!D0Kq9D!gtRgr(?n((ezB)l+Pr%zzxN_`R(dAoXJG~R#`rX zW#~_jgbB)CjD#TTb=s;&6$H$y#UOFbJ5YwJ!X){b@y&-$+F^G~KlJUpY6(t^n&Ua! z+-hg01N4#X12nwpPV4CS2gatHUAZ$ipG}AN0-y2ivoZJ8(ThkzA4Y=j1$b9SO_$6q zGHs>Ee_VVQ137nKHmDj_BA(~P27N8u^r4VJE+6sm$!|8WkkIJOhZQmGtHjgskr!H6;?b@FWYa>1#yag#d~SXS*c z9l@{@rwMyEvSQ9Cwy|fgL+bPS_5VF?F47z9(ZbFLe4FyXYdM$O8QRaIS8|<;zt@?$ zaMi+Qdh}C$R}CZW4Yp-C)<^|#6(B!7!TWgV#goAxjgo+fSA-HhK=J%*}&t2m@O8R?^X@K_RD1vXP(LfkgCH~9owW2e6O zfF@ilN2f7W7a&pGoLpMy*#aYQo=Fq>XR~+Gz_PLdF5fw1Au>s`%)!oHH{WU)=wNTY zEhgX3)N}QIva=g_AQ)BrXE@1dJ?BHr=GVo1sU^3{L>00-$<0hm;k0%X1`;!hdX(3^ z-=nn2<*g`78==2#pOGqTBD)(8R*9b+IK!QChl5sonl@zm<-&y#P7@)s<;V&i=D~O~ z#}>g7y~402c;Cx%BePuI^U8uVaSH@FWMU*D0=K5nmjWPEi-;W-Y`&cy+nfXC^{?;> zMlI7PkPnzpW$mS};Z~YjFf4OfSg-i8*j8Oq1SHVyMuiniz{GHp#>Y^aDgc3&p^k`e=DgAqiM3xFdPAw&dZ5q2UB_(*V6H3qAp`FtX{9Q>|KJP3GK51#52ww` z3n}pceWY`bE9T`pT&9d)-~E_Xynb+zS{T5_d0W-e($+FAlbYtt0S2SgE=xhSJ6k#EJK;H_*{%AHx&ouRDXmdcgu1E96*lRZHrARm zT4*hHH)VV0=-X2Csh_$dvd+87lQ2A&cbeV0FZR(9_UQn&R=byo!5zusyEehgb`GPt zpg){Nw7WpG^}R(?>X1+0WBp7EFs=VJ7zy>^p#P82w}l1i{IAh_{9mI#|79bM8P{jC z?_Y?SbebF5T}O5=x0xj)%p<3X_CGd%wvA-3sxNOJ#~Q*ru}y?s+ZZYY2n{g#vGcv` z^D2+wZ?#g_l{HSxITkrw0aQDJ%VYv_Mp);KJ0>1`CSF`vQQGLYF>lXNHW}y1W0(me zEPrg@j(5vH|BvN!L5Go;>3u~^n%@DCh%X<27MIXuFI%uE(prGa-^$x_t+{)cnOFlg zbI@Io4#CQ*OVQNkDpoK>PKf~ja6lwTs1l8P{gCU*@gE4(+ztgKflZ^}+v!FNEv^`+wP5X_d&jxT=v`H; z@`eF?1`##2$tE==V&{=z%u_1+Re^4G@NNyZ}_#eXu3$Y9k`sMYXj5{VB6N2Mv31Gx< z1PG?at^X#zsHIu>`ESFk@7Szp5D4-i zqOOloSepe&im1G-?P*Cu$h52Z5y(&)zujl#)FbeT%xKi^bPIH2gST{Zyz9qn7Pm7_vdDge-q@?`{-r1hbN zvfEPs9JO)imhe}ztyPi~!aN9^#uI|#dF?ya5%2WG2uNw<1Jj%lVjYQB>|qU@t+)Go z^Bs)`duUrM7LhkO#^Zf={krN#s`?En&Jv>JDI$8*Kt;XMm{OWQtwGXZ1ec%$`Bs&E z6VZX(Lv(FU-K5Wu42ucVDc5Ifkp+(yy6XNfwPMf)^sO4j@Wwip9;JgCsfqYbFrHZi zHI-u}zGSHif-f%AYAI5J8E2MS@SO*Ipt#F&25X$fd5Gem=T0PvHa%i~*ftJmFj8jR z-u^U>IP52li+A_b7Ip+^sg0Zmh#WUYNQ3#$b-LrmQUm#1q ztTH6pr#$*Q0hDkv6Ou(;)FeP+OpRLEwOh&b8dXaE13_;+ip+%3=W{%?pX)(o5wkZp z?tA{uT?*3~C1ax?p3qn#=;K0Y632(aT@ix3$Gzh}ygz0??pq8tXO>4?N!SNq?;xyx zi6(lcicp}-U|4v8AEVtlWc=aS*6@K)KVtA1BVd~`E!|En%EX_w7{)NA7+->Xym(b1 zLQdFy-7HViBw97nqXAz?&kQA0ZCD)2hQE(LcpN2cs~j1*1bppvLy_2njlHK5@7BTM z`|W^{fEnv~+%zD;~aY0SuJ(7iw7l-jN-4f^4%!(Q8dDTZgNLM70!@(0sqhJp4z zXyuZG{?U9m@;;gLP$$3c=KlR{_#dX%R{k3NsNFlKEvtLdWzh*sH)8gB*g#z|U^v{k ztl^;3y~rdE6s7(dI|G7VkGnWfTc`66_H7gm6M+pcvD5nL2`8#5H97ZAr1xk?F+fe9^Cr)`%!pZA{R_ zu}MoV?sNoiMowr)TbvA+G-OhPh8u5e65r%Icd1@#t4Z7|qviffSU%Ptz{`BUW)JO_ zbgU=#VqYZeMl0FKU+9SX5bjf;AsK228m!5BZG)9TFIP-KfRZ)hvOKSsG*dp@df{0ojNaT}<*pWl)RlI-nWuxyT4okBFMSszI7viF8!a*KY4z zLy}o3_qqBi@~V+qnerj%XzUg;C-rAk6Uk?Q>qN*M3D%$c6yPfdb+Gej%MNstO=?!V z_eaPf62Mbwj|`wrbdsh!uQwLIiuya$pCdyy`ldG_dI>`bz7q^OO>d-*M$z(pE#3RtBK6BgNWq-#LJ&r<1?0v?LP{Xy7l zQ!nEe3&uLOM7$E$W8dG@>l z4J5*a;c+e$Sw*39Tl8_%lu-yaa_?<%H*5yVyll`gGvN1lv)gy&95RKMy)rlJEN`=E zH%vJ=i4@B9pM!=+vHI>%GRYIcvK!F63$FQuAV#%=ko9YY$}{YNeJ1Loz>1%=)07aV{I$Ttici>@;i9++vL;iwuUuk+Up$FVIB%LyU$69V1`^Gi$FWw^e&{<>AX!VzYu3I9?u z+-Hs2_upq0KhUlk8U4dMBNX^R!=Cf68w^gZbHZ&||4IT?H)=@IjuZ`d$KUdg*mC*GPv zxja69b_hIzv)7_}aED;&t`RfCzGur=g_i$Sh^~MeN=hKF>y!eYR6{Tb#DrR_Q!)!c z&$1f6y?3@dH}OS;#RNs;O5UIJC7&IaCh9kZC$jU%3xKoR^1C?tHPYL-HTZkmk;|^p ziAk{)e?0Y&59Z2PnuTT~el+9zN$h!Z*CDc&%Egf?-Z7lRw~V@qwD7F7Zx6)DXCA{B zFC8J9Q`<6?F@9Za3EE~4?*FLqzGVt&xtkT?M8{7!Y6&Qlk#fF z_0)E3BhyxAj_pxh0Su7CN)=Gy2&21@PB*@-`P2x%J~T$CCGr zFg;7;1F_dBrK6=JPg-3S8Cg7spObgbN^FDaZ-YYmfaLvXWP#T?9;VdOTx-Y;JnQ)q z(FpyGIO9sLnY@r1SSbiA>^-cKrnLxbyChh^98|2XN<+-TJ?20H z@GSw3!impHGND|5Ru5Mgbh#uIaECXq=9DEhiB77>9jJ z2p@*#bJ$DDDhx=s#SKY|iXEav)vCS^B1KX`NCJwdSe&4i%m_S)J>RNcG%(UM8j z)*2%+-Nt5dWTXB+h08U-5GNFWi5L6ZAlRK9m?v1|*_}x7RpTA|-HV^OFn5q1aezks zvq7!|!NlIjmsrlujb2TRq`et!^yM4~)k7PZ5&7;3DWUIk_RW%613wa<6CejuFRv%J z@2u?X7Yf*A8Ryx100vt7jTI&bv+eV;8uIK!G$21q zj5meMV!8ty=T&6PM4cZHM4p4N2>K}R(b0cMYveapO8am;w3Up~iVEuYQjfO*jhSBF z4_h~$0ak=eg4G#@AWrwImFj2OCyCQ0_+neB{84pv+q{+KtM~g41n_BHW)DYhmmHEQ zm|kmLc>_j<%$G-7GNaN=WQ#BDY#s1X*ReA+^}XM2|AGq`tvW&Oom_D{>P$VQs^8J&Cxbi{e5OcS6fnN# zx9>j<$z<=!6wP1anY_RCt&sN(UH|4yJxAR6Ah$M=NJQA<@o&4uLGF6cy85MVhj;=j zqWO$^${XG>MkhV)K-j%>*ouP|+;1Xq_#zFGdJA*NpGe<21HXiSxLegio7F-a|DV@p zwF0A-+{^pSM;a3}{G;jU=ixCEezNRMXWP`)T*=z)yp~Nk8$IIBVdgNHb6D6HUuB)R znddNjNnuTRow&jC(UB|PzM#LDLUCi^y*@ZiOGI<;`L?i$hZ^@G4*p~Xhf{R=7(rt{ z-vnEg;Z{n8DYf$GMi=J~rsNr?iT!P#Jvz>0MlvB5Bo8|3?mT8|M>-v3`6+Cb2L4On9^O5INUbU3k`8 zyu_OmY8kpGEImBtw*qBQdQ^}N-7_9nfM=QN;r@i*H1Jne->WTp0eZd|dG+?H9x4;`ylCjTL9+2&+ z^x&bmy-nIXfas>U>v2%w@0vP|LM4LrlBLfw8KpA zu1BAr#ix~AY@jtZxl3H*asF~basyiRW%T3~T@2_LF#Nkw-FIu!)af#sq?-&qKuYc| zpZ|u_7ssDOG&etYc#80NiYiAeYJuM6t3p=y=;Y4K+(I`)?x#|APJOXK#J>?mpZu~Y zSw%0+{`^j66MbFJ^0iw@^!_cMBtCzRYWJJrFzZE?D!}&$`ib*zZ2flA#O=n!%X$CY zXTL%~=Y5l%li1@IX*F>}SMTf0@87Ky<^L8Bz^adwi2fWrqIu0j_ZK34GCYCl>bh=j zcdT1Y7Px3`vvn*vv@SUezcKzlJbiam6VLayiWKQcClo1y6hkL8gEWyYBE5Hz-XjE% z-kXscihvXW>AebpAiXIyKnMuZgCKZc|?9SeKp8MR{oqI(T>h_&= z(A~;c3^Z2QlL4JCyR=2gj$@RoX!azkV#3^|o~}z$wVEV9BW~4M6VE@-+UaZz2+QHE zm1!Tp!KR;Ywg6_k&o;vhG7{oy-*g2S2v~L=KQ}MMgafDs7!6uOP8LJk3J-=ofxyf` zaqo;+;sU9GDzP+7?w+M@vt!{2fI}C`G3nYPtTMBA>Ta$;ta$)rFw?4?La2!)%y(s4 z9%ub$-XM(8y%X54+9lJ<+OORK%K9O#7J12?SL1e(4kreS(7!i2V>z?Cg8jRm>>k1A z)2$RaA(2B-C6}GC%ZD2#Ri1VW?FV3Z)+Xd&md!J?@bpxG++93*+$w9lFk{P8*Ij&} zh1qSHyrrG^!A!{bkC5<#TQCarX9*-*>UkeaAF}-E$YFL>UP9CDG6uF{1j1WL2_|-S z_2_J#K#>_78|(QpDVbALDvz}%TvQ6ax8PQ6XJ?E5JC1#6sROu8GNyHMA7iq7y0AZF zCvH;f*f9PR+NLiF8VS7|S#8BW6B4t)Vqng+;1!rLRl7Fs^y$csa8t4z`h6gW=GxRu z`RIx_Zu}Of<_&i`OA~6(?%`c%<0vrRydoUSYG(@VEUE5`*SazxCy(>vW4)L$ zzu7ul@1A6|>7C7l%6J9T{f@T><$I>kdASL)55~oN(C7A z;)mL~f~)fx(wBTi6`Q)90EyosvE}u z2NdQu=~2XhuL6xMJKdIsYP#DF636!8l&Vr1CajlxWg*o+a;zjb*Fl~=xuazvmj^z$ zA1{}hJbSKgUp9B4=GqV3Bb{(q2W2N34&6m;k=t*6cRZv(V%98EwXb3dB|VowYwmz+ z_sCv%Y->kfBVY?@I;8XMF=-#NQX0CI}H)tEF`^kt0-K&*%t~uailC) zs3=8s2UsDq=CX`JR;17?gt|Q{zmhFS0o`T%@;7H4eY2ng@R9GT7oR83+HWDijhWPC zEAH~V*+gm_@9?3%f8nvZHZoENU>1Fs+VP)!({$6Wz9&V?L`(lZ^QX>l9iG&A#(28k z(nI|?pqD&4VFG3Urki;a!v?Pt9KY7jZ)q~DJl02b+SD!#!*>bZykbCs}}2H;bGWmDPj(HyP6(b zPsHFYzuB*OT1w(B_is1pDHO?w?aPHY`J~pEmT!Ozl$zrpt`ax@S`OnAwH+CM?|Ot59{hEp@JW?0xaP z9-N8es_huI#^a*3?V z8IW^KY8g8ix+3!R^2GG!!Zmg+&z$G!)tVcCL86fGtLL{^g&(OqKYHErfRK|uP!b22 z4Ef@1%;eho=xzo0PjW@dPOC1*IOb$@Jb^e&0!HgL0szsbEabEKH!dT<1Z}30#QFvtrz_8~*J~!FT zg3TokhO_3&IVmBN;4@1pXDIlL;uyiPw@|k-_W>t2wnO~y)x6r`w@9-1DJmNHWnMiZ3DV6G?vj_6oBe(~A6*P|y z*TjR$)JF=)N)uJqgI`!UY%;Q89l8i@mgw#FATn!QTb07P6Zc+t?1cueX=$usi#%~t zAhDl#yD`yQTjF+N1?Sdt`r_%-VHQ6R@o<0mK>^e#1`?A473RYyb+TLoq|lOA4K7Xu z9#>wy9UrZatr#GX*NaVoo{HPaEG7(ri%%34?ka!1y}H}lec{}(CST*IMrgRUyEyPq z8eMibe~T>>6KT}@4!0qUXZUvVC*b+Sf73JgyTSG47UvoOhf}RcP5r#FKY8G`;#qL3 z)ydMr&3%$ z@#ri~$1a@^^&Wrnd=s*kH|+*wbq(~i&U4%_Ik#Bs@pi}$Sp25x-z$K)c`IY?tiQTq zw5rpHdkNJTiAnss&;&X!`N{E06P%g(Upxp7Vg3z9bWGM2fQ(1Vx-S+wb?rIuURCOd zYf9Y&8F9obupz7n>^jD0o#sz}xiWCX>!RJj`eh2UnkIo({CM+>P^;pQH@(^0*tMb! z<|*54-Nwh6Cii335+Azbd95{-qCoFD0Dh>AbNK61QhhJBW-ISjd+pSYqboq>FklE; zaA?q)Smv<=Pj$puJ^i1zm${a6;LzcoaYA^O33o6hik?arC&C z)s<2}1BN{Tjx8;Uy_}5{95*lSbP7AK6dw1a_ky9=9jVmu*8spi!YaZJkyFpSi_-dj zIwX5js}rWK9VVOk;(RH@HdCh%kPp6bO>dWJ%7>pMx67<$-#!~TCE$^lxWKOa{)zHo zMga1cDUG(J{&h#q=T$F;)a|xV^>({qD_;A7t41aXkAM*E(8koR%a^&6;d9rH9O~!% zJK)D5I6R=T-$td3ztQ>!pB)mrvC#?4Zh5r4Uie5By@Q1hdYa4@{ILXVEElN%pYd)@GF{52GN7&+hMvi7MKbWjU#Ap@IZTWpM7@$7opQ`F;G zafH8(H)r)UX?juzfIjBiq{&SmCy$Ckz`ie{dB@lNY2PLhuo?dd$1)HeV03Su1$E!I zb-(bt#J~FICmcgf`?06Z<0Z_kc+zhO&)WS^;>7QM;)WzxvvvVzcJ$To)-D%-4nUH% z!YFxc&xPAs+G3|%Wxb-f)Q{BU_eprXitEn?%J_;m`a;l-(mj91Qb?AzaZ)#Z|-1hOGb-2+0-?oG!RFr?K}O3 zqw}kTw{TLIW8u@4p_LGgpz{YD;LLS>>FapFtQz>HJsUx2RrMUT7q`_L<(;d41`k19 zVBt6GfDhxHw6zw7ovsTR$)1hxL}sqDI4yn8>a$&pq-v5meyv!t|$&_lwFwyo{XfDc{jV3=hb6idHr2ZUmEg8^% zx7LN=P}k+a!}p|p`NP$C=8faAx(hgP+40jjW7c76@0B@zx&9JcPagIO;e^5R1>rCX zWx6A$4t^dBVzG&iCb{F27c;rN!%|_ezXU#3YWNE;8jQsQxvq6C&@X_`!yT=2@`5h8 ze?2%6an3M=G-CyLdgEBesp8y1pMQ=;eVksvCD_^Zr6eyg_Ym%>DM%??PP?*u_^zd` zE|+z8IwOh3U&7DEPm_0ACmUP>)tVU=7H~dx8>7j|!XT*f995EAsP$*QzCT5`r$*t0 za5m_rTw7T3u8k=EU=}}x*m7=n;=&3SuY)yf--*uzxh*Y6Z~e9Gyjb*lCe#9!nh*83 zg4xx2s^y0DZAXAOx~{C)z-Q^#j#g4gKe&?*vs5D0!HL7y`W^5W=h@U!>^F;t^ZjtR z^2hP!oaG*xdxL8rb;!!uWl`I8*5Gdcx%L%yIU|&+cYg`i9E@z3mq%^+n2*L5og)f+dzcN@k}5qn%kYLrsU192<#V_1 zGsAz0jFg2mvc?F9m2_I=gGGH2jqRL{9&tJF_I$kEE;Y@*4{ei*Av-Jq5&rJiO(k<& z4R&6Y{IOTBbiR>eF<7dlbBJ%k(#|)Rw%Gm7;jznZmBQ_@q?W!7j_29m+&Myn@z|$! z;r=HfP$9gHY}EpriwBN(?%-tqNGJ|HzHNU}-XY1c^skIXEdp8`Nh50Fh&&Q8rlqvM;G`tpB=ea2hyD6*y?4lOxiPVf5q}@15FFDBNzRv_CnG1 zr(Wl8nL#;jnY>whv%Rg`i+ok8pkB#D^P_PK@y$yogE3-RFtAZE?D7 z9=z@JD$lLrE4O{{ zpLNYqY`Yv4p2-+%c6_}%2pY79Tp6h1pZ;4XMoUleUyXwgwg4<#+1WLmz1!biS=YHwv% zTy^lF>1*20+6P^nhm!B-pgln>vfq_?5KY!J0 zR%#|6aAQpE*qbH?eQ@K$eD#~!!QL+X;9sQ|1b7k=yGfnfKWSw+uWI&~YSIo~Ytk*e z48UQZx}!l=CGG)YF#pmBD2S(5SZJ+tnUtn1j4n&>CZnq z;b_<_PaI`~y!&D&v+9|ru*4Enc=3vNu(S4@+4h{|oe89ACcaB%IF^c7`_J}Lb@6U5 z`N`7wOYbFj&A=shv+B@;sQO_;>FfJYb{y(cA^1YmRp!B-)bH_3w@|jJX%yMaG?aE0 zA$D^ngfGO?+RMI_I$qSBh!^@FR`lW(jQPO!3-?#FM;=Cc+tg{hWC*J9Vk75pV6mig-V@mU>v`hZeu~p# z+lqp6=#Blu-o^Zh(uR&OlEs_r-h#KUUn95ZW|oHb)SIlFr*ns@Vtng1qb+)*7z>&7 zLnzMIsUxmc19JmBO|^%j>0j+pn5_P$VBLH1QP@KJ6@Yhdazx%9YJQ8Jd!-&k$;B zFx`-Ihvvk!E}Eb9CJ*cyJBD72#7ss_;}Z!!5I0`0OEP;8X>ky(WMV3kFXZyGZdk}z z{l%8w@;rmYb!4WIc4JE!(qmUi$;)A@K{`C7qE zbEDLlQHw)Z@{^3&FvWGrz*dutYx!%&bzj&6KM%3+32nD^)aQHt-@n{u?-B)dj8{JI z-r9xDfRuOPoL@$Krl<-}^=`H()(pxa2foUir_+-ZmpfuJnXU8tx&>cHcNFxoxi_A? zfq(WhZ3L|s!|tM+;nWa(s`ChdJ4C=I{w&QBrS9gMT>CLLwow&y;j=Q5n$NsA+T+&D zueWx?^bejBckO?JQ-MRUyQvkI#%_i;eCO?8bAV z{_gpOv)QT8A^k5@*FYh>{O@d-sRAgRv+*)m|L=L(ZtpkWWe|2y&9kzk!zc`xc^EN| z7qstnTNi(Pu$p*#TZ@?}HTr=1KJ)MKyx#j0hg4Ha$F=uT-PA0EiW=ICWn~&qGJc3V z|L#qNvDXIQ$Qh->7PD1(F$Hzf5-iCtxbr`s0Ln?WNWX@=V82N~tXZz3QU@Xj8%fNk z_-6S`kD0QGsI-*HwIYdmLlYm?)46rn*|T)bd~bYT}Gr_Ci| zuFyvTPVSX6yy>ApbDlL0HLqVvW*bV&dgXUV8RSsbi(C|e?X>TNtF>yiW|--6LJ?V~9k~^w!c)WCDl%YTXa= zLL}OVRUBLbYN-EG(YE;}5`iod3ew$jHeZYYjidhXf7G1@iM1K;1BTi-+5d)Ts>%BK ze7DOJMSWL|X3;EBV2}K;-mT8F!gNSZ6_cN+6}9(5C+IWON#9^vG&3fpGh+6_UHegw z7#L!X++4|lii~RfG}q!}JCEj5@aK}wmM2T#s|uBFItlO|m`;hEmGPjt5BbHegO?&w zL0B=HAW!M|dESB8Z-gOs?q{Fx+Vu656DJA2Q@#wTcyY|>93$G33Rm$oh-;*P+GT6g zqI9mDBOJ==j2nQ9(U3aGL-`F*|GuX9D;Q*j3D|#9Mu;opMDF!-iYj{pl7bakYK7P% zc$1Fl{tW-|#Xj;Mc@sO|$#4rEGSMsUhn5MkMyd@CwIl@^I;qkN7=D3`%}Rx@{ZP>M zufb3^?Gif58dpgfqjI`AG*V99#QN=P^>DHNo*@8K@+DHOb0|xE7x@v=_Q}Tm1(#d# z-|D(QhSL(f&}AZ)1+9+)&@rl~Yi3BnhE8k_dX93sNXaixq|Do`4Ao}PXp_-E<_(mH zJSb4#AF|dHPTS*_&yE6kI{y8H(W-l89yM&5`%P|^iu3TE6QkUVZwb1OhNUtP#vv-} zq3m=^E+;=K_ivA&4>&c3=nuEUBT|dZy}yeCJSfUv&p!|6qiBCqWY2ZM^6XBH)+)<~ z))Ys#>USrC=96|RaEsbP;&|QY}xu$PbQq~o0JZR(getnER z;u$l@h!ISX6wVzX3s8f`SHdb2 zQI?-eQ))*35cjtjukUf_(uDZCM3h%?N@lceE7+ivwHN33s#6JjF~U4f=5(D(&FhpJ z14bVuQNO;op+$>&>BGs`w+$aS(2A_Hu<^S1cH$K$T$oDM0X3i6P=-LU0}SVPN`R3jM2!o`4r7|O zy7!GCi0OMYV;=wwpPlyxWZ5QkI;G?`qTRh9!Ex$pXjT2MZhr3E{XOU-vZh##QMK55kS8YaE;*>qyq5X!K{_z8`HcbOOM-Rv zKaD?kYm`)fP8%(RHy6~Sk3=9K`SP%-JfrRKkipZKtluASzlA)MhGho5c)`p;;>y!>4IL@kVvgDfj!O)*@AEPuGEedlgL#N!9RGCo zlb?j+EGFh!a(H81Te`Q)3f|`$N&FidQ5)Z#5J^kiqZI8tHxM~5NNOdQx?hE_jWa3S z)ujh{SAzZXf@Tz;D&$FLx%veE(ZHV<>%WrwM*)PjHRWQ&zEoQ+$&yW6SY9t1;q5uE zxs~X!=qWMMnJ97AYCDg6PAjmgpfTzJQ_c1H?TAb@C|Ln#Tt*I;p<~^U?!`bz6d7-5?axqebX zPKOhy5^?zjWA6Jv(|J&UC zyUgSz%&A)3JEjH#Cvk6w_ln;2nFBeuUkJ{eTE*YB4DAhTbgeeduDDT~jR^my6=D3xtkQLcE`AHLXXcU!445 zo>mV_o!#qbOayW_V~cg+{ff!b;{F7^Ma{H~+Pz~50bl>~#?$qeY`*mGqwRil+U3nZ z)iakKOQQT~z4eSC#pCU^yme>&`*Rj2j&EQX)$6hbF@qw;GB6jkz?u&=#uijW{R&-@Pr_UGq8exU&*L`a0f!S79sgjO=bSAI>8#Gfrn={Vg z)o`Eq<6F&rA+t~fEtXZLlQT#6NsNJq_-*UCyr%1T-S(AMqrGhryyP}f_PO-cX1_i% z{fa#PzcC$eEEd72qJK9SoWhtr%r;nC1-DPhONBQImQw4k6AXjXVkETBBkyRzhMrv?lHuo;srGZ^%+NzQhSt(<7XWP!#w19Ko)rwInOOp4tRmJLbh2mFI zUXHraEl5nYCP0XdWD?POUtAp|)IfH)d6|@e*{IMhVIr7Gsa!yM*HLj>rKlgZT!>*03QYB}??Xhz#<8c54Ejel-aeoK}prUpqHb{=U!slJGztS~9hC zNqu62n!eJ0`$`IVf6|!@$uB6XtOyLNi+C4x74wlfcdkLDwDl71y$da|798IixI2sd z|1Dn14^rM~P4SVRDUR~(y%p`^C4fn^k}aK3#UHLq-kAHL+x}V9TdLsbpZrsj&CEA_rS?q!>;#3 z;{wAIefIiv5rlooHl6+377-Tag(R5#;b5m7YnPhI1tx~MTm)&nZw_*X_p^yIBjrZ% zx-Bh4@se6Hxi6G4#gNJnyx29|@fo|aU#&^X2D@<`WFDycmi)s!oM>>G$Ur56-bJ?O zca-(dT1K+`=v4+C5N9!j7H6INyv=<~>_~DS8jy>&&iom@UhQpj%vmYhrs1nYTK52v zO&!QksINGnYLUOkLchL=)Zu(u`7s`si{i8-T)ltzc_KH52BmjF2pZ#l5D?|Wu8!>+ zx3j0U<5|mifpKMZmA@~^9>Jn(@En>fnLLymL(9Y!C{@zP94VRFzuBkF$T`qnJiM>w z<(aMW&@JMzvAhX%@Ql|scw=GW{8c(3gXU1@OA>sr6t#SJgJ@)8lHnzEuz4cUFh2`* zml9uy3XIVkvf#WAieXDMUw1$^RsiR66`_M!eTh7edODh@B;*sBW z8jpEnW*Oi+4I!d&Xv zJ-nfJ{IRFGbB)o`M*Q_-CB%u!7jdBQ5{DFgk=(_8Tfyd+t9O15>Z}!XIcg47gTfPS z=bxxSMA+kTG;bbSAt`n_Y?R!}*lZ2L;tXy$4gba(|K#|;1IsX#YlGkV(cr&Rv6!ia z-`dF}M!YWM02s-rpJA!^yCWesq48!803zC5S|C$KWj2}9t7X*s=hu2MyuyfTBQyUv zLgYIwXAZG*yC?jTqyGb^tfI83nDGVO2#+9aAF^nYMJLNE(DnfRh5Gr6=(4=xPl-0_Z{9F@N>hv@UNO&52#zthex zLfU(jG5~=2h6uPWw3y{k_mZtS-N7STC5TpHLPAMh%8s$)9O$Li`@3&{*nox5pEZMw zjbJfWWK8;_Os|THvmHgV=$WP65&rGGVgn1Nh4wewuk!)RwCiXvZNF~hm6l&j`(zZ^ zAM4J|825aoA$vA`<7X!4_A9XbXOT8%?tV3eUj0>H}ewFpXD@tCyik&whv-p zCZv0>7fM`zu~;a3mK?uC>B$RtY_l5J-(pBlIoTHoLaN9?jwYNYC^a1jRX86*C&qg4 zKrB+2f_Oo|Y|I!H-9|<`V0}StU~!YrQCR|Ux}+PNpqPvEO=MlsMIDA1HiA(Ppgj$f zC(5{KnX26`QzDFJR!XYi9S;DkmCH+!mV~OW;RS9&^Hv2W(&(s3_+&6(-YAXLeVCb&U^Ih$sChZt91$kF(Jh! z-O6qYYA9w;KxN}4@zE8B?V3V-EHz`sZn%U+9F?KZo0v}Pbs}b^z|MNa!}w#oB}l~c z^-nm+!bhXqm6#q8by_yK+S}yP^`!T6HzwL<$i}>QS#v<6mlSwS?ww@AG(`8lU5-t3 z5VFqdobc&O^scGFwxu97C&Pz}@L6w$yoMWF*FD3)in&8n-`Z&z(fCoH`IyX1UMl7T9wy`XWY8lAy?XA*1M^}^Fu5pZk` zJ$w79a3y`eCj+CUt2%$3=jwJHkCl)vnfz9iWuc}dKX6zTg-tKZ_U{Ayk@JCrx*)# z%3GjW!cXRnpUkvX;=G1VTGbPeR&#nO!#mM5L33S(Wai!nfJR*PLCT zxo+Z_K>XTn^)6aAdBlrxQyGoypt2#Ts`&hXmMOS2$2yRK3MiqsWTJ}K9n&nF3AIw5xG7fX7nU*;xIoDot7|q2g*By(@Od88`$W7L9aHt z_4VX=NwKu+>_STSqj#P!XG}8K$HrAtk`Kg)5*rzlOSG0833zyy*4hdfl;jt;fWIvy zz65ek`uiV>0-H`%j?qBc==Bki^CWZuP0a1XKF0@!@*uZa`#~7J?lj#ny++L|7P$PP zXo@J(`zrZ3o!#C=C}kbTlr}Ib8~>OI*-}v|Hm3YMWWdgt+zVBFCqIZ@fFbWGME>E? zCz0dTR~uxNTC8{O9rJ#~pDhq;4<$4?-X9!jWUM@3QUceRMkd?!?ISV3BybTd|(BxIVv)ogp|8SpVa;3AU{wN&c^yl64`HO49^gt&l z$wkp7?D$=D#R;J{&!IVgtx}gLJBnSDNh&6C80N3Vt2tWsCkvlKshBkz0OD>cnD52~QpnQSpK*MfEyHi4hb|+LV)~Kj{Rv9el%>xVZVgquf$MbnLeVKM_nfT8 z(XSVyQ(wX5gLpjzxbeY}ozIY=#pGKO;onDUh8egmK%LQ7R8X^R>zBWgdRzm~)a%#D z`Ae4Tk94i&|gOo0X<@=c11aY+O` z1^w2;BRs7yVyx8%j0#n{9Pk9Pmb^Di^F)P-0mx;~Y{< zqxiBqlt?jnS)QMx5o0_@WjRMxU(L}~&4JM-R?)ZkPW*OOAajWYk*^*F9DRl>QjCiw z;$&xuf;itfwQ!!*Mo&oeiGXII->I+DIB}fHSUI+rh(4AS>&^vUZ2zgDUZAT|UIr*Y z#4fnq+0`k`kN4c3-i{Ws{o0NM#iVPqPS-p#a>*0eNVm&#UT%N>^3YLmne3RHdq6x1 z?Zm`cU~^vqai`6;SB8iy)J!sF=}QnobFO$jf>J$|aHHVAP~-&ZW10A(i%Z+R!j4Ud ztvblAvkBSJ1axluu@$l9nBzlvl}tM+{!W;@u{{XEB`4VPA|ht~?T3hB)gj~@i}H8h zFB?xX0^UW4Asy>SI+)Jy(B9e>S5CNZRwt1;n78GVwfYv7@-YCa?dyhAoU)(swjD$$ zE8jPgc-Soga@)1v zbT-EG;u=%tpJ>BnN=_Une&goKf7`zJcK#|FVo8PhDiT~Jw3^*5lgO7?YrHggc}F3P z@4xi=lez3w)l&IIDZ!6^p?m}wC4BLM{||d?k3c@B8`Y_ZFfd-?TXmxZfapyBJYiknsgLIy})ZN4GBmjZdD_h zRS_vrMQar7fIrG#s>%uR^>0!ia9)~VgS4@vjnX{NF~w7Tm8qNqIV+@zW)9vpAH3n0 z$jyR%vHAyj%d)bwu_aQ&Uq9lR1+Nlk=|(>PCW_~kld^Mh!|u1tV41 zntVD&OZ86>^)iHuXM&<&KrD+0qy?IU6 zYyLRuP+P6nU@BR@4bQ~Ss7Y5sIRJIlIHjuVkoAuR1YIm0$6LD8Rz*el9hPmq83K!f z>UR4&R75lx=yZ8?9c6;-HZ0(aUZd`R8Y~hVq~9h#0BpbH_2Kc3rI~6%)`^bpCi8ya z+29$*#ku_XrObaweD9d^BkNd?56=dL)T2ZEs0#rrS=@5a0?`$(NmpS0x{kVo6GWOG zDcnz(|JT(9ZQ1aijk?+7RsYU0TYO+NU?XzJh!oTH^^Q02jLCJ~q8xxI{?QJE*;?=p zc4#H|=g{qm4eyEZTjpq-{)~p2?@R`6J{I2iY>ZU5{LeTS+Qv4;=9w5-*Y2I$^9f%* zYIiPW*W&hLb$j18LN4{qE5?L=+1OXGy4ax1B_hTEboP3!?Uk-0RS~pK?uFB(*AL!k zDHG$a2C?CZ0;L?fnvcZ@zN?w^ow&ypn~y8#G+zyCzIx!Qje6wjBJj>7f%NH^Wjz^3 zQKnI~h>{Kg5BSl@z_>JzyHQ(SiN8-~K^r3<>>TsR(o=eD2*;}PCmdkwqKeLFcF{)j zLRg#K;<2Rj{Jb#eW(*o=+?F3y2du_C`AuL~XAx63>J@Ia93QYs-Ro}5XV)vG_DefW z4kp(cC1yTBmhW4pm5E+~C(=@$QXh`32v#*vv3|#p zQ1Nm^K>d*8X-HNZ;W3OG(5Z9a`Hr>0hf@8QCCyuBauJ%`9~O_P9ZQ5hXgpx*kM}wt z7gvAw^0(=|hey>m_>{Wjr>Dv1+K$ghy zbewDSDBj=sE%uuQTB$JTcjVo=c)d>#Cb`YC%gOv>(9Hehykpi8YoKZmlB(zm z4^saRiO-;ESVerwp9G^CM|Lp(X@2n2{0{VPe})NBA{A%Pi`)rr?d|lk#Pl-#nk12| z9HIOtA>S_AGINqy3GA`?tW`UD$4 zzDY}pq>LeR!o3}>xqyIjBIK8F?>AC38OdzlR2|WIcV)|ifGiV(@Aqu2{Y77OFg>xb ze+zt}!N^_eTeD^R+%G*t#>oNLP)%p@D#4FObt#?e;HBuq$pKTh+di3tvehGq$UZq= zmP{MQcVr-i# z=dJAR@a@y8$M!R%gY*_B_VX8m9kMCb@Y+z766oWVt}GElL1&fU<29mzscvuFn#h%N zW$(A>H_nqJ56Gl*RM&I%DT@EA&=K6{M~d#RF|J*qJMk>0*}qk+W!MuYtfhH=jKqu{ zuuRfChZ;0*+>jb|-AfO8R0$&bRc%fP|`{pQZ(pQQ=3^-0|{tM;u-LSoi?(w3850}d_xIu8f_9#nN6aJ0|B71`pE{X4(pMY z(wSGLu9RXxOudFHqHnQF&C`GSCa;sD*E${lOq?ZF>LDMjyic~wx*AR;1l6Fxpw9m(XnpGfF8 zkm@69TaGQIn{D3QF->SjZ<;_7Dh8G*T((92Ma+CM%Znd3s z|1gm;_!Y$c9u`4H3Y2Znfwro0-WOo$^hvADFw3A?hvAZrGeG=?tI01nkr;6a zSX(2|(nLPW!O^RxOSc~LCB$A`89InI6%~JUEcU9a!6B1YV(jcKZSp)Ms>Zg&iXL$J zb|avFPd|N7Frn75ze+v*v5E!EWrhTtTVhjeI2bc2D-El(4UfV8!YWITqwl9f4EIGu zxtKbW*Ol)_Zo%7`N{>{-yZAje%Dk=6nEpi>(^n2dQLB5<51{G#*}bkh)jAQZhG@Q1 zS``Q|_s!&#GUAiXJhuUU*s5XDq`(FXH{myzXK8h43}ZLvi_MJ_6o%ohR& z3nCcR%)R5lgjT~Eme%I{;xX+8+8=lNB__(eZCF4xZ@n^XMYO&0`=h0=UX#v`PGIms z$awC8pwYvh5Ctc}E*nyzfT*enz?a;Ge~Y+RQVCQHx`t&5UXmsPht>BXsu3f>tbiVJ ztUzebqdVS@In4J-i85&8MqnAdnQs8SD=Ej{Z1dNtrN}l$ct<&OhO^*e1xdnTm0fph zk1GYf^s=h$^YKF4DGOUYt_$jwS>=hX4pp&#QhAHzdqNYf$sE1IiRUHA{k1-VO>4bH z(2-N0M@ad*JXz4Z=(he}^3MaiS_oe5qqlm7{6!>uY#BAeDOTF!#@`Z?{fpDjRjTmJ?n!~Z#$m5?5F>zlAJg@VlrOv5~4EICax~S6M zHp{}K|By@YC#9KxK`2`Lt{XikIL}m_v>(YxSl+-)kf)pDp9j3QcEWowp~1Yq2v>koyX3b`fqqc zLD=?;g8S~bMn1oK4ON_<`#?@;&>6EOC2CM7AD9AvxO%@wzzo8(OQ=>1tU29<9vE)B zwsvG2pY?mJTs%98n^zhHo|oE|{|hK+p>Z?9b@}F^C%hh=FHl<=GU|Vw=rom`Y{DB! z!0T&gQqjU)dO4nNrQGJK&x{D-P4pQX%YZ31Tpl3SrH@!3*7~;o0qQ;wlF1>#YS7X4 zvoew2m{DJ3AioMO6oz|=&?6ay9nTORCKj-=3kBXC=V&I2c9XX->m_oiFp5CCg zVfAF7?80WF%%7Dc*B?M@|uZnQCe*XB&wC@F3iUMewiM)-Gk;@ zNW6GhSDWb%B_)fdwEIJoWTqOhky~@N1=ISJDBjxW$1o>?U#tI`;rx~RkDOZQ_Jjbh zd;YoVdjVf8`{`{V(8~$RDs676<0Up46y(idHOWZS^S(Xx^LacqiqMT@lDp%+QN(aK3}tZSlH@Ab z0nHspwH-fuh|IdrWL0lN5b_WWv{r_=h)waiqc!g-LS-Ju)v~+Az)i<~Yd<34`!M#z zZbFa9+e*6fHZa--3kF?(B5NZ?AcZBrC*w zVBVYHV^kWvLK?BBJo$(pN6iG#Fk$llJRxY zx{>I163CD1IF#Z0!TcDE-kqqFtD4{wqqZ99e6?!wZYU#V+6HK9yN(?Zr8}n>M3~6S zB{+S;p}whMGy{7-;eUTcC>c1160T@##Dpq#E5aHO;kAqf(p|-jHkm1Xb>2C{7#9-Z zahqE!nt;qRO=hV57(zG zYg4W-7pWKO8O4PSGAo1{ z`D|G2L%M-_Jr}l;Y2u+{MXTc4u|=}`(*LXvgCAuCn7^^@(WW0~G>?BLVXyuA4qxZQ z!4{8#w;M4n=>fzxLsf7e^15ERqGah)S%qf;2l+ISTnc?0T}sxQ@QXQ(AAB8NH4y;| zHtU~}L`#nURH*vz@d}v(D=QS~CD9B8kOP1}l?~TXG3m(?<=Y6h+K@=AF~r0D7upa> zGk*-qRd(Jzq|Z^3aZ7~JqTRjvjsChrTqeNa`V)PTK5SL=hi(jZ!S1zy0<9Q zb7uF)KC@eU-6dD=!ldF-kGx1I&+q~7v^;!z(F-eZ?RCJ;<_kAl1fDsc%4s1bS4KOD zF?xhL7e`II_S8r(F2@&cZUbMoJrh!XI3pT?b=x?R_X;+E5*+2t!Q9Q(GDE^GY>7{7To*eoGz zAVL_Zb*tH-iSZ21n(%SB!VK>0=tjoB zP-8w616C=Qi)e7A=mkh66&fIAO9~XSbO4A@$p<`OOO?oX9FZ7AR9O3C2q%F`YKQ@f zDIAyhA!q@3;ixlEHu&`gQ|8E&tq>i&;66UEl2gsa|GV#b2hu3&?8i*(d&zDjniz`| zqeKx0%6*WmU|Bef?#TGs#t}1|M)zd>FEgO#Q%r#mo4XeizcXV8tpuv$>vdmnra-Aw z$YjnPr^--@-g7^DZpvfBhAF{FO7_Z9ftYF}nXJ9)c-y%Cl8yN4n?a;bqf(vkIf0XT&-IBk53?74e}MH&JWt; z4#`AQKk;&q5{c)`zFweAz#2?MdmhDwkkJG zhDWX})0xPXRxoIVkAa{REC0==IkW|VYWWX(HCu#u)CvoYUuB}{m*Bq_breCwR(y4u zLNKSU;&%{GBmNf_mQadmC{4*17V*mJJBpaf#W|IfoXoRSp}Zzs;F9P24^r1SA^|T@ z0LOBXZdk3hO)#wW1a7u()_PL9F@8z9asRSt|7Nk&BB?2aQ0k1cF~pOSQ2@1*9ojcu zJJ4P~Im6YyVZZ#q?+)ajB-xcW(~Vc>%U1d3L$X;ST)vG@>Jx*oFXB4(=f7TRauf4I zdK7i!{V?F_@wsq5p(>*C{e?6@kvzE<5u+0JnLMr{1&{Q?bZ*_vbb6Cx(dFnHAxtFxSOt$Ov))jda1B?)Qc_wO>pEF(ng`46GEkE4(E?Gz{QHOT=HCxy`7!^to*5*AXRdJ;e4V~vm zzU_uu7}xbDhh26AZAN-RrnNafZOpX25W`zrsp_RNbK}>7t-Tq}g1#PLL8Ed3I~gd1?|q zCxut>ck7?GsxoQf`qW)rZw40^R%KZ0Evj#sm94E$qjrC}sc@~f$wME-s`cE*F%!39 z+oqoByuIBfx7jlG$l^fj-qB@%MjO9e&5bWP^xPbOZ0X}*Ln1!s*y54Qrm0aH;aAc7 z|9E&hdnb4CSB>u?#Gdf_BfUi{lU~~0>V)SIFE-S#{QurB(mrc&Hb*TDS&hc-OJ z{PJo8pPKU2;|v;}&PQs2QrdL&ADVAA*Z5@3cVTX}eFd33Tu{b)kN=_Z#pbdNZp_^O zPSh^-_dQqiQd=QytJsHJi}c%(^M;m$_n`AXC~{0bw=b7T+x?cMh&&8Mes#qv)<%CY z2lj6ATfnj6M8010hKVCq2U-X77>+$NmXou*=-r^e^Nue9l-r^58m!dF&%bRspo=uE zU0JFJA(T@>CP-zA`6h;f6tZQMLLlj(7u1FCgFOJUo7*T=Ap|maUpkjn+Z7;%ow-li zMO2R4$J`0bOOAL@Jai@CBX-a&1 zt?G^v`5gir_CitM0x*-;-@nYFWa1-KrM0LPzfuW95r8*%ae_WF5D|H4EFmlgW8`*g zivsLGpXZOpCPsHEqGJecif!szY!m20%}=yHeI!+yKTozSemjo{_+s~>NvuX)ZI@Dq zGk=r%CtQR$OCG+%|8UNhLYem)*5GOl&kgl2tot;y^pKPL7E$3vGql|RDbgq1EBmbu zCS~a-eeyi_efsd!(-GPU(LgNgrk#T=gAsK05^Xp~yfc-GT+Cj)Y%=f4uKG_J8lC-p z5o-MrFmKEIsbjuHQa55iu;9p=lRM?7nZ}zyr*Z*VoatgeZr(~!HNrq`#dU=E1yV3h zI$tnI;yJ(;yPe)&010sp@=ls3`QqG*m94drDRL)r!+q*P7UXwZ0qt*6(2rBF6Fa*q zPontwVHE}|Zr6Jr&r?5$zz2o*8Q)f_7EeA9xfFbBu*Dl@ZvVPegeV91!HV0yJSpU) zeG|k#Tz+yr9kR#U1LaH%hU^k>^mP1TjD+}{Qn~imvHJ1`a9;>uJ<>TI7~Hl=Mm{P? zkv5n=SGw@qZAauMT+&u+Be=n5(+|sRhIT;(&1|`JqtKnW-0^X=&GC0KG3!e~J<1H> zWPN-F5OM{P^hb`zVC+Y=d%KS+xm!OtZd*L~^WccAE%_%gp-VPWJRCu`)ufu)s13Pk zR@w;Rz4wJy%keiPNgC`t3_K(5GTPMqOdGkhYsCTZE4J!Ka{MO@l{y>VVG@egQQFjv zPYf;DHc*D$l!xHt)cH0XCErUrU6*y*Fx1>MUK?)!`-y+X;Zn^_EJjZVreCIyatn0` zR@Z>E=BdNx?SlLzFQ*2;y4`BII5vsCtE~i9wHSU=p!KV9ATSlHdL_*?&h3906F``_ z)(d`c@lWBml7zpI{p&GKxbD{!@8iS74kPZlsW_LV4;6&#J@E3u4wJ?{O~gq;_9)Y* zYdz;xJ{042LuDirSlxvoD*D({UomL}yAd;Ub`H4r^kq^P9oYx9@0iQ~fw^5RhPyvZ$2gp*L72c& zK#@V;rb)`u3Ul{6TSm0sO}e&vz%oQCSZgZ7-NgSMWZc7C`nlIbnCPg;tcdzXJUj~N zo%A)=2?C00b`(Bh0Ge<0H8#0n^FkZp@=yne$&jX#5g17Qd zumWG%h*OHKbqKw~td~vt=997TL>BMRPI?xtT^Rbk1#$slpDD{;9OLmlKAtMSJM9{@ zpG+wAg1VJZ$6k8M-`+AEHAz7VsddAux|x%_AGvx*d?Me3OMg1GL?%we`O9kUaq<7C zq5<7P!|3yhiA1CZ&zt!MgSkh08LPb~`hVc;xz5)&a~RKD$}iP)^>u3`rXw=M6~QAx zN8}L*2p7)Mnu?ng)`M1Lqw08-WcA*Bm;1;=TR$a&Ha;V5sIc(R2J1=oc!LJ%bg^{E z0HljX&mqg3fL|2_SA8J(S#E#RuW4y-(~oIccy&cCV2;3N6XM3(;nlE}X{hpynWei# zI|PkZ*JI_enob=KrFk(v*ebJag`z+@WO>DHgd$jF!|U;8p6JE}**uchu*k8D-7n0{Sd)uw1VFoY7pW*9i{j$B$giv{)$c~ zqfFHk1XA}#&+a4;aDtUFz~xtgfT?u4njKg6|vTM(W=H42;7_LBF@Il z;rUW_s2|MU1@`Q^F4{K%w5qvP2@e}BNEH{eT4|m7QA=7fwnn13!L%>4D7RN8b%(*> z>1>9fGMsc^@&z8KQV78)Z&?Q!c5;m(wS3t{>N+*LT_b1<{QAzA_)hG4_F+5?-;+Fl zJDvCTUe7yf>LH?2kQ?cfqi>{;3(puHi=i-%LPc?7Set_#{@!BL?~iKjp_A5!5P+cD z*`Ew36uGeTt~~f-h;^z30d?E$%>JHq7+;qj4XgHqmU2Pf>qdaZS4yLbmdxTTJIR}T zIX;ZbrcpaeIl8VW5M&@e_Bb0d1g%bw8U5R{qsw?{bC<;aOSo!mvvRDaFf716aBqk_2Fc_ z5#vO)thk;2)Rw)mmDYofXrBY0e_e>N=TWa%b5I*>2DkK;_9Ur<)qL&0*-yXE!3CG! zK(1DiJ~M7CMHDnBYxOzLFqcxkzK=1rywC7tCdM2bw)Lt8FTUJ(9;GMwfzo@na=P6j z$ch(rCgnWu(qPza>Vrcaryx75k1k*Y_cFYu!f~4JJ`hHG8+RA|K$-)#2HIIy%en-s zsP8-0IuTRZO<9PPqy0aifov*Y zuy;S&NirJma;_qE`!-?d^OGDvLfg|;{Au1{wuG zcZK{b(rA$29*$?#t3Arxs0r;Wb_7QI#eJvWdOt+E+kNdcbi%_r5|Q<{yWx6=;xp4}pUaQJ(gd%$nv!L8WgyMUw5jwT(9 ziSMTU`gcYY-5k-C%kI3B`nsplh4vBbmYLJakv|Okv^^R9Fl-!8Ea3GuFMpKkz9B3| z-6-mcYR;i!LQ__9>UQ?%9MHEF;;Jyh?+aYuchHR%tz+n57$(PZ+o^6g<1W&AGUL8_ zOV2)fQ&zdY&`ik{-U!{c+n61ke zrbThDq?+`W)OE|2>O%O9x}BC^8Lxs3o-^L3LuJi~&)9%wXyUlehXpI)Ha~9teB}i| zzzgfl#=f0ynNsmU(B@--y#-07l;qyS?S+n(SRkW3$^weKGpgqBY55^@)on4F{-ndM zYxJtVzG3tXq|c4Cz^~tv)NLRw1d<1v?l&$6p0CX*s$#>`kXpoLuMaDxI=wL& 0, "emitted climb rank") + climbs.append({"index": i, "old": old, "new": new, "rank": event[5]}) + climb_clocks.append([phase, clock, old, new, event[5]]) + elif event[0] == "scalar": + row, regs = scalar_original(event[1], kept, backward) + require(["Z", r] not in event[1][1:3], "no private register use") + if helper in regs: + scalars.append([phase, clock, row, canonical["frames"][event[2]]]) + scalar_indices.append(i) + clock += 1 + elif event[0] == "warp": + require(event[1] not in (["L", r], ["Z", r]), "no unaccounted direct warp") + expected_scalars, expected_climbs = source_events(word, helper) + require(scalars == expected_scalars and climb_clocks == expected_climbs, + "source-to-emission direct scalar/climb clocks") + require([x[1:] for x in wrappers] == [["pre", "entry_adapters"], ["post", "full_frame_cleanup"]], + "two residual wrappers") + require([x[1:] for x in adapters] == [["new_to_old", 1, "exit_adapters"]], + "one ordinary FULL exit adapter and no entry adapter") + cleanup = [i for i, s in zip(scalar_indices, scalars) if s[0] == "full_frame_cleanup"] + require(cleanup and wrappers[0][0] < climbs[0]["index"] and + climbs[-1]["index"] < adapters[0][0] < min(cleanup) and + max(scalar_indices) < wrappers[1][0], "wrapper, climbs, exit, cleanup order") + current = entrance + for climb in climbs: + require(climb["old"] == current, "complete direct climb chain") + current = climb["new"] + require(current == FULL and sum(c["rank"] for c in climbs) == len(FULL) - len(entrance), + "complete entrance-relative path") + return {"compact_helper": r, "recipe_key": str(e), "entrance": entrance, + "terminal": FULL, "wrappers": [x[:2] for x in wrappers], + "exit_adapter": adapters[0][:3], "climbs": climbs, + "direct_scalar_count": len(scalars), + "cleanup_scalar_count": len(cleanup), + "direct_scalar_sha256": digest(encoded(scalars))} + + +def pair_inventory(canonical, word): + """Original helper id -> literal entrance/terminal vectors for every compact helper.""" + kept = [r for r in range(704) if r not in word["removed"]] + frames = canonical["frames"] + return {kept[r]: (frames[canonical["start"][r]], frames[canonical["final"][r]]) + for r in range(224, 632)} + + +def provider(blobs, tag, work, compiler, kernel, climb_recipes): + raw = blobs[staged_name(tag)] + word = decode(raw, True) + canonical, programs, checks_sha = generate(blobs, raw, work / "staged") + adapters = adapter_file(compiler, canonical) + bindings, residuals = {}, {} + for h in HELPERS: + bindings[str(h)] = {orientation: emitted_binding(word, canonical, stream, h, + orientation == "backward") + for orientation, stream in programs.items()} + forward, backward = bindings[str(h)]["forward"], bindings[str(h)]["backward"] + require(forward["entrance"] == ENTRANCE and + [c["rank"] for c in forward["climbs"]] == [c["rank"] for c in backward["climbs"]], + "staged entrance in both orientations") + key = forward["recipe_key"] + row = adapters["recipes"][key] + require(row["vectors"] == ENTRANCE and "terminal" not in row, "serialized FULL recipe row") + if key not in residuals: + residuals[key] = check_recipe(kernel, row, ENTRANCE, FULL) + for climb in forward["climbs"]: + identity = encoded([climb["old"], climb["new"]]).decode().strip() + if identity not in climb_recipes: + op = compiler.canonical_frame(9, tuple(climb["old"])).adjoint().then( + compiler.canonical_frame(9, tuple(climb["new"]))) + candidate, _ = compiler.lower_child(op) + climb_recipes[identity] = check_recipe(kernel, decode(encoded(candidate)), + climb["old"], climb["new"])["rank"] + require(len(residuals) == 1, "one shared entering residual class") + + # Single-change control: the parent PR3133 word through the same producer. + raw_parent = blobs[parent_name(tag)] + parent = decode(raw_parent, True) + canonical_parent, programs_parent, parent_checks_sha = generate(blobs, raw_parent, work / "parent") + parent_bindings = {} + for h in HELPERS: + rows = {orientation: emitted_binding(parent, canonical_parent, stream, h, + orientation == "backward") + for orientation, stream in programs_parent.items()} + require(rows["forward"]["entrance"] == PARENT_ENTRANCE, "parent entrance span(30)") + parent_bindings[str(h)] = {"entrance": PARENT_ENTRANCE, + "climb_ranks": [c["rank"] for c in rows["forward"]["climbs"]], + "direct_scalar_count": rows["forward"]["direct_scalar_count"]} + op = compiler.canonical_frame(9, tuple(PARENT_ENTRANCE)).adjoint().then( + compiler.canonical_frame(9, tuple(FULL))) + parent_recipe, _ = compiler.lower_child(op) + parent_recipe = decode(encoded(parent_recipe)) + parent_check = check_recipe(kernel, parent_recipe, PARENT_ENTRANCE, FULL) + old, new = pair_inventory(canonical_parent, parent), pair_inventory(canonical, word) + require(set(old) == set(new), "same helper names") + changed = sorted(h for h in old if old[h] != new[h]) + require(changed == list(HELPERS) and + all(old[h] == (PARENT_ENTRANCE, FULL) and new[h] == (ENTRANCE, FULL) for h in changed), + "only the two staged entrances change") + classes_old, classes_new = set(map(str, old.values())), set(map(str, new.values())) + require(classes_new - classes_old == {str((ENTRANCE, FULL))}, "one new residual class") + + key = bindings["644"]["forward"]["recipe_key"] + rec = adapters["recipes"][key] + controls = {} + controls["omitted_entrance"] = reject(lambda: check_recipe(kernel, rec, [], FULL), "entrance") + controls["contained_line"] = reject(lambda: check_recipe(kernel, rec, CONTAINED_LINE, FULL), + "contained line") + controls["old_entrance"] = reject(lambda: check_recipe(kernel, rec, PARENT_ENTRANCE, FULL), + "parent entrance") + bad = copy.deepcopy(rec); bad["left"]["phase"] = (bad["left"]["phase"] + 1) % 4 + controls["phase"] = reject(lambda: check_recipe(kernel, bad, ENTRANCE, FULL), "phase") + require(parent_recipe["right"] != rec["right"], "distinct parent right wrapper") + bad = copy.deepcopy(rec); bad["right"] = parent_recipe["right"] + controls["parent_wrapper_alias"] = reject(lambda: check_recipe(kernel, bad, ENTRANCE, FULL), + "parent alias") + # Same dimension, different plane: the check is operator-level, not metadata. + controls["wrong_entrance_plane"] = reject( + lambda: check_recipe(kernel, rec, WRONG_ENTRANCE, FULL), "wrong plane") + controls["parent_recipe_at_new_entrance"] = reject( + lambda: check_recipe(kernel, parent_recipe, ENTRANCE, FULL), "parent recipe") + return {"word_sha256": digest(raw), "parent_word_sha256": digest(raw_parent), + "local_checks_sha256": checks_sha, "parent_local_checks_sha256": parent_checks_sha, + "adapter_sha256": digest(encoded(adapters)), "bindings": bindings, + "residuals": residuals, "parent_bindings": parent_bindings, + "parent_residual": parent_check, "changed_helpers": changed, + "residual_classes": {"parent": len(classes_old), "staged": len(classes_new)}, + "controls": controls} + + +def audit(blobs, work): + compiler = module(blobs[COMPILER], "staged_pair_source_compiler") + kernel = module(blobs[KERNEL], "staged_pair_independent_kernel") + climb_recipes = {} + providers = {} + for tag in ("base", "extra"): + (work / tag).mkdir() + providers[tag] = provider(blobs, tag, work / tag, compiler, kernel, climb_recipes) + return {"providers": providers, "climb_recipes": climb_recipes} diff --git a/research/staged-644-660-native-binding-audit/test_verify.py b/research/staged-644-660-native-binding-audit/test_verify.py new file mode 100644 index 0000000000..5d86aff36b --- /dev/null +++ b/research/staged-644-660-native-binding-audit/test_verify.py @@ -0,0 +1,132 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Semantic failures at the emitted 644/660 wrapper, climb, exit and recipe boundaries. + +Adapted from research/rank7-group-d-native-widths-audit/test_verify.py (Wentao Li). +""" + +import copy +import shutil +import sys +import tempfile +import unittest +from pathlib import Path + +HERE = Path(__file__).resolve().parent +if str(HERE) not in sys.path: + sys.path.insert(0, str(HERE)) + +import native +from common import (ENTRANCE, FULL, KERNEL, PACKAGE, PARENT_ENTRANCE, ROOT, authenticate, + decode, module, staged_name) + + +class BoundaryTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.blobs = authenticate() + cls.result = decode((PACKAGE / "RESULT.json").read_bytes()) + cls.row = cls.result["native"]["providers"]["base"] + cls.kernel = module(cls.blobs[KERNEL], "staged_pair_test_kernel") + cls.tmp = tempfile.TemporaryDirectory(prefix="staged-pair-tests-") + raw = cls.blobs[staged_name("base")] + cls.word = decode(raw, True) + cls.canonical, cls.programs, cls.checks = native.generate( + cls.blobs, raw, Path(cls.tmp.name) / "staged") + cls.r = cls.row["bindings"]["644"]["forward"]["compact_helper"] + cls.recipe = cls.row["residuals"]["137"]["recipe"] + cls.parent_recipe = cls.row["parent_residual"]["recipe"] + + @classmethod + def tearDownClass(cls): + cls.tmp.cleanup() + + def stream(self): + return copy.deepcopy(self.programs["forward"]) + + def bind(self, stream, word=None, helper=644, backward=False): + return native.emitted_binding(word or self.word, self.canonical, stream, helper, backward) + + def assertRejects(self, action): + with self.assertRaises((ValueError, AssertionError)): + action() + + def index(self, stream, kind, *head): + return next(i for i, e in enumerate(stream) + if e[0] == kind and e[1:1 + len(head)] == list(head)) + + def test_positive_and_receipt(self): + self.assertEqual(self.checks, self.row["local_checks_sha256"]) + for orientation in ("forward", "backward"): + for h in (644, 660): + binding = self.bind(self.programs[orientation], helper=h, + backward=orientation == "backward") + self.assertEqual(binding, self.row["bindings"][str(h)][orientation]) + self.assertEqual(native.check_recipe(self.kernel, self.recipe, ENTRANCE, FULL)["rank"], 7) + self.assertEqual(native.check_recipe(self.kernel, self.parent_recipe, + PARENT_ENTRANCE, FULL)["rank"], 8) + + def test_wrapper_corruptions(self): + s = self.stream(); del s[self.index(s, "residual_adapter", "post", self.r)] + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); i = self.index(s, "residual_adapter", "pre", self.r) + s[i] = s[i][:3] + [self.canonical["start"][self.r] - 1] + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); i = self.index(s, "residual_adapter", "pre", self.r) + s[i] = s[i] + [1] # A restored-helper terminal field on a FULL helper. + self.assertRejects(lambda: self.bind(s)) + + def test_climb_and_exit_corruptions(self): + s = self.stream(); del s[self.index(s, "climb", "B", self.r)] + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); i = self.index(s, "climb", "B", self.r); s[i][5] += 1 + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); i = self.index(s, "adapter", "new_to_old", self.r) + s[i] = ["adapter", "old_to_new", self.r, s[i][3]] + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); i = self.index(s, "adapter", "new_to_old", self.r) + event = s.pop(i) + s.insert(self.index(s, "zero_buffer", "free", self.canonical["zero_buffers"][-1]), event) + self.assertRejects(lambda: self.bind(s)) + s = self.stream(); s.insert(self.index(s, "phase", "full_frame_cleanup") + 1, + ["zero_buffer", "alloc", self.r]) + self.assertRejects(lambda: self.bind(s)) + + def test_scalar_and_orientation_corruptions(self): + s = self.stream() + i = next(i for i, e in enumerate(s) if e[0] == "scalar" and e[1][0] == "add" and + ["L", self.r] in e[1][1:3]) + s[i][1][3] = -s[i][1][3] + self.assertRejects(lambda: self.bind(s)) + self.assertRejects(lambda: self.bind(self.programs["forward"], backward=True)) + word = copy.deepcopy(self.word); word["start_extra"]["644"] = list(PARENT_ENTRANCE) + self.assertRejects(lambda: self.bind(self.programs["forward"], word=word)) + word = copy.deepcopy(self.word); word["helper_final"]["644"] = list(FULL) + self.assertRejects(lambda: self.bind(self.programs["forward"], word=word)) + + def test_recipe_corruptions(self): + check = lambda rec, e=ENTRANCE: native.check_recipe(self.kernel, rec, e, FULL) + bad = copy.deepcopy(self.recipe); bad["left"], bad["right"] = bad["right"], bad["left"] + self.assertRejects(lambda: check(bad)) + bad = copy.deepcopy(self.recipe); bad["right"] = None + self.assertRejects(lambda: check(bad)) + bad = copy.deepcopy(self.recipe); bad["left"]["offset"] ^= 1 + self.assertRejects(lambda: check(bad)) + bad = copy.deepcopy(self.recipe); bad["rank"] = 8 + self.assertRejects(lambda: check(bad)) + # A different plane through the parent line 30 (430 is not in span(429,30)). + self.assertRejects(lambda: check(self.recipe, [430, 30])) + + def test_source_pin_corruption(self): + with tempfile.TemporaryDirectory(prefix="staged-pair-pins-") as work: + root = Path(work) + for name in self.blobs: + (root / name).parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(ROOT / name, root / name) + self.assertEqual(authenticate(root), self.blobs) + target = root / staged_name("extra") + raw = bytearray(target.read_bytes()); raw[-5] ^= 1; target.write_bytes(bytes(raw)) + self.assertRejects(lambda: authenticate(root)) + + +if __name__ == "__main__": + unittest.main() diff --git a/research/staged-644-660-native-binding-audit/verify.py b/research/staged-644-660-native-binding-audit/verify.py new file mode 100644 index 0000000000..6d2e042944 --- /dev/null +++ b/research/staged-644-660-native-binding-audit/verify.py @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: Apache-2.0 +"""PR3605 staged helpers 644/660: emitted native residual binding and separate-kernel check.""" + +import json +import sys +import tempfile +from pathlib import Path + +HERE = Path(__file__).resolve().parent +if str(HERE) not in sys.path: + sys.path.insert(0, str(HERE)) + +import native +from common import HELPERS, PACKAGE, authenticate, decode, require + + +def compute(): + blobs = authenticate() + with tempfile.TemporaryDirectory(prefix="staged-pair-native-") as work: + record = native.audit(blobs, Path(work)) + result = {"schema_version": 1, "status": "PASS_STAGED_644_660_NATIVE_BINDING", + "native": record} + for tag, row in record["providers"].items(): + widths = [row["residuals"][row["bindings"][str(h)]["forward"]["recipe_key"]]["rank"] + for h in HELPERS] + require(widths == [7, 7], "emitted residual widths 7/7: " + tag) + require(row["parent_residual"]["rank"] == 8, "parent residual width 8: " + tag) + require(row["changed_helpers"] == list(HELPERS), "single-change control: " + tag) + require(len(row["controls"]) == 7, "seven residual controls: " + tag) + for h in HELPERS: + ranks = [c["rank"] for c in row["bindings"][str(h)]["forward"]["climbs"]] + parent = row["parent_bindings"][str(h)]["climb_ranks"] + require(sum(ranks) == 7 and sum(parent) == 8 and ranks[1:] == parent[1:] and + ranks[0] + 1 == parent[0], "only the first native climb changes: " + tag) + require(authenticate() == blobs, "source stability during replay") + return decode(json.dumps(result).encode()) + + +def main(): + require(sys.argv[1:] in ([], ["--emit"]), "usage: verify.py [--emit]") + result = compute() + if sys.argv[1:]: + print(json.dumps(result, indent=2, sort_keys=True)) + else: + require(decode((PACKAGE / "RESULT.json").read_bytes()) == result, "deterministic receipt") + base = result["native"]["providers"]["base"] + key = base["bindings"]["644"]["forward"]["recipe_key"] + print(result["status"] + + " providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL" + + f" residual_width=7 parent_width=8 shared_key={key}" + + f" climb_recipes={len(result['native']['climb_recipes'])}" + + " controls=7x2 single_change=2 both_orientations no_new_kappa") + + +if __name__ == "__main__": + main() From 49bd08ec57d0d2345b0efa1a651fa862b9a41b15 Mon Sep 17 00:00:00 2001 From: Mainzu <107363567+Mainzu@users.noreply.github.com> Date: Mon, 19 Oct 2026 01:08:42 +0700 Subject: [PATCH 2/4] Fix review findings in the staged 644/660 native audit 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 --- .../README.md | 67 +++++++++++-------- .../RESULT.json | 22 ++++-- .../SOURCES.json | 18 +++++ .../TASK.json | 8 +-- .../native.py | 25 ++++++- .../verify.py | 4 +- 6 files changed, 102 insertions(+), 42 deletions(-) diff --git a/research/staged-644-660-native-binding-audit/README.md b/research/staged-644-660-native-binding-audit/README.md index 4862a7e057..c0d47a7173 100644 --- a/research/staged-644-660-native-binding-audit/README.md +++ b/research/staged-644-660-native-binding-audit/README.md @@ -5,17 +5,20 @@ PR3605 lowers helpers 644 and 660 from width 8 to width 7 by letting them enter at `span(429,30)` instead of `span(30)`. Its consumers reuse those STAGED words: #3624, #3626, #3630, #3633 and #3638. PR3687 checked the words as exact -free-operator identities. It left one question open: do the **native phases** of -the paired `span(429,30)` entrance hold, checked without the `bw_*` lineage code? -This package answers that question for both providers and both orientations. -The answer is **yes**. - -- **The width-7 residual is exact.** The emitted recipe for `span(429,30) -> FULL` - satisfies `R · F_7 · L = T_E^-1 · T_FULL` on all 512 Gaussian columns, - including global phase. Its wrapped form `L^-1 T_E^-1 T_FULL R^-1 = F_7` and - inverse-transpose form also hold. The check uses Sagar Thakrar's separately - written kernel `research/frontier1094-recipes-exact-seed76/clifford.py`, - which imports no repository code. No `bw_*` module takes part in it. +free-operator identities. Its first open question asks whether the **native +phases** of the paired `span(429,30)` entrance hold, checked without the `bw_*` +lineage code. This package answers that question for both providers and both +orientations. The answer is **yes**. + +- **The width-7 residual is exact.** Operators are written in product order, + with the rightmost acting first. The emitted recipe for + `span(429,30) -> FULL` satisfies `L · F_7 · R = T_FULL · T_E^-1` on all 512 + Gaussian columns, including global phase. The wrapped form + `L^-1 · T_FULL · T_E^-1 · R^-1 = F_7` and the inverse-transpose form follow + from it, and both are evaluated as well. The check uses Sagar Thakrar's + separately written kernel + `research/frontier1094-recipes-exact-seed76/clifford.py`, which imports no + repository code. No `bw_*` module takes part in it. - **The emitted program uses exactly this recipe for 644 and 660.** The unchanged producer emits one `pre`/`post` residual wrapper pair at frame `[429,30]`, with no terminal field. There is one ordinary `new_to_old` exit @@ -26,15 +29,17 @@ The answer is **yes**. cleanup gates. - **Only this residual changes.** As a single-change control, the parent PR3133 words go through the same producer. There, 644/660 enter at `span(30)` with - width 8, and their first climb is 3 instead of 2; the later climbs are - identical. Across all 408 helpers, only 644 and 660 change their - entrance/terminal pair. The residual classes go from 57 to 58, and the new - class is `([429,30], FULL)`. + width 8, and their first climb is 3 instead of 2. Every climb ends at the + same frame as in the staged words; only the first climb's start differs. + Across all 408 helpers, only 644 and 660 change their entrance/terminal pair. + The serialized residual recipes go from 56 to 57, and the new one is + `([429,30], FULL)`. Counting the unwrapped cold class `([], FULL)`, which has + no recipe, the entrance/terminal pair classes go from 57 to 58. Expected verifier line: ```text -PASS_STAGED_644_660_NATIVE_BINDING providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL residual_width=7 parent_width=8 shared_key=137 climb_recipes=10 controls=7x2 single_change=2 both_orientations no_new_kappa +PASS_STAGED_644_660_NATIVE_BINDING providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL residual_width=7 parent_width=8 shared_key=137 climb_recipes=10 recipes=56->57 controls=7x2 single_change=2 both_orientations no_new_kappa ``` ## What the check does @@ -66,10 +71,11 @@ These include a missing `post` wrapper, a wrong wrapper frame, a restored-helper terminal field, a deleted or mis-ranked climb, and an entry adapter in place of the exit adapter. They also cover a moved exit adapter, an added private buffer, a sign-flipped scalar and the wrong orientation. Word, recipe and -source-pin corruptions are covered as well. One finding came from a wrong test -expectation: `[30,429]`, the same plane with its basis reordered, passes the -identity. So the kernel checks the subspace, not the order of its basis. The -same-plane case is not a control here. +source-pin corruptions are covered as well. One observation came from a wrong +test expectation. `[30,429]`, the same two vectors in the other order, passes +the identity, while `[435,30]`, another basis of the same plane, fails. So the +frame operator depends on the stored basis rather than only on the plane. The +wrong-entrance test therefore uses a different plane, `[430,30]`. ## Sources @@ -89,9 +95,13 @@ input by Git blob and SHA-256. `bw_transport.py`, `bw_emit.py` and `vendor/clifford/clifford_exact.py`. They are producers, not independent evidence. -The author's own checks are PR3605's full native chain and `check_residual.py`. -Both use the `bw_gauss` lineage kernel (`bw_adapters.py`, `bw_gauss.py`). They -check one abstract `(E,U)` pair and do not bind the emitted helper events. +PR3605's own registered chain already checks the emitted program with the +lineage code. `bw_audit_local.py` checks every residual wrapper, climb and +scalar frame, `bw_adapters.py` checks every entrance recipe, and both rely on +the `bw_gauss` kernel. `check_residual.py` checks the one changed `(E,U)` pair +with the same kernel. What was missing, as PR3687 says, is a check that does +not use that lineage. This package supplies one: the separate kernel for the +identity, plus its own source-to-emission binding. **Local-only cross-check (not part of the registered replay).** The producer's own `bw_adapters.py` needs numpy. Under Python 3.13.1 and numpy 2.2.2 (not @@ -119,8 +129,9 @@ provenance pins (for example This checks the native entrance of the two changed helpers. It does not check: -- the native phases of the other 57 residual classes, the 240 warps or the - scalar macros under an independent kernel; +- the native phases of the other 56 serialized residual recipes, the 72 warp + records (240 emitted warp events) or the scalar macros under an independent + kernel; - the retimed or delayed consumer words; - owner journals, physical stock, prefix, precision and tape; - the T740 or consumer releases; @@ -137,9 +148,9 @@ The structured list is in [TASK.json](TASK.json). unchanged, this check covers those consumers too. First step: vendor those words and run `native.provider()` on each, with the STAGED words as the control. -2. **Do all 58 residual classes and 240 warps pass the separate kernel?** - Loop `check_recipe` over every reconstructed adapter key, and check each - warp record as a monomial identity. +2. **Do all 57 serialized residual recipes and 72 warp records pass the + separate kernel?** Loop `check_recipe` over every reconstructed adapter key, + and check each warp record as a monomial identity. 3. **Is the complete emitted 644/660 lane phase-exact under an independent simulator?** This would need an emitted-event interpreter for the scalar macros and warps, compared with PR3687's free-operator endpoint. diff --git a/research/staged-644-660-native-binding-audit/RESULT.json b/research/staged-644-660-native-binding-audit/RESULT.json index 5a7e3aa090..87002df5ad 100644 --- a/research/staged-644-660-native-binding-audit/RESULT.json +++ b/research/staged-644-660-native-binding-audit/RESULT.json @@ -591,6 +591,10 @@ "wrong_entrance_plane": "phase-exact all-column residual" }, "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "pair_classes": { + "parent": 57, + "staged": 58 + }, "parent_bindings": { "644": { "climb_ranks": [ @@ -704,9 +708,9 @@ "spectator_axes": 1 }, "parent_word_sha256": "300a9b8ad1d554f0e6f84f43f3f5fd870a5b4e5f81ad856900b6e8999684892e", - "residual_classes": { - "parent": 57, - "staged": 58 + "residual_recipes": { + "parent": 56, + "staged": 57 }, "residuals": { "137": { @@ -799,6 +803,7 @@ "spectator_axes": 2 } }, + "warp_records": 72, "word_sha256": "735c540b1fe29d0ceeb4d2f304ec941e5f2bd3bc92bafc8cce2b4f9a67a3b653" }, "extra": { @@ -1379,6 +1384,10 @@ "wrong_entrance_plane": "phase-exact all-column residual" }, "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "pair_classes": { + "parent": 57, + "staged": 58 + }, "parent_bindings": { "644": { "climb_ranks": [ @@ -1492,9 +1501,9 @@ "spectator_axes": 1 }, "parent_word_sha256": "495d030f1e03b90e954dad3043994f03293d41b9ed220a3beaef849df435d3f0", - "residual_classes": { - "parent": 57, - "staged": 58 + "residual_recipes": { + "parent": 56, + "staged": 57 }, "residuals": { "137": { @@ -1587,6 +1596,7 @@ "spectator_axes": 2 } }, + "warp_records": 72, "word_sha256": "886338fc32da14f3389a82c8120a1bcf9c5e2f0ec3e9b2d377fdae809e1d977f" } } diff --git a/research/staged-644-660-native-binding-audit/SOURCES.json b/research/staged-644-660-native-binding-audit/SOURCES.json index 99da2c1c64..db74eb18a0 100644 --- a/research/staged-644-660-native-binding-audit/SOURCES.json +++ b/research/staged-644-660-native-binding-audit/SOURCES.json @@ -135,6 +135,24 @@ "git_blob": "1ff29dfb244e2114de8e586a450ae9fb70308d58", "sha256": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb" }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_audit_local.py", + "usage": "provenance", + "git_blob": "912a0c447c2ad34eb5ef3270e04ad0a73ca20a55", + "sha256": "08d5864d9b77902fc5ab5a062a8ea843fe1e572243b8c580abb0a421b2e46d07" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_phases.py", + "usage": "provenance", + "git_blob": "99f351785ebca5fbf3336bedcd7b48bac9c255e5", + "sha256": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_check_recipes.py", + "usage": "provenance", + "git_blob": "6db8ad50eb2562700432a852501aad720aa34816", + "sha256": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19" + }, { "path": "research/frontier1094-recipes-exact-seed76/README.md", "usage": "provenance", diff --git a/research/staged-644-660-native-binding-audit/TASK.json b/research/staged-644-660-native-binding-audit/TASK.json index ba2da37349..887878f625 100644 --- a/research/staged-644-660-native-binding-audit/TASK.json +++ b/research/staged-644-660-native-binding-audit/TASK.json @@ -52,7 +52,7 @@ "budget_minutes": 60, "stop_rule": "Finish the finite native binding and separate-kernel identity for helpers 644/660 and the parent single-change control. No owner journal, release, consumer, retimed word, root or kappa work; stop at a source mismatch or a failed identity.", "outcome": "completed", - "evidence": "RESULT.json via verify.py: for both providers and both orientations, helpers 644/660 have one pre/post residual wrapper pair at frame span(429,30) with no terminal field, one new_to_old exit adapter at FULL, no private buffer, and climbs [2,1,2,1,1] / [2,2,1,1,1] summing to 7; all 17 direct scalar clocks per helper match the source word. The shared recipe (key 137) satisfies R F_7 L = T_E^-1 T_FULL phase-exactly on all 512 columns, with both wrapped and inverse-transpose forms, under the separate kernel; ten distinct climb recipes also pass. The parent PR3133 words give width 8 with first climbs 3 instead of 2, and only 644/660 change entrance/terminal pairs (57 -> 58 residual classes). Seven residual controls per provider are rejected: three at the all-column operator check (global phase, parent right-wrapper alias, wrong plane [429,18]) and four at the width check. test_verify.py: 6 tests; emitted-stream, recipe, word and pin corruptions are rejected. Local-only (not registered): the producer's own bw_adapters.py under Python 3.13.1 and numpy 2.2.2 writes a RESIDUAL-ADAPTERS.json whose LF-normalized bytes equal this package's reconstruction for both providers.", + "evidence": "RESULT.json via verify.py: for both providers and both orientations, helpers 644/660 have one pre/post residual wrapper pair at frame span(429,30) with no terminal field, one new_to_old exit adapter at FULL, no private buffer, and climbs [2,1,2,1,1] / [2,2,1,1,1] summing to 7; all 17 direct scalar clocks per helper match the source word. The shared recipe (key 137) satisfies L*F_7*R = T_FULL*T_E^-1 (operator order, rightmost first) phase-exactly on all 512 columns under the separate kernel; the wrapped and inverse-transpose forms, which follow from it, are also evaluated. Ten distinct climb recipes also pass. The parent PR3133 words give width 8 with first climbs 3 instead of 2, every climb ending at the same frame; only 644/660 change entrance/terminal pairs. Serialized residual recipes go 56 -> 57; pair classes go 57 -> 58, counting the unwrapped cold class ([], FULL). Seven residual controls per provider are rejected: three at the all-column operator check (global phase, parent right-wrapper alias, wrong plane [429,18]) and four at the width check. test_verify.py: 6 tests; emitted-stream, recipe, word and pin corruptions are rejected. Local-only (not registered): the producer's own bw_adapters.py under Python 3.13.1 and numpy 2.2.2 writes a RESIDUAL-ADAPTERS.json whose LF-normalized bytes equal this package's reconstruction for both providers.", "author": "Mainzu", "ai_assistance": "Substantial assistance from Claude Code (Anthropic, Claude Opus 5.5) for source search, the verifier and drafting; no independent human review is claimed.", "open_questions": [ @@ -63,8 +63,8 @@ "blocked_by": "Those words are on unmerged PR heads not fetched here; their retimed scalar chronology needs its own source-to-emission comparison." }, { - "question": "Do all 58 residual classes and all 240 warps of the staged words pass the separate kernel, not only the changed class?", - "why_it_matters": "This package checks the one residual class that PR3605 changes; the other 57 are inherited from the PR3133 parent and rely on the bw_gauss lineage check or earlier group audits.", + "question": "Do all 57 serialized residual recipes and all 72 warp records (240 emitted warp events) of the staged words pass the separate kernel, not only the changed recipe?", + "why_it_matters": "This package checks the one residual recipe that PR3605 changes; the other 56 are inherited from the PR3133 parent and rely on the bw_gauss lineage check or earlier group audits.", "first_step": "Loop check_recipe over every key of the reconstructed adapter file and check each warp K record as a monomial identity with the same kernel; record the runtime.", "blocked_by": "Not attempted in this session; it extends coverage rather than answering PR3687's open question." }, @@ -79,7 +79,7 @@ { "pr": 3605, "head": "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb", - "scope": "Author's full native chain on the staged words (transport, adapters, emit, bw_audit_local, bw_phases, bw_check_recipes) and check_residual.py for the abstract span(429,30)->FULL pair, all with the bw_gauss lineage kernel." + "scope": "Author's registered native chain on the staged words: bw_audit_local.py checks every emitted residual wrapper, climb and scalar frame, bw_adapters.py checks every entrance recipe, bw_phases.py and bw_check_recipes.py run as well, and check_residual.py checks the changed span(429,30)->FULL pair; all rely on the bw_gauss lineage kernel. Independence from that lineage is the missing coverage." }, { "pr": 3687, diff --git a/research/staged-644-660-native-binding-audit/native.py b/research/staged-644-660-native-binding-audit/native.py index 65b9a6782c..4e1a0a8457 100644 --- a/research/staged-644-660-native-binding-audit/native.py +++ b/research/staged-644-660-native-binding-audit/native.py @@ -234,6 +234,12 @@ def emitted_binding(word, canonical, stream, helper, backward=False): "direct_scalar_sha256": digest(encoded(scalars))} +def recipe_classes(adapters): + """Serialized residual recipes by literal entrance and terminal vectors.""" + return {encoded([row["vectors"], row.get("terminal_vectors", FULL)]) + for row in adapters["recipes"].values()} + + def pair_inventory(canonical, word): """Original helper id -> literal entrance/terminal vectors for every compact helper.""" kept = [r for r in range(704) if r not in word["removed"]] @@ -281,8 +287,14 @@ def provider(blobs, tag, work, compiler, kernel, climb_recipes): orientation == "backward") for orientation, stream in programs_parent.items()} require(rows["forward"]["entrance"] == PARENT_ENTRANCE, "parent entrance span(30)") + old_climbs, new_climbs = rows["forward"]["climbs"], bindings[str(h)]["forward"]["climbs"] + # Every climb ends at the same frame; only the first climb's start differs. + require(len(old_climbs) == len(new_climbs) and + [c["new"] for c in old_climbs] == [c["new"] for c in new_climbs] and + [c["old"] for c in old_climbs[1:]] == [c["old"] for c in new_climbs[1:]], + "parent and staged climb frames") parent_bindings[str(h)] = {"entrance": PARENT_ENTRANCE, - "climb_ranks": [c["rank"] for c in rows["forward"]["climbs"]], + "climb_ranks": [c["rank"] for c in old_climbs], "direct_scalar_count": rows["forward"]["direct_scalar_count"]} op = compiler.canonical_frame(9, tuple(PARENT_ENTRANCE)).adjoint().then( compiler.canonical_frame(9, tuple(FULL))) @@ -296,7 +308,12 @@ def provider(blobs, tag, work, compiler, kernel, climb_recipes): all(old[h] == (PARENT_ENTRANCE, FULL) and new[h] == (ENTRANCE, FULL) for h in changed), "only the two staged entrances change") classes_old, classes_new = set(map(str, old.values())), set(map(str, new.values())) - require(classes_new - classes_old == {str((ENTRANCE, FULL))}, "one new residual class") + require(classes_new - classes_old == {str((ENTRANCE, FULL))}, "one new entrance/terminal class") + # The pair classes include the unwrapped cold class ([], FULL), which has no recipe. + parent_adapters = adapter_file(compiler, canonical_parent) + recipes_old, recipes_new = recipe_classes(parent_adapters), recipe_classes(adapters) + require(recipes_new - recipes_old == {encoded([ENTRANCE, FULL])} and + len(recipes_new) == len(recipes_old) + 1, "one new serialized residual recipe") key = bindings["644"]["forward"]["recipe_key"] rec = adapters["recipes"][key] @@ -322,7 +339,9 @@ def provider(blobs, tag, work, compiler, kernel, climb_recipes): "adapter_sha256": digest(encoded(adapters)), "bindings": bindings, "residuals": residuals, "parent_bindings": parent_bindings, "parent_residual": parent_check, "changed_helpers": changed, - "residual_classes": {"parent": len(classes_old), "staged": len(classes_new)}, + "pair_classes": {"parent": len(classes_old), "staged": len(classes_new)}, + "residual_recipes": {"parent": len(recipes_old), "staged": len(recipes_new)}, + "warp_records": len(canonical["warps"]), "controls": controls} diff --git a/research/staged-644-660-native-binding-audit/verify.py b/research/staged-644-660-native-binding-audit/verify.py index 6d2e042944..3b887d56df 100644 --- a/research/staged-644-660-native-binding-audit/verify.py +++ b/research/staged-644-660-native-binding-audit/verify.py @@ -27,6 +27,8 @@ def compute(): require(row["parent_residual"]["rank"] == 8, "parent residual width 8: " + tag) require(row["changed_helpers"] == list(HELPERS), "single-change control: " + tag) require(len(row["controls"]) == 7, "seven residual controls: " + tag) + require(row["residual_recipes"] == {"parent": 56, "staged": 57} and + row["pair_classes"] == {"parent": 57, "staged": 58}, "class inventory: " + tag) for h in HELPERS: ranks = [c["rank"] for c in row["bindings"][str(h)]["forward"]["climbs"]] parent = row["parent_bindings"][str(h)]["climb_ranks"] @@ -48,7 +50,7 @@ def main(): print(result["status"] + " providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL" + f" residual_width=7 parent_width=8 shared_key={key}" - + f" climb_recipes={len(result['native']['climb_recipes'])}" + + f" climb_recipes={len(result['native']['climb_recipes'])} recipes=56->57" + " controls=7x2 single_change=2 both_orientations no_new_kappa") From 72b4629c69f34af76a4cb5ecd1bb78affe89a3b2 Mon Sep 17 00:00:00 2001 From: Mainzu <107363567+Mainzu@users.noreply.github.com> Date: Mon, 19 Oct 2026 01:43:23 +0700 Subject: [PATCH 3/4] Extend the staged 644/660 native audit to the retimed and delayed words The RETIMED644-660 words of #3642 (reused byte for byte by #3653) and the DELAYED words of #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 --- .../README.md | 134 +++- .../RESULT.json | 694 +++++++++++++++++- .../SOURCES.json | 91 +++ .../TASK.json | 54 +- .../VERIFY.json | 4 +- .../common.py | 55 +- .../inputs/DELAYED-base.json.gz | Bin 0 -> 72558 bytes .../inputs/DELAYED-extra.json.gz | Bin 0 -> 72557 bytes .../inputs/RETIMED644-660-base.json.gz | Bin 0 -> 72575 bytes .../inputs/RETIMED644-660-extra.json.gz | Bin 0 -> 72574 bytes .../native.py | 135 +++- .../test_verify.py | 66 +- .../verify.py | 18 +- 13 files changed, 1167 insertions(+), 84 deletions(-) create mode 100644 research/staged-644-660-native-binding-audit/inputs/DELAYED-base.json.gz create mode 100644 research/staged-644-660-native-binding-audit/inputs/DELAYED-extra.json.gz create mode 100644 research/staged-644-660-native-binding-audit/inputs/RETIMED644-660-base.json.gz create mode 100644 research/staged-644-660-native-binding-audit/inputs/RETIMED644-660-extra.json.gz diff --git a/research/staged-644-660-native-binding-audit/README.md b/research/staged-644-660-native-binding-audit/README.md index c0d47a7173..1f7066de62 100644 --- a/research/staged-644-660-native-binding-audit/README.md +++ b/research/staged-644-660-native-binding-audit/README.md @@ -36,10 +36,41 @@ orientations. The answer is **yes**. `([429,30], FULL)`. Counting the unwrapped cold class `([], FULL)`, which has no recipe, the entrance/terminal pair classes go from 57 to 58. +**The retimed and delayed consumer words keep this entrance residual.** Two +later word families move the releases that read 644/660. These are the +RETIMED644-660 words of #3642, which #3653 reuses byte for byte, and the DELAYED +words of #3682. All four consumer words (two families, two providers) go +through the same producer and binding, with PR3605's STAGED words as the +single-change control. The answer is again **yes**: + +- 644 and 660 still enter at `[429,30]` with key `137`. The width-7 recipe + passes the separate kernel on all 512 columns. Each reconstructed + residual-adapter file equals the STAGED one, so all 57 recipes and 72 warp + records are unchanged. No helper among the 408 changes its entrance/terminal + pair. +- In both orientations, 644/660 keep the STAGED emitted structure: one wrapper + pair at `[429,30]`, one `new_to_old` exit adapter at FULL, no private buffer, + and the STAGED climb frames and ranks. Only the clocks move, and all 17 + direct scalar clocks per helper match the consumer word. Binding the STAGED word to a + consumer program is rejected at the scalar/climb clock check. So the binding + sees the retiming rather than passing for any word. +- The first climb `span(429,30) -> Q` moves from B1045 to B592 (644) and from + B1085 to B642 (660) in RETIMED. In DELAYED it moves from B1045 to B1043 and + from B1085 to B1084. Here `Q` is `span(423,65,20,10)` for 644 and + `span(427,96,24,6)` for 660. +- Only the release donors 640 and 656 change their climbs. Each replaces climbs + `1,2` by one direct climb `span(30) -> Q` of rank 3, as #3642 and #3682 + describe (H1+H2 -> H3), and both merged climb recipes pass the separate + kernel. +- Each regenerated `LOCAL-CHECKS.json`, in LF form, equals the receipt that the + producing PR recorded from its own native run: `11743473…` (#3642) and + `7ff1aabb…` (#3682). So the programs checked here are the ones those runs + emitted. + Expected verifier line: ```text -PASS_STAGED_644_660_NATIVE_BINDING providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL residual_width=7 parent_width=8 shared_key=137 climb_recipes=10 recipes=56->57 controls=7x2 single_change=2 both_orientations no_new_kappa +PASS_STAGED_644_660_NATIVE_BINDING providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL residual_width=7 parent_width=8 shared_key=137 climb_recipes=10 recipes=56->57 controls=7x2 single_change=2 both_orientations no_new_kappa consumers=RETIMED644-660,DELAYED consumer_width=7 consumer_key=137 consumer_pair_changes=0 recorded_receipts=4 merged_donor_climbs=2 ``` ## What the check does @@ -65,13 +96,40 @@ Fourier primitive on the first `w` axes, and `w = dim U - dim E`. Here substituted, and the same-dimension wrong plane `[429,18]`. Four fail at the width check: no entrance, the contained line `[429]`, the old entrance `[30]` and the parent recipe at the new entrance. +5. It runs each consumer word through the same producer and compares it with + the STAGED word of the same provider. It requires the recorded `LOCAL-CHECKS` + receipt, an identical residual-adapter file and identical entrance/terminal + pairs. For 644/660 it requires the same binding and recipe key with the + kernel check, and the STAGED climb frames. It also requires that only the + donors' climb chains change, each by one merged climb that the kernel + checks. Binding the STAGED word to the consumer program must be rejected. + +The words differ from the STAGED words only where #3642 and #3682 say: + +- **RETIMED** swaps B591/B592 and B641/B642, and raises each moved release + `640 += 2*644` and `656 -= 660` to `Q`. It regenerates the cleanup and the + reported local profile. +- **DELAYED** moves the same two releases to just before old B1045 and B1085, + at `Q`. It shifts the B cut (and nothing else) of 38 of the 72 warp entries + by one or two, and regenerates the cleanup and the reported local profile. + +`LOCAL-CHECKS.json` comes from `bw_emit.py`, which writes it with `write_text` +and so uses CRLF line ends on Windows. The verifier therefore digests its LF +form. The first two commits recorded the CRLF digest, which a Linux or macOS +replay would not reproduce. The LF digests are the ones that equal the +consumers' recorded receipts. `test_verify.py` adds corruptions that must fail through the same code paths. These include a missing `post` wrapper, a wrong wrapper frame, a restored-helper terminal field, a deleted or mis-ranked climb, and an entry adapter in place of the exit adapter. They also cover a moved exit adapter, an added private buffer, a sign-flipped scalar and the wrong orientation. Word, recipe and -source-pin corruptions are covered as well. One observation came from a wrong +source-pin corruptions are covered as well, including a corrupted DELAYED copy. +For the RETIMED base word, the tests check the recorded receipt and that the +RETIMED word does not bind the STAGED program. They then require each consumer +comparison to fail at its own check: a changed STAGED recipe, 644's entrance +swapped with donor 640's (which keeps the recipe set), a deleted non-donor +climb, and a donor that stops at `[429,30]`. One observation came from a wrong test expectation. `[30,429]`, the same two vectors in the other order, passes the identity, while `[435,30]`, another basis of the same plane, fails. So the frame operator depends on the stored basis rather than only on the plane. The @@ -89,6 +147,26 @@ input by Git blob and SHA-256. must name the live path, so these copies are pinned as provenance rows under their original path. The verifier checks the copies' bytes against those pins. The hashes also match PR3605's `ARTIFACTS.json`. +- **Consumer words.** These are pinned in the same way, each at its PR head + under its original path. The verifier requires every pin of a copy to carry + the same SHA-256. + - `inputs/RETIMED644-660-{base,extra}.json.gz` are byte copies of + `research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-*.json.gz` + at #3642 head `6568db75adbb61437190545f6fef1534c70e91e5`. They are also + byte copies of + `research/retimed-t488-composition/local-audit/words/RETIMED644-660-*.json.gz` + at #3653 head `607a09ff441c79b215a8127a81f4cc70021d0d9b`. + - `inputs/DELAYED-{base,extra}.json.gz` are byte copies of + `research/staged-donor-release/lead1-words/DELAYED-*.json.gz` at #3682 head + `431e6c6023ef352c41696469de7fb614cd4ded8c`. +- **Recorded consumer receipts.** These are #3642's + `local-audit/receipts/native-{base,extra}/native/local/LOCAL-CHECKS.json` and + #3682's `evidence/native-{base,extra}/LOCAL-CHECKS.json`, pinned at the same + heads. The verifier compares each regenerated receipt with the pinned SHA-256. + It does not read these files. +- **Consumer documents.** #3642's `PROOF.md`, #3653's `README.md` and #3682's + `PROOF.md` are pinned for the word changes described above. Every other + statement about these words comes from the word bytes themselves. - **Parent words.** These are PR3133's `edits/FINAL-WORD-{base,extra}.json.gz` on main. - **Producer and compiler.** These are the retained t74-native-fast @@ -101,7 +179,10 @@ scalar frame, `bw_adapters.py` checks every entrance recipe, and both rely on the `bw_gauss` kernel. `check_residual.py` checks the one changed `(E,U)` pair with the same kernel. What was missing, as PR3687 says, is a check that does not use that lineage. This package supplies one: the separate kernel for the -identity, plus its own source-to-emission binding. +identity, plus its own source-to-emission binding. The same holds for the +consumers. #3642 and #3682 each ran the five-stage native chain on their words, +as their `PROOF.md` files say, and those native checks use the same lineage +kernel. **Local-only cross-check (not part of the registered replay).** The producer's own `bw_adapters.py` needs numpy. Under Python 3.13.1 and numpy 2.2.2 (not @@ -109,7 +190,8 @@ PR3605's declared numpy 2.5.4), it wrote a `RESIDUAL-ADAPTERS.json` for each provider. The LF-normalized bytes equal this package's reconstruction: `a19e744f…` (base) and `c4ddd4db…` (extra). So the recipe checked here is the one the native chain serializes. On Windows, `bw_adapters.py` writes CRLF -through `write_text`. +through `write_text`. This cross-check was run on the STAGED words only. The +package's reconstructions for the consumer words are byte-identical to these. ## Reproduction @@ -120,21 +202,29 @@ python3 -B scripts/research_package.py --package research/staged-644-660-native- python3.12 -Werror -B scripts/research_package.py --package research/staged-644-660-native-binding-audit ``` -These use only the Python 3.12 standard library, and take about 30 seconds -and 7 seconds on a Windows 11 laptop. PR3605's commit must be present for the -provenance pins (for example -`git fetch origin refs/pull/3605/head`). +These use only the Python 3.12 standard library. On a Windows 11 laptop the +verifier takes about 80 seconds (up to three minutes under load) and the tests +about 50 seconds. The PR heads must be present for the provenance pins: + +```sh +git fetch --no-tags origin refs/pull/3605/head refs/pull/3642/head refs/pull/3653/head refs/pull/3682/head refs/pull/3687/head +``` ## Scope and unchecked obligations -This checks the native entrance of the two changed helpers. It does not check: +This checks the native entrance of the two changed helpers in the STAGED, +RETIMED and DELAYED words, and the merged donor climbs of the latter two. It +does not check: - the native phases of the other 56 serialized residual recipes, the 72 warp records (240 emitted warp events) or the scalar macros under an independent kernel; -- the retimed or delayed consumer words; +- that the moved releases commute with the gates they cross. That is #3642's + and #3682's argument, and their free-operator checks. This package binds the + clocks at which the releases are emitted, not the operator they produce; +- any other climb or residual of the donors 640/656; - owner journals, physical stock, prefix, precision and tape; -- the T740 or consumer releases; +- the T740 release, the consumer releases (T530, T488, T360) and their κ; - the inherited all-size compiler, analytic transfer and BIT hypotheses. A passing finite audit does not admit a supplier or change the selected record. @@ -143,22 +233,26 @@ A passing finite audit does not admit a supplier or change the selected record. The structured list is in [TASK.json](TASK.json). -1. **Do the retimed (#3642/#3653) and delayed (#3682) words keep this entrance - residual?** If their 644/660 entrance/terminal pairs and recipe are - unchanged, this check covers those consumers too. First step: vendor those - words and run `native.provider()` on each, with the STAGED words as the - control. -2. **Do all 57 serialized residual recipes and 72 warp records pass the +1. **Do all 57 serialized residual recipes and 72 warp records pass the separate kernel?** Loop `check_recipe` over every reconstructed adapter key, - and check each warp record as a monomial identity. -3. **Is the complete emitted 644/660 lane phase-exact under an independent + and check each warp record as a monomial identity. The STAGED, RETIMED and + DELAYED adapter files are identical, so one run covers all three families. +2. **Is the complete emitted 644/660 lane phase-exact under an independent simulator?** This would need an emitted-event interpreter for the scalar - macros and warps, compared with PR3687's free-operator endpoint. + macros and warps, compared with PR3687's free-operator endpoint. It would + also check the moved releases natively. +3. **Which open PRs carry 644/660 words that differ from the STAGED, RETIMED + and DELAYED bytes?** This package covers exactly those six words. First + step: list the blob ids of `*644-660*.json.gz` and `DELAYED-*.json.gz` + files across open PR heads, and run the consumer comparison on any new + ones. ## Credit - **Construction:** Ross Richardson's PR3605. - **Parent words:** dcharb78's PR3133, with the word lineage credited there. +- **Consumer words:** roger-sato's #3642 (RETIMED, reused by rohanarun's + #3653) and zxv's #3682 (DELAYED). - **Open question:** Sagar Thakrar's PR3687 posed the question answered here. - **Separate kernel:** Sagar Thakrar's, from frontier1094-recipes-exact-seed76. - **Producer lineage:** DreamingOfClouds/PR458, retained t74-native-fast diff --git a/research/staged-644-660-native-binding-audit/RESULT.json b/research/staged-644-660-native-binding-audit/RESULT.json index 87002df5ad..9afe8b52a8 100644 --- a/research/staged-644-660-native-binding-audit/RESULT.json +++ b/research/staged-644-660-native-binding-audit/RESULT.json @@ -12,6 +12,692 @@ "[[429,30],[423,65,20,10]]": 2, "[[429,30],[427,96,24,6]]": 2 }, + "consumers": { + "DELAYED": { + "base": { + "adapter_sha256": "a19e744f741bf917a72d63aab09cf7e10f5566091458568747b97f7bf0ea945a", + "binding_sha256": { + "644": { + "backward": "df9c48ffab76b888ed085917c8754efa93d9cda0b321bc8ee07aa5ddc50fe2d1", + "forward": "df9c48ffab76b888ed085917c8754efa93d9cda0b321bc8ee07aa5ddc50fe2d1" + }, + "660": { + "backward": "c702b044c9511c842820db12df80dbb207b46d9780420f49da7625e45068f6c8", + "forward": "c702b044c9511c842820db12df80dbb207b46d9780420f49da7625e45068f6c8" + } + }, + "changed_scalar_clocks": { + "644": 12, + "660": 4 + }, + "climb_clocks": { + "644": { + "consumer": [ + [ + "B", + 1043 + ], + [ + "B", + 1055 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1045 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ] + }, + "660": { + "consumer": [ + [ + "B", + 1084 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1085 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ] + } + }, + "controls": { + "644": "source-to-emission direct scalar/climb clocks", + "660": "source-to-emission direct scalar/climb clocks" + }, + "donor_climb_ranks": { + "640": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ], + "656": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ] + }, + "events": { + "backward": 22766, + "forward": 22766 + }, + "local_checks_sha256": "7ff1aabbc1cab42fd4c045859071657dbccdeb398a52334b13f072f0731c87d5", + "merged_donor_climbs": { + "640": "[[30],[423,65,20,10]]", + "656": "[[30],[427,96,24,6]]" + }, + "recipe_keys": { + "644": "137", + "660": "137" + }, + "residual_ranks": { + "644": 7, + "660": 7 + }, + "word_sha256": "0aca7560603d65902a50d68af43f594abd93b09594bac24878b846b1e51475fa" + }, + "extra": { + "adapter_sha256": "c4ddd4db13db5ed6b3672f8ddd0dc3a2bfff50068779b51489c6f002972f6163", + "binding_sha256": { + "644": { + "backward": "df9c48ffab76b888ed085917c8754efa93d9cda0b321bc8ee07aa5ddc50fe2d1", + "forward": "df9c48ffab76b888ed085917c8754efa93d9cda0b321bc8ee07aa5ddc50fe2d1" + }, + "660": { + "backward": "c702b044c9511c842820db12df80dbb207b46d9780420f49da7625e45068f6c8", + "forward": "c702b044c9511c842820db12df80dbb207b46d9780420f49da7625e45068f6c8" + } + }, + "changed_scalar_clocks": { + "644": 12, + "660": 4 + }, + "climb_clocks": { + "644": { + "consumer": [ + [ + "B", + 1043 + ], + [ + "B", + 1055 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1045 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ] + }, + "660": { + "consumer": [ + [ + "B", + 1084 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1085 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ] + } + }, + "controls": { + "644": "source-to-emission direct scalar/climb clocks", + "660": "source-to-emission direct scalar/climb clocks" + }, + "donor_climb_ranks": { + "640": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ], + "656": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ] + }, + "events": { + "backward": 22766, + "forward": 22766 + }, + "local_checks_sha256": "7ff1aabbc1cab42fd4c045859071657dbccdeb398a52334b13f072f0731c87d5", + "merged_donor_climbs": { + "640": "[[30],[423,65,20,10]]", + "656": "[[30],[427,96,24,6]]" + }, + "recipe_keys": { + "644": "137", + "660": "137" + }, + "residual_ranks": { + "644": 7, + "660": 7 + }, + "word_sha256": "6928ad79dc683e7e7bbf4b5da60f2df91f478c58b797922d6df41d9d43c87048" + } + }, + "RETIMED644-660": { + "base": { + "adapter_sha256": "a19e744f741bf917a72d63aab09cf7e10f5566091458568747b97f7bf0ea945a", + "binding_sha256": { + "644": { + "backward": "c6da2b054bd23b046e89ae2de2eb448c36cdc100da6e4e3c56d232bb42b387e4", + "forward": "c6da2b054bd23b046e89ae2de2eb448c36cdc100da6e4e3c56d232bb42b387e4" + }, + "660": { + "backward": "76d96b99981a46462c9ffb62bf9fa366ab72282a7be9bd93b7c430be143423b7", + "forward": "76d96b99981a46462c9ffb62bf9fa366ab72282a7be9bd93b7c430be143423b7" + } + }, + "changed_scalar_clocks": { + "644": 4, + "660": 4 + }, + "climb_clocks": { + "644": { + "consumer": [ + [ + "B", + 592 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1045 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ] + }, + "660": { + "consumer": [ + [ + "B", + 642 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1085 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ] + } + }, + "controls": { + "644": "source-to-emission direct scalar/climb clocks", + "660": "source-to-emission direct scalar/climb clocks" + }, + "donor_climb_ranks": { + "640": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ], + "656": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ] + }, + "events": { + "backward": 22766, + "forward": 22766 + }, + "local_checks_sha256": "11743473efa1822069303b49c62b1853af4236f46ef54b4778a27e2e70d79d06", + "merged_donor_climbs": { + "640": "[[30],[423,65,20,10]]", + "656": "[[30],[427,96,24,6]]" + }, + "recipe_keys": { + "644": "137", + "660": "137" + }, + "residual_ranks": { + "644": 7, + "660": 7 + }, + "word_sha256": "6df3356808e29909776be8bc0faf03df983401a267c2d740d1ac2dbcaa278269" + }, + "extra": { + "adapter_sha256": "c4ddd4db13db5ed6b3672f8ddd0dc3a2bfff50068779b51489c6f002972f6163", + "binding_sha256": { + "644": { + "backward": "c6da2b054bd23b046e89ae2de2eb448c36cdc100da6e4e3c56d232bb42b387e4", + "forward": "c6da2b054bd23b046e89ae2de2eb448c36cdc100da6e4e3c56d232bb42b387e4" + }, + "660": { + "backward": "76d96b99981a46462c9ffb62bf9fa366ab72282a7be9bd93b7c430be143423b7", + "forward": "76d96b99981a46462c9ffb62bf9fa366ab72282a7be9bd93b7c430be143423b7" + } + }, + "changed_scalar_clocks": { + "644": 4, + "660": 4 + }, + "climb_clocks": { + "644": { + "consumer": [ + [ + "B", + 592 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1045 + ], + [ + "B", + 1056 + ], + [ + "B", + 1640 + ], + [ + "B", + 1643 + ], + [ + "final", + 0 + ] + ] + }, + "660": { + "consumer": [ + [ + "B", + 642 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ], + "staged": [ + [ + "B", + 1085 + ], + [ + "B", + 1096 + ], + [ + "B", + 1704 + ], + [ + "B", + 1707 + ], + [ + "final", + 0 + ] + ] + } + }, + "controls": { + "644": "source-to-emission direct scalar/climb clocks", + "660": "source-to-emission direct scalar/climb clocks" + }, + "donor_climb_ranks": { + "640": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ], + "656": [ + [ + 1, + 2, + 2, + 1, + 1, + 1 + ], + [ + 3, + 2, + 1, + 1, + 1 + ] + ] + }, + "events": { + "backward": 22766, + "forward": 22766 + }, + "local_checks_sha256": "11743473efa1822069303b49c62b1853af4236f46ef54b4778a27e2e70d79d06", + "merged_donor_climbs": { + "640": "[[30],[423,65,20,10]]", + "656": "[[30],[427,96,24,6]]" + }, + "recipe_keys": { + "644": "137", + "660": "137" + }, + "residual_ranks": { + "644": 7, + "660": 7 + }, + "word_sha256": "65624efec36b35934b750c1741ba2ad4e6df3cff86e44536b0c016ebddb0fb55" + } + } + }, + "donor_climb_recipes": { + "[[30],[423,65,20,10]]": 3, + "[[30],[427,96,24,6]]": 3 + }, "providers": { "base": { "adapter_sha256": "a19e744f741bf917a72d63aab09cf7e10f5566091458568747b97f7bf0ea945a", @@ -590,7 +1276,7 @@ "phase": "phase-exact all-column residual", "wrong_entrance_plane": "phase-exact all-column residual" }, - "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "local_checks_sha256": "1cd75f8209677e59bb26be8d7d0920109628a5da1ff80d4f07b03356711a2237", "pair_classes": { "parent": 57, "staged": 58 @@ -623,7 +1309,7 @@ ] } }, - "parent_local_checks_sha256": "931d0883c8aef3210e2ef2782550aabda026203f874700822a2b0598c6548a0f", + "parent_local_checks_sha256": "681abd7fb34ef2b691dd95f4d7284c493989c7d57b16776ce8c2ae96f946f49c", "parent_residual": { "columns": 512, "orientations": 2, @@ -1383,7 +2069,7 @@ "phase": "phase-exact all-column residual", "wrong_entrance_plane": "phase-exact all-column residual" }, - "local_checks_sha256": "ecd130a4e78b50d4a7206a3840c7cb4822e70899566abeba4c8d4db9104c5ef5", + "local_checks_sha256": "1cd75f8209677e59bb26be8d7d0920109628a5da1ff80d4f07b03356711a2237", "pair_classes": { "parent": 57, "staged": 58 @@ -1416,7 +2102,7 @@ ] } }, - "parent_local_checks_sha256": "931d0883c8aef3210e2ef2782550aabda026203f874700822a2b0598c6548a0f", + "parent_local_checks_sha256": "681abd7fb34ef2b691dd95f4d7284c493989c7d57b16776ce8c2ae96f946f49c", "parent_residual": { "columns": 512, "orientations": 2, diff --git a/research/staged-644-660-native-binding-audit/SOURCES.json b/research/staged-644-660-native-binding-audit/SOURCES.json index db74eb18a0..04a979226a 100644 --- a/research/staged-644-660-native-binding-audit/SOURCES.json +++ b/research/staged-644-660-native-binding-audit/SOURCES.json @@ -99,6 +99,97 @@ "sha256": "7ffddf5ed8b9aa8ef713de7d03f137d1596183f580b4a024c7e2f1071c4f522e", "pin": "head:f798838eb8ede4178e94f240e7b7e54b3f80c82d:research/staged-644-660-independent-audit/README.md" }, + { + "path": "research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-base.json.gz", + "usage": "provenance", + "git_blob": "d69125e0c7d34af9299e411ada5c30dfc7b95ad1", + "sha256": "6df3356808e29909776be8bc0faf03df983401a267c2d740d1ac2dbcaa278269", + "pin": "head:6568db75adbb61437190545f6fef1534c70e91e5:research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-base.json.gz" + }, + { + "path": "research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-extra.json.gz", + "usage": "provenance", + "git_blob": "f3c580b06506e8888fe766c9a1e0bb1a748d7b74", + "sha256": "65624efec36b35934b750c1741ba2ad4e6df3cff86e44536b0c016ebddb0fb55", + "pin": "head:6568db75adbb61437190545f6fef1534c70e91e5:research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-extra.json.gz" + }, + { + "path": "research/retimed-t488-composition/local-audit/words/RETIMED644-660-base.json.gz", + "usage": "provenance", + "git_blob": "d69125e0c7d34af9299e411ada5c30dfc7b95ad1", + "sha256": "6df3356808e29909776be8bc0faf03df983401a267c2d740d1ac2dbcaa278269", + "pin": "head:607a09ff441c79b215a8127a81f4cc70021d0d9b:research/retimed-t488-composition/local-audit/words/RETIMED644-660-base.json.gz" + }, + { + "path": "research/retimed-t488-composition/local-audit/words/RETIMED644-660-extra.json.gz", + "usage": "provenance", + "git_blob": "f3c580b06506e8888fe766c9a1e0bb1a748d7b74", + "sha256": "65624efec36b35934b750c1741ba2ad4e6df3cff86e44536b0c016ebddb0fb55", + "pin": "head:607a09ff441c79b215a8127a81f4cc70021d0d9b:research/retimed-t488-composition/local-audit/words/RETIMED644-660-extra.json.gz" + }, + { + "path": "research/staged-donor-release/lead1-words/DELAYED-base.json.gz", + "usage": "provenance", + "git_blob": "7ccd0962b89adb78e643689573333059262d27b7", + "sha256": "0aca7560603d65902a50d68af43f594abd93b09594bac24878b846b1e51475fa", + "pin": "head:431e6c6023ef352c41696469de7fb614cd4ded8c:research/staged-donor-release/lead1-words/DELAYED-base.json.gz" + }, + { + "path": "research/staged-donor-release/lead1-words/DELAYED-extra.json.gz", + "usage": "provenance", + "git_blob": "3f1fb47183d97bf4b544ea51c59394bb6a9801ee", + "sha256": "6928ad79dc683e7e7bbf4b5da60f2df91f478c58b797922d6df41d9d43c87048", + "pin": "head:431e6c6023ef352c41696469de7fb614cd4ded8c:research/staged-donor-release/lead1-words/DELAYED-extra.json.gz" + }, + { + "path": "research/staged-release-retiming-t530/local-audit/receipts/native-base/native/local/LOCAL-CHECKS.json", + "usage": "provenance", + "git_blob": "fffbfc2f9096d3d1fad0842f6b0898585a4e47b9", + "sha256": "11743473efa1822069303b49c62b1853af4236f46ef54b4778a27e2e70d79d06", + "pin": "head:6568db75adbb61437190545f6fef1534c70e91e5:research/staged-release-retiming-t530/local-audit/receipts/native-base/native/local/LOCAL-CHECKS.json" + }, + { + "path": "research/staged-release-retiming-t530/local-audit/receipts/native-extra/native/local/LOCAL-CHECKS.json", + "usage": "provenance", + "git_blob": "fffbfc2f9096d3d1fad0842f6b0898585a4e47b9", + "sha256": "11743473efa1822069303b49c62b1853af4236f46ef54b4778a27e2e70d79d06", + "pin": "head:6568db75adbb61437190545f6fef1534c70e91e5:research/staged-release-retiming-t530/local-audit/receipts/native-extra/native/local/LOCAL-CHECKS.json" + }, + { + "path": "research/staged-donor-release/evidence/native-base/LOCAL-CHECKS.json", + "usage": "provenance", + "git_blob": "39d91d34bc6115d89c8577e7a75ed59dbed4b3df", + "sha256": "7ff1aabbc1cab42fd4c045859071657dbccdeb398a52334b13f072f0731c87d5", + "pin": "head:431e6c6023ef352c41696469de7fb614cd4ded8c:research/staged-donor-release/evidence/native-base/LOCAL-CHECKS.json" + }, + { + "path": "research/staged-donor-release/evidence/native-extra/LOCAL-CHECKS.json", + "usage": "provenance", + "git_blob": "39d91d34bc6115d89c8577e7a75ed59dbed4b3df", + "sha256": "7ff1aabbc1cab42fd4c045859071657dbccdeb398a52334b13f072f0731c87d5", + "pin": "head:431e6c6023ef352c41696469de7fb614cd4ded8c:research/staged-donor-release/evidence/native-extra/LOCAL-CHECKS.json" + }, + { + "path": "research/staged-release-retiming-t530/PROOF.md", + "usage": "provenance", + "git_blob": "54ec7d1ab72fd639a35bc1aa7127d1eb33719f01", + "sha256": "bee5879b1f48a5a4efec30f75f2f8a348f1bd1eaf5ddf04f7d92a9cf1a904125", + "pin": "head:6568db75adbb61437190545f6fef1534c70e91e5:research/staged-release-retiming-t530/PROOF.md" + }, + { + "path": "research/retimed-t488-composition/README.md", + "usage": "provenance", + "git_blob": "f0f003474aa97ca112807829d281708795e0e228", + "sha256": "dac5a44abfe961bc86446a6ca6c3b6c76afe588d44c725911e7bd391b1c059b7", + "pin": "head:607a09ff441c79b215a8127a81f4cc70021d0d9b:research/retimed-t488-composition/README.md" + }, + { + "path": "research/staged-donor-release/PROOF.md", + "usage": "provenance", + "git_blob": "a9da712a7dd24194ab3fff64246adeba2bdf608d", + "sha256": "89ce2b0aa2dcf84ebcab04aedc451420815bc48af25c69998594910e9976a31b", + "pin": "head:431e6c6023ef352c41696469de7fb614cd4ded8c:research/staged-donor-release/PROOF.md" + }, { "path": "research/rank7-group-d-native-widths-audit/native.py", "usage": "provenance", diff --git a/research/staged-644-660-native-binding-audit/TASK.json b/research/staged-644-660-native-binding-audit/TASK.json index 887878f625..83a98ab278 100644 --- a/research/staged-644-660-native-binding-audit/TASK.json +++ b/research/staged-644-660-native-binding-audit/TASK.json @@ -46,33 +46,33 @@ ] }, "scope_status": "refined", - "actual_scope": "PR3605 (head 3efbb5de) staged helpers 644 and 660 only: bind their emitted native entering wrappers, climbs, FULL exit adapters and direct scalar clocks to the source words in both orientations and both providers, and check the shared span(429,30)->FULL width-7 residual and every climb recipe on all 512 Gaussian columns with Sagar Thakrar's separately written kernel (no bw_* code in the identity check). The parent PR3133 words through the same producer are the single-change control.", - "scope_change_reason": "The card's first experiment targets #2979, whose four rank-7 groups already have native residual audits (group A, #3411 group B, the group-C package, group D). The live #2979-descendant line (PR3605 and the consumers that reuse its STAGED words: #3624, #3626, #3630, #3633, #3638) changes exactly one native residual, the span(429,30) entrance of ordinary FULL helpers 644/660. PR3687 checked those words as free-operator identities and left the native phases of this entrance as its open question 1, asking for a check without the bw_* lineage code. This package answers that one question.", + "actual_scope": "PR3605 (head 3efbb5de) staged helpers 644 and 660 only: bind their emitted native entering wrappers, climbs, FULL exit adapters and direct scalar clocks to the source words in both orientations and both providers, and check the shared span(429,30)->FULL width-7 residual and every climb recipe on all 512 Gaussian columns with Sagar Thakrar's separately written kernel (no bw_* code in the identity check). The parent PR3133 words through the same producer are the single-change control. Extension: the same binding and kernel check on the consumer words that retime the 644/660 releases, RETIMED644-660 (#3642 head 6568db75, byte-identical in #3653 head 607a09ff) and DELAYED (#3682 head 431e6c60), with PR3605's STAGED words as the single-change control, each regenerated emission bound to the producing PR's recorded LOCAL-CHECKS receipt.", + "scope_change_reason": "The card's first experiment targets #2979, whose four rank-7 groups already have native residual audits (group A, #3411 group B, the group-C package, group D). The live #2979-descendant line (PR3605 and the consumers that reuse its STAGED words: #3624, #3626, #3630, #3633, #3638) changes exactly one native residual, the span(429,30) entrance of ordinary FULL helpers 644/660. PR3687 checked those words as free-operator identities and left the native phases of this entrance as its open question 1, asking for a check without the bw_* lineage code. This package answers that one question. The extension answers the package's own first open question: the retimed (#3642/#3653) and delayed (#3682) consumers use different words, so the check covers them only if those words keep the same native entrance.", "bottleneck_link": "The whole 8->7 width saving of PR3605 rests on the native wrapper identity for span(429,30), and every listed consumer inherits it. A width saving that the native residual does not realize would cancel the consumers' conditional gains.", "budget_minutes": 60, - "stop_rule": "Finish the finite native binding and separate-kernel identity for helpers 644/660 and the parent single-change control. No owner journal, release, consumer, retimed word, root or kappa work; stop at a source mismatch or a failed identity.", + "stop_rule": "Finish the finite native binding and separate-kernel identity for helpers 644/660 in the STAGED, RETIMED and DELAYED words, with the parent PR3133 and STAGED single-change controls. No owner journal, release, root or kappa work; record any changed entrance or recipe as a finding; stop at a source mismatch or a failed identity.", "outcome": "completed", - "evidence": "RESULT.json via verify.py: for both providers and both orientations, helpers 644/660 have one pre/post residual wrapper pair at frame span(429,30) with no terminal field, one new_to_old exit adapter at FULL, no private buffer, and climbs [2,1,2,1,1] / [2,2,1,1,1] summing to 7; all 17 direct scalar clocks per helper match the source word. The shared recipe (key 137) satisfies L*F_7*R = T_FULL*T_E^-1 (operator order, rightmost first) phase-exactly on all 512 columns under the separate kernel; the wrapped and inverse-transpose forms, which follow from it, are also evaluated. Ten distinct climb recipes also pass. The parent PR3133 words give width 8 with first climbs 3 instead of 2, every climb ending at the same frame; only 644/660 change entrance/terminal pairs. Serialized residual recipes go 56 -> 57; pair classes go 57 -> 58, counting the unwrapped cold class ([], FULL). Seven residual controls per provider are rejected: three at the all-column operator check (global phase, parent right-wrapper alias, wrong plane [429,18]) and four at the width check. test_verify.py: 6 tests; emitted-stream, recipe, word and pin corruptions are rejected. Local-only (not registered): the producer's own bw_adapters.py under Python 3.13.1 and numpy 2.2.2 writes a RESIDUAL-ADAPTERS.json whose LF-normalized bytes equal this package's reconstruction for both providers.", + "evidence": "RESULT.json via verify.py: for both providers and both orientations, helpers 644/660 have one pre/post residual wrapper pair at frame span(429,30) with no terminal field, one new_to_old exit adapter at FULL, no private buffer, and climbs [2,1,2,1,1] / [2,2,1,1,1] summing to 7; all 17 direct scalar clocks per helper match the source word. The shared recipe (key 137) satisfies L*F_7*R = T_FULL*T_E^-1 (operator order, rightmost first) phase-exactly on all 512 columns under the separate kernel; the wrapped and inverse-transpose forms, which follow from it, are also evaluated. Ten distinct climb recipes also pass. The parent PR3133 words give width 8 with first climbs 3 instead of 2, every climb ending at the same frame; only 644/660 change entrance/terminal pairs. Serialized residual recipes go 56 -> 57; pair classes go 57 -> 58, counting the unwrapped cold class ([], FULL). Seven residual controls per provider are rejected: three at the all-column operator check (global phase, parent right-wrapper alias, wrong plane [429,18]) and four at the width check. Consumers: for RETIMED644-660 (#3642, reused byte for byte by #3653) and DELAYED (#3682), both providers and both orientations, the LF-form regenerated LOCAL-CHECKS.json equals the producing PR's recorded receipt (11743473... and 7ff1aabb...); the reconstructed residual-adapter file equals the STAGED one (all 57 recipes and 72 warp records); no helper changes its entrance/terminal pair; 644/660 keep key 137, the span(429,30) wrapper pair, the FULL exit adapter and the STAGED climb frames and ranks, and the width-7 recipe passes the separate kernel; all 17 direct scalar clocks per helper match the consumer word, and binding the STAGED word to a consumer program is rejected. The first climb moves B1045->B592 and B1085->B642 (RETIMED) or B1045->B1043 and B1085->B1084 (DELAYED). Only donors 640/656 change climbs, [1,2,2,1,1,1] -> [3,2,1,1,1], and both merged climb recipes span(30)->span(423,65,20,10) and span(30)->span(427,96,24,6) pass the separate kernel. The LOCAL-CHECKS digest is now taken in LF form (bw_emit.py writes CRLF on Windows), which makes the receipt platform-independent. test_verify.py: 8 tests; emitted-stream, recipe, word, pin and consumer-comparison corruptions are rejected, each consumer corruption at its own check. Local-only (not registered): the producer's own bw_adapters.py under Python 3.13.1 and numpy 2.2.2 writes a RESIDUAL-ADAPTERS.json whose LF-normalized bytes equal this package's reconstruction for both providers.", "author": "Mainzu", "ai_assistance": "Substantial assistance from Claude Code (Anthropic, Claude Opus 5.5) for source search, the verifier and drafting; no independent human review is claimed.", "open_questions": [ - { - "question": "Do the retimed (#3642/#3653) and delayed (#3682) words keep the same span(429,30) entrance residual for 644/660, so that this check covers those consumers too?", - "why_it_matters": "Those consumers use different words than PR3605's STAGED words, so this package covers their native entrance only if the entrance/terminal pair and recipe are unchanged.", - "first_step": "Vendor the RETIMED644-660 and DELAYED words with provenance head pins and run native.provider() on each, with the STAGED words as the single-change control.", - "blocked_by": "Those words are on unmerged PR heads not fetched here; their retimed scalar chronology needs its own source-to-emission comparison." - }, { "question": "Do all 57 serialized residual recipes and all 72 warp records (240 emitted warp events) of the staged words pass the separate kernel, not only the changed recipe?", - "why_it_matters": "This package checks the one residual recipe that PR3605 changes; the other 56 are inherited from the PR3133 parent and rely on the bw_gauss lineage check or earlier group audits.", + "why_it_matters": "This package checks the one residual recipe that PR3605 changes; the other 56 are inherited from the PR3133 parent and rely on the bw_gauss lineage check or earlier group audits. The STAGED, RETIMED and DELAYED adapter files are identical, so one run covers all three word families.", "first_step": "Loop check_recipe over every key of the reconstructed adapter file and check each warp K record as a monomial identity with the same kernel; record the runtime.", - "blocked_by": "Not attempted in this session; it extends coverage rather than answering PR3687's open question." + "blocked_by": "Not attempted; it extends coverage rather than answering PR3687's open question." }, { "question": "Does the complete emitted 644/660 lane, including scalar macros and the warps of their partners, realize the free-operator identity phase-exactly under an independent simulator?", - "why_it_matters": "Correct wrapper and climb recipes do not by themselves prove that the emitted scalar macros between them are phase-exact; PR3605 checks that with the inherited bw_phases stage.", + "why_it_matters": "Correct wrapper and climb recipes do not by themselves prove that the emitted scalar macros between them are phase-exact; PR3605 checks that with the inherited bw_phases stage. For the consumers it would also check natively that the moved releases commute with the gates they cross, which this package binds only as emission clocks.", "first_step": "Simulate the emitted forward stream on basis inputs supported on the 644/660 lanes with the separate kernel's Gaussian state and compare with the free-operator endpoint from PR3687.", "blocked_by": "Needs an independent emitted-event interpreter for scalar macros and warps, which neither this package nor the group audits provide." + }, + { + "question": "Which open PRs carry 644/660 words that differ from the STAGED, RETIMED and DELAYED bytes checked here?", + "why_it_matters": "This package covers exactly six words (three families, two providers); a consumer that vendors further-edited words is not covered until it passes the same comparison.", + "first_step": "List the blob ids of *644-660*.json.gz and DELAYED-*.json.gz files across open PR heads with git ls-tree, and run the consumer comparison (common.CONSUMERS plus a pin) on any new bytes.", + "blocked_by": "Not attempted; only #3642, #3653 and #3682 were fetched for this extension." } ], "existing_checks": [ @@ -91,6 +91,21 @@ "head": "9f7813943b488d386407b1f4fdc1a3b2a8d39f84", "scope": "Fresh-bootstrap replay of PR3605's full wrapper; runs the inherited native chain, not an independent kernel." }, + { + "pr": 3642, + "head": "6568db75adbb61437190545f6fef1534c70e91e5", + "scope": "Author's RETIMED644-660 words, minimal commuting/frame proof, free-operator replay and two five-stage native runs with the inherited lineage chain; its recorded LOCAL-CHECKS receipt is bound here." + }, + { + "pr": 3653, + "head": "607a09ff441c79b215a8127a81f4cc70021d0d9b", + "scope": "Reuses #3642's RETIMED644-660 words byte for byte in its T488 composition; covered here through those bytes." + }, + { + "pr": 3682, + "head": "431e6c6023ef352c41696469de7fb614cd4ded8c", + "scope": "Author's DELAYED words, commuting argument and two five-stage native runs with the inherited lineage chain; its recorded LOCAL-CHECKS receipt is bound here." + }, { "package": "research/rank7-group-d-native-widths-audit", "scope": "Method and code adapted here (as are group A, #3411 group B and group C); its helpers and words are disjoint from 644/660 on the staged words." @@ -98,6 +113,9 @@ ], "dependency_heads": { "3605": "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb", + "3642": "6568db75adbb61437190545f6fef1534c70e91e5", + "3653": "607a09ff441c79b215a8127a81f4cc70021d0d9b", + "3682": "431e6c6023ef352c41696469de7fb614cd4ded8c", "3687": "f798838eb8ede4178e94f240e7b7e54b3f80c82d" }, "selection": { @@ -109,16 +127,18 @@ }, "unchecked_obligations": [ "Native phases of all other residual classes, warps and scalar macros under an independent kernel", - "Retimed and delayed consumer words", - "Owner journals, physical stock, prefix/precision/tape and the T740 or consumer releases", + "That the consumers' moved releases commute with the gates they cross (their authors' argument; bound here only as emission clocks)", + "Other climbs and residuals of the donors 640/656", + "644/660 words on PR heads other than #3605, #3642, #3653 and #3682", + "Owner journals, physical stock, prefix/precision/tape and the T740 or consumer (T530, T488, T360) releases and their kappa", "Inherited all-size compiler, analytic transfer and BIT hypotheses" ], "result_kind": "finite native/interface audit; no defect found in stated scope", "refresh_checkpoint": { - "at_utc": "2026-10-18T17:25:00Z", + "at_utc": "2026-10-18T18:40:00Z", "canonical_main": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", "priority_revision": 6, "selected_kappa": "0.001672660197076918", - "changes": "None since the previous checkpoint; open PRs through #3701 checked for overlap." + "changes": "None since the previous checkpoint (17:25 UTC, open PRs through #3701 checked for overlap); git ls-remote confirms main and the #3605, #3642, #3653, #3682 and #3687 heads are unchanged." } } diff --git a/research/staged-644-660-native-binding-audit/VERIFY.json b/research/staged-644-660-native-binding-audit/VERIFY.json index 36ee92ade9..7a1fb27966 100644 --- a/research/staged-644-660-native-binding-audit/VERIFY.json +++ b/research/staged-644-660-native-binding-audit/VERIFY.json @@ -19,7 +19,7 @@ "{package}/verify.py" ], "timeout_seconds": 600, - "checks": "Source-bound emitted 644/660 entering wrappers, climbs, FULL exit adapters and direct scalar clocks in both orientations and providers; separate-kernel all-512-column phase-exact width-7 residual and every climb; parent PR3133 single-change control; seven residual controls per provider." + "checks": "Source-bound emitted 644/660 entering wrappers, climbs, FULL exit adapters and direct scalar clocks in both orientations and providers; separate-kernel all-512-column phase-exact width-7 residual and every climb; parent PR3133 single-change control; seven residual controls per provider; the RETIMED644-660 (#3642/#3653) and DELAYED (#3682) consumer words against the STAGED control: recorded native receipts, identical residual adapters and entrance/terminal pairs, 644/660 bindings with the separate-kernel width-7 check, and donor-only merged climbs checked by the same kernel." }, { "argv": [ @@ -29,7 +29,7 @@ "-v" ], "timeout_seconds": 600, - "checks": "Emitted-stream, recipe and source-pin corruptions must be rejected through the main binding and kernel paths." + "checks": "Emitted-stream, recipe, source-pin and consumer-comparison corruptions must be rejected through the main binding and kernel paths, each consumer corruption at its own check." } ] } diff --git a/research/staged-644-660-native-binding-audit/common.py b/research/staged-644-660-native-binding-audit/common.py index e193c43927..7128671657 100644 --- a/research/staged-644-660-native-binding-audit/common.py +++ b/research/staged-644-660-native-binding-audit/common.py @@ -17,6 +17,25 @@ LOCAL = "research/staged-644-660-native-binding-audit/inputs/" SNAPSHOT = "research/staged-644-660-width-reduction/" PR3605 = "3efbb5de06a49ffeea6684482f2d3fe48cdca3fb" +PR3642 = "6568db75adbb61437190545f6fef1534c70e91e5" +PR3653 = "607a09ff441c79b215a8127a81f4cc70021d0d9b" +PR3682 = "431e6c6023ef352c41696469de7fb614cd4ded8c" +# Consumer words that retime the 644/660 releases: package copy stem -> the same +# bytes pinned at each PR head under its original path ({tag} is the provider). +CONSUMERS = { + "RETIMED644-660": { + PR3642: "research/staged-release-retiming-t530/local-audit/words/RETIMED644-660-{tag}.json.gz", + PR3653: "research/retimed-t488-composition/local-audit/words/RETIMED644-660-{tag}.json.gz"}, + "DELAYED": {PR3682: "research/staged-donor-release/lead1-words/DELAYED-{tag}.json.gz"}, +} +# LOCAL-CHECKS.json receipts recorded by each consumer's own native run. +RECEIPTS = { + "RETIMED644-660": {PR3642: "research/staged-release-retiming-t530/local-audit/receipts/" + "native-{tag}/native/local/LOCAL-CHECKS.json"}, + "DELAYED": {PR3682: "research/staged-donor-release/evidence/native-{tag}/LOCAL-CHECKS.json"}, +} +# The release donors whose climbs the consumer words merge. +DONORS = (640, 656) PARENT = "research/rank7-coupled-586-588-carrier-fold/edits/" ENGINE = "research/t74-native-fast/vendor/native/new/code/borrow/" COMPILER = ENGINE + "vendor/clifford/clifford_exact.py" @@ -65,14 +84,12 @@ def authenticate(root=ROOT): pins = {r["path"]: r["sha256"] for r in rows if r["usage"] == "input"} declared = set(decode((PACKAGE / "VERIFY.json").read_bytes())["inputs"]) require(set(pins) == declared and len(pins) <= 16, "exact live input inventory") - # Package-local copies of PR3605's words: their bytes must equal the - # provenance rows pinned at PR3605's head under the original path. + # Package-local copies of PR3605's and the consumers' words: their bytes must + # equal the provenance rows pinned at each PR head under the original path. for tag in PROVIDERS: - origin = SNAPSHOT + f"STAGED644-660-{tag}.json.gz" - row = [r for r in rows if r["path"] == origin] - require(len(row) == 1 and row[0]["usage"] == "provenance" and - row[0].get("pin") == f"head:{PR3605}:{origin}", "snapshot provenance pin") - pins[staged_name(tag)] = row[0]["sha256"] + pins[staged_name(tag)] = pinned(rows, PR3605, SNAPSHOT + f"STAGED644-660-{tag}.json.gz") + for stem in CONSUMERS: + pins[consumer_name(stem, tag)] = agreed(rows, CONSUMERS[stem], tag) blobs = {} for name, sha in pins.items(): path = root / name @@ -83,10 +100,34 @@ def authenticate(root=ROOT): return blobs +def pinned(rows, head, origin): + row = [r for r in rows if r["path"] == origin] + require(len(row) == 1 and row[0]["usage"] == "provenance" and + row[0].get("pin") == f"head:{head}:{origin}", "snapshot provenance pin") + return row[0]["sha256"] + + +def agreed(rows, origins, tag): + """One SHA-256 shared by every PR head that carries the same file.""" + shas = {pinned(rows, head, path.format(tag=tag)) for head, path in origins.items()} + require(len(shas) == 1, "identical bytes at every pinned PR head") + return shas.pop() + + +def recorded_receipts(): + rows = decode((PACKAGE / "SOURCES.json").read_bytes())["files"] + return {stem: {tag: agreed(rows, RECEIPTS[stem], tag) for tag in PROVIDERS} + for stem in CONSUMERS} + + def staged_name(tag): return LOCAL + f"STAGED644-660-{tag}.json.gz" +def consumer_name(stem, tag): + return LOCAL + f"{stem}-{tag}.json.gz" + + def parent_name(tag): return PARENT + f"FINAL-WORD-{tag}.json.gz" diff --git a/research/staged-644-660-native-binding-audit/inputs/DELAYED-base.json.gz b/research/staged-644-660-native-binding-audit/inputs/DELAYED-base.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..7ccd0962b89adb78e643689573333059262d27b7 GIT binary patch literal 72558 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

c^2e-a+VPhAq3>{xXm(b1#L+ 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 z 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

c^2e-a+VPhAq3>{xXm(b1#L+ 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

W1{2#&I4JvENAC0(zcgG^tq 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 V>ytT*LV(=pZ%O=Me@JD+{{j4OYux|< literal 0 HcmV?d00001 diff --git a/research/staged-644-660-native-binding-audit/inputs/RETIMED644-660-extra.json.gz b/research/staged-644-660-native-binding-audit/inputs/RETIMED644-660-extra.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..f3c580b06506e8888fe766c9a1e0bb1a748d7b74 GIT binary patch literal 72574 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

c^2e-a+VPhAq3>{xXm(b1#L+ z@i`Oqr{)|KT3{dMShqewZ;XHUoE>()32X<8R{H`cn-9FxaTXSOW}CbQ z6d;PO!JSRI+C1mOuhjct}^&}M9(c#ia z=d(SowIeE>{Kl%XRaR%zcSf3f@Dgnbt!zgIVm#Wyi*V~H6sY1yC;zzS{pOE0F`;_C z2dDm5B{3^gtE!#VjuHPb#sFl{j)*n*+t=3YzlqWRfaVj+D3C!ND_*VlbZM=f+_}}# z*L0yXV)+l}?_SZE^r%fQy#Q%Wz6P|PjQO|}BeOPb9j9*VW5rZf$tOCneJ`w@TeNDHL92e$S z6IUMdW%Tq3J`&&6Fzbw2Q#JH4TebTvh);W~B|^&NgBq=j&fyyDg!ZhK_E^@oimTP3 zOY+_{fzC;Sd#cV{tQD6Md8F$Se(InPM`>9Y9>NLEOm7YvOmKzCe7?`)kVE7s(5^}D z1$(8bRt|WF`&QG03~%|%+2nxcN!WXetm}!80^&-aCPT6JjX_0*UBjJ-x!3;`{ln^z z))RH?4EfX-kN!^|<llctRlijGA~m-w#!71g4|LUYbTvNOa3Vf@j4NVhI-6K zvf%W*b?Wa9nu3FjR{GG$Kb*Ji6?MMCx=>5HG?~?Jc(OkH_++gNmAo-v(-c!5Y$>FA zQ(%{FG3tG`Io>~UVx+HqsHbfixUMgxO6L|xtd9HDn+OSpppNfyL?!_zHX|C{%ewLW^G&6ci(3p{@=M*ueXol%Et4iG-5n5=wg8Zk;qUeFr8iz_3i+Qn% z`lAZRvMbEsU>G7A8aQk zWxch8_p|gV5gv`qy}rbfo_S9_yY6!P|9SZCneUSS^YE*A2gd%7hoATV^6>RKpOUWr zkB2Y6&VKtpB`>FgIK*CM$7w|Q~4ae2OR36LfP>Uh=)#Q#Uf zBmPgv=brB;Z;Vg6*sz-$v;sbC$%(6Q)Fac<5 zY;O{eCYIzHN5}`FpyRA)=Rs*6L32nSC7cQ55Ay^dlF z7oXoCycAQh0y~K^pI!_p=a;{1Q=DveOL4jC2fYEU!oPXG%rHLl>cMJuq-9sD`f%SP zw(UHg!t#&z&tG*2g@_ii%pMI;oN6>Mi9^@PRhKMU?ZlkfAGL9U|AlLl3Q9m(ZCN<& zK)A!@Zy|~qY*;M@q4kOuxpm>|p%yNwSYC^ucJ!MTx$$Mq>}1*A?#aKkcYnGfnJDvYoG)YbF3g@PSY&~`ssEAH^@R!<5q<#Q5N&(ltCE)QGk;9jY|m5 z$ltgF>3KFTn6_QP%|7cNxgwrZBbA)jcs9Y7=%Th&7%U!P3)mljb00{A)>-=Mp0s1x zsGr};LRM=%Z6SAgT#YXJe<%*VIdh}a;ac9LbQIbRKqE%$OqR}_1955eA1*2X!=*u4 zZ#Ch)Phd`|88-!RxODM7ZsT!-XKWAh(COmv=JXEJ(9U9UJWa{wel!{9WjDVOmGmtU zIp!T>0tCtwl&^A z5VfYX_tgiHq<50q^lj6&_b%6s*MaM&J=ETO9}n~GQnPapw^j#c5<=E!?u;7Xq~2gE z-_-4Ce&}1p43aZ#=_bOdUPyzikoIAPDwVB10Zacvi>6&Q;_7syD^eEX77XqERltt( zYg6ax>1#cYoCOX{$Uha&>#shuZr-nx;rb$f_WFMssiN7KBV^KZF|w$9D=LNGoChX{ z;{EyMf^z=i3#32OAJnN#KH%ogSX=f78Im}qsTnU1EYP>Ag1BVP_^1sRpC3}^e@k4N z@y1*bcHNo-pRg$?$CQpnVtRBkl7=VgW1?NK?p1^ynhY68$jO2xs05X|@GG)1;wIrm zZMPOHZ#h)?_wxr|>aGcQ9u=0#ZL<^By)Eh9n$809vD<@M6*B^COYnpEd=z}ufJ7fj zP*d*d=~3$(H`)GOp2d6?YUb~lg{z+uFd}`r(Fx0vq(4MbnY3^4t|`(DKi?_+e9^rT zcb+;3Wz1f*)eF(G;fOkC{g3|*c0#{5FHL+&qX`{zT4yi-asPx78Te}eJ}zpqwffZk zLtt;=*?iBS^Gl+v`=Hh>=0v?t@fHh;*&6uYhHLsX3$v$Y-2Lbmi5ADA90fKLBj_^I zG#U%5d0d6zwzT?sj7N`<;0N{}59At_G5EE>dA&)-g6S$k-`QYG#m`nvz@ptQWLjJ>sjh0GLU? zg1gn>RHU!ackdz@s(Cef!aO?Y)jG(xMXRpb*00wnjR5+PW93w9wf+LDdAg4+Z}{bT z#mYsTE8iBrZ*!urvn;qpR$V3`D7CE6Q$Fug`m0kkEY5CxUSbbk3I)6aKD&$*0d6m@ zNZ&N9eM8MWh4u_CEtWy-%X~$+kP;BCFm{s1h)c6aoU8S7Nc;6EOh%4%=$&N<8 zdd?x?6Q^hZcqGT&W3{u{na@RsUy5KdjkCFcJr)gFdF*@)_mVEp%)d9#KUcvakjTL38P?K!vv{ucejt#KI=bcZF(%91-Tek^=cFY|;MRXr`PHwf{G4jA1^>zWP5u{go?+%yQ`8=IUOr9^Ut~@}=KbL5BzgGH zV_MS`xhV|kd;)q*;=U%oJ|(2^il!+=?vdQi)w4LZEN4S=Db&TY$-@Q*=ru(uMeEeA+KPAD zSpn$AFA8fs4bEgSJTIC`9^MRD*BZ_fXxbE3Y3ru|D`&17ZTALUJl2#Y2b%XR{*F@3 z^6(lsnSL=0ifL7U4#1)}`Td=a>*F|li|=;`>pgvJI12JRNa`=vM4lIemlZ+DrfG}! zxZVkEiELsy&m?ZmMjuZu(^!-=X_V33Bl-~kkoSnv+a}AN|H8R3Q*`wqzdztEeHE3I z)6>-dmipeak`5D>hI-_O_@*7>^n-4P+vaY|qT^lGYL{IT1{cPG>dHwGU5p+oVP3#^ zLy=QlB5lu1@ip^KCUbMHHMUptq>Lp^zPNW~%8tavgxsac8y+<({T;HN(W}@Sb+rrX zI<8Us1f(FBYbtA&92PgaT$`H(r!!&jEwTRH{Kat0@oqosCQp z!M)66&1g0{6`AZO6inTs1wRQ7={MBBFEISMSYB>}xv>*z_CKLo9|%wEmcNJmv|3Eo z9h5^MJ&+URM3?^2(Esv!gTz|&y3M!cdEpOV>?G9xuhTmfIq5=%GzeN5VtZvNmVXxw zUZ72qnN(UCDd|F`A-PR7frAx}Y^-r58fbDafdw0o^+#_`+Q9D+#n-W%PV-t zuq*_+LciO_hJ{d+uQQX21gWdp^fMxIA@d^y=KL*#{y6Ov`6aVR8ifQMjJ9Ms?!Nk9 zh`y0W6~6p>LM`@kbaKGK^lMJ#h=vwqK&-mH!ueV(#qtJ!{5=s&Nr&$@b`{?IDI2XJ z>L;hzosD%`FP9QI)BLS}qTgH^DZpJlI&{GexTtXNvXbknVD_sQ8yuO?KFpvvWU52? zFLV4$7!#n*W=PI+5P&jOWFdzV;2AHy@`Kt1LGJI%&=iYWNKu#3!RoWl;buZR^(ZRP z=FcmglcGC%Lj8+d?j@)lKL}1_ODlqb8`n4as-}n|>f44O4C>+fKoAEJAR`m%L^N*Y@o#{uAU%kO2B~0zx z?%`qBXv)$*m-X{x1MnK&QV5W`Ypc9yqp#r^oH1Va&XVc%rTI*5*1&DQ%^M+q&61 zl|91TY@EslVwjIt`FNF&SNV9YJ7|;%ig$O+KOX8AKSj^bVv^F?HIlg#lDP~LgV`iY71s=$1Hy#q6fXtV<&Y?=bqaK zqHBVu4@!z@r=+}Zh$7FqPFwovY+6)XJ>Bc`aaDEx`H?oABGtwnt`?v1WxOjuh|sFm zcnTJeEz`2>d@C6vnx_AKb$weG6`|$4azzbIm|9jueP+ubL6Mj7R#2@F22ZbDQBTx@{t0Q z5w$lLM{()bm$nX2I)~izG`-XB>vG%US~5WtNP1Z<)<^u@*etyg;Oe|4%M)fxABMLo z3hgaL3x;3xeX~ymb5GYj-`D8mxAtg1k;@KWc97~VVbNdyDYEV{lKAdAL)osk@U<*x!t(3*7yheKjika(R|bt{zs0)L z_VeOXdQto4D*EEO1^szCR_+mNZo|}5`l(TQYmzrT+KZXAy-{B}G~}OGFDQnXx(82X z+q4hTA4;Sb1N9de?OB%ZYR3L8zPah7Js!%};@U0CDApgk(%9}6x_rp+fvY*}^sAKo z@zS~G?ZzdK;tS3-&mcb~Php!WP2XPfw{6WRF0C@{r&L1DP2agdw<1J$t_8F0gelWP z{(|=|wioUAGg3Q4a4E^*J4&&sp8L|u_(Ml(uR)xW--T>zn;UQUUQ*V&Y@VLI9K^Z4 zs>xcMuvErp0qoKCgk+3TB>QsZY@y4a<+(?LnmA?s5VG4&bi|0JZT0>=jcCX*ySuBG zW-n1@B1+UUbD|`r8N{(`w(r@H)hk46!^s(P^l~Uj{^fCR<3~EbnuHQ&tX0^R6UgWu z=1JH`?3sK2&{CRT?_J&H4qU5PD9r4dAGR%tqgmUiR$MgKH)^FrQ%?PP6hl9KXwQ+5 zn63CFJxDJk@~wI*7grr+qH?HRxoj(6jv*DiZq6O8iNlJXz1j+QS&B#*kYgWO?^~(Y zJT*n>2DW8+=KE)nyH`Nf?=X}ncX#4Tif!qr+=W1fMVB<(Xv40nL^)Y|84QV}Y&*Cr zWn`nv(&$Le&^LQgDY8;`UUi!;B^h|aRmV-hnLN$xb! zocb^d)U#e+Gz^*RwUn_Nb||<^ZCSz5usPN|IITOnLJ*-XEL;+EAhnzc*O}!zhsZ320gZ#9&kN@U zs~A^$ky0~Pnf549q0eqve} zrW{7;rjpYlGUI9Gkkf)xYfssSx(g6}edSy27HqH8dOyTrqmQqCtB@WWeK*V-w|({K zeRVeXMlTK7_9L^jd2>ypR<~PhMCmLV+wLd`n>Ts|6ceIa@y3Lr))O{CFCb0JTN8#9 zGzweFD-H!4r?M+u72{i^k#l)Vz}r;%h1QS#8g?zdK&m|So_8E^;z)OLh8tr1`*HJO zqpD4aXcr*&Hgt_{@QcHK!H@m*+Qwqs1o72)aES}-yxAyh`LOCBklfMbV_XhDaq8ftLij(X3TZ8Ey^V4hPk|)Z9g{3g@npXhd1&k zJ?~{D*`?{Q~ltl{_lkB(;2wP_L061siHs8th%ITa&Cr|!itZ~i@Rv!!e?%^h&O z$urUx!n^THVlyN(H)xk!gVvqb_%>?|>Dr-V3Yg5-Xttj)WEiK=bV#pb9>ViZFZ6DL zU(}B`AuL{Eq;Ba?Jm%C%I4emt@skM3{hs`uS{ty93quyL1Ob>%jOFuE$=v_{># zx3BD`L{DBVJi!rhkRXRwEBLqg3G{f5xeAuk=7ILLrcC>cxd&XgSTX!?OhUe6-AQ?K zmtwwSyV>27m5jQ6E~4UoS(iTTpD3`DzAYn{1(frRtI4!>8{F#{N3ZA?1>LM!Rf?l6 zg8E9Sp&vSww`u9*Uj^b|r4TCEUMBi@aCKbV&a{(nnq!sr<$bF-&8JoBTRD3oM?)s# zhg`kO^bt2|Odg|2$L1|;XSp?WP$hj^lP0$F(U*R&wxSd0Fik|AglwouJFuR;X8Yjf zd?KJ0jGK2GVDnBlA+6ZFW82tq%n|0_`^H4^BDCRg!Ks+B*0T|M7cwbe?|tn)V!V;66yt4kN#(gGqYYR;6*P zLDt@DC|s+Jx1-aUXfD1!ibzlpG_;5EqxDLfcxkgmf#~*AmnzZh77bm7 zUJo1O+V6rZ{kwD5QQp?~<=l0|pf1ZsE(=L<-7O3y!T~nhEh+(YE0XMRu_oG zxziYj6_U<=rBBhkyEW2W;E9Onag#CqfHgu0M&Zylh0%e=1xxANNN0<357oT(3upIQ_5B?rHRN{82njL`31 z-trWl3W0fYlP$P%_cjdqM%Rg{ZeZzWy)5x$zxf!o)#J%3?EC$MzZMn$em*r%MiU48 z_&H6DJTyOk|7Is5o8-?+w=BlVqOMJiv*pe5k_lIiR_pgwQA){jyn_;kZG%d3x8sl3 z=iU?}8}sC;=}m<5%~nIXVb0wIJ5k-a5w*)PW0g#@x?{oSY2&DcdlZTby=#OD!??EV z1cMVe&!C;Z5+`xrHStEW!W&IZ`GoiHFM)S6yljk1VxS^zEs{YE`8+&18m_6}T6MVA zsh;5KK%Ef0`}C54QU`NKFttFtjWWtG5>UXxjxvlwUZ({oWEctZkf1nE3G-$~a&4}Q zLrKEi6W#3p8dd>AL3rDW?bpMdomw$R z%VeCDP3U^bozUf`Fk=(f?C|bwgHlq4Q+;61lHbq*aXd!~I(Sw&uBn#hHfU7Ok&9@9 z#??zX%%BqrA5<=!CP{1S&|x~fjwDkf6kQo5k*&D#>Wmy3TAjkedZObC3N2Yk-cfLr z`5#S}PDB*<>1r_IkaU`RuDGLR)`vMO$p!b^@L05w{dm!1YJ~E!W7ta@?S>QG{OIpr z%zEL?!lujq?y_C<$nBd6{Aifd2Z;!{o}BF|?t|S(=Z>@(gTOyNv|kg*F-QJIMlNH- zzt!@k00%91W4JNU9^eg0CcZW_(NJJ7kIUw@4h$rh{k5zJVs$kmNhn?M?9@{i-+oD= zpJ4lS{?YS5L$yw$pTrqy=)O-J$6})C?)3mGr5i=Bo&{2|Vu%2&&yXv~kUt z>hB+6M@dNdb9hYM^>c;7eyNKl@*Ef%ARXId)J7kwqDxM3=*5UPN1Yz7*tvbW%hp1o z7l9Oz63*K;fi~l!gO^Kjs?E{;tag73nai~|amBrtm*g!WN$WUm3Ur}Fqfca5g5wZJu7+k-?81;;?g)hW;wv+9_rx*eSWZSR2jhsoHnB8wg< zB9*;957F3{h#?~kx~{8g-L>G|2h(tgGtPSi{oDh)7UnMygd8VL0V zDNxd(6*%FYfq!cLyRint`%q}LsW80#!Bv&p4|*lMIXPaGK*(?Mkhy=iGN3xcImkW# zs!BD9?w$-ncCwf^G58*yxiP-4?@V{Qm;!WuE+jBqiYB9?2XCf= z^!@J;iSwsqZIAa|*E+YHooWw+H#^|04;F}mA9PH5s}QiUmAai2cZRJ0}aB`)|$lev1!Tju}PH!V1J z2uaTBCIReR>*WmZFB{LJF=Jy~zoON2;op{>moX-;&0#yiX;h@({aXiB zZ-onA$Mrnkch7S@fQ!bs+(HRmB>}GOAj>Y4p+W*pm*S>!5w^ulTIvLa>4zMh*{$4! zgSR6QZ0eQXRz53=AiQ-XXvLn7oOji#_PlerJ#m`qIN03h1H8Y}+c8z5^DV9|w9;3b z$UjHF-o*#d94A)2SqO$bDnBYPS`BSQ{g@+tFYR9Zvi<&kbG{RP_>D48KhAJ^?)-a# z45Fp!r7+69b0TwlvSyCYyeFRX9iV;HWp*zWI0WBge@}2Wlg;I_?Jj&>*LO zWYHi$RW)q4D6-jNEzJ{igJuX|Qhc+;T-x14`uXcpVoyijcs`VJgJmQ<-@|EZkav#b z4;hp!>x)bX@=u?KD@T{YinxOCC@1tk(O52fWkqffXPSyzY}86N zY3rq+QeRdg*2Anm`DpuI9%}E64H^8NuawF;^W<+1siG7NN8bm9Jg$FuOsx9OYzS)98oDbYCQb18oQ80pA#^w5)|TTr}CGKPUeFGuUYDy zNK_yrOd`KNbKc!(g6Pc1$x&I}zJQc8Ro*<;RHvSNBaO1hef!lS=eM>C)dm0KR?Zsy>6-B3M0eWlw%`@3}~2ieDKc$^0y z&i`~~2=Nr#%R5nBP^OdPiGp{WDwWW(8Cuz{N_Zy~4{Mpr9GDaJS)SbDVWps5SXasA zUG>h1(sF=G@OIP1GPd#x?uEn4*Cf+F!KC+)2VMUP=Jk=&ipQ%Y|ExE$ZT-q0Lf z8VS~lA!*BF{*cAvOz?c-pbbX6e?S1Urh-zM%Wgttyps!xm(nIBWFgUjPj^5|+GrCSFl zW1N7H@3xR8=wje9c;yX)w~4-F*vp2)ws zj4BPC3*E6}X5W&z8d3a0WZ!JBmDDZaYr*XUk?RuOmh8;2=VtbOYuDxUAQ`{c*Uo=h zl#Hb^VG|{z!F})kXkjvz{=Gu0g~@2}+Ong^$#^$jHgPgiR!qA{8NI|8VogP$JD(sZ zL@()mAhNFuQ)$lEfi0PZ9W(!h=~CXg5zfd( z+59HLNm9*M%4ViCyz{j(+=G@-tVcLG(V}G)YY|RPjgncBfGMeL%8Z1<(FNE#m>gu} z@Kowa%9ex<=`|>&G(vpRv160gZ0weV`IKWPYuWQDTcudDRf;vohR>#vt3U0E@G1gL z0=0|6iwHDHHD7cD5ophZb{m1FPE7f=C<09*_h#AZ5opr9dy6ON5ol6f%b`~y&`*Y1 zec?vSgUh@8Gfs;-+9MG2-Sqp#%AdUTIzFkA_9X2g3YCHmgf+`e<@4P9( zh&w(M9NF=SACzK`9Uo&ive@%2at&VdH+t0rS(SxKRG{4*hSjJ=)dQBOg zlbUF}W?LQPg6xjJ{64XDAJ}@P`^46LQ(pYgi#u-i`@%MU>#YxQ|4U!wOG#<}OCL$- zW8DAJM<(E7`tVC1b*9~R7=P)bwK0tM8YbR6LB_)_-)|^!?v4Dx@6I33^ACPj)Ub@a z61*2UQ9XgkfyNz;Wtt@km0gPMCaKD*KANYI_`8`MEBbNB?j$Z-R-x>b6V0*X6wO8& zf75Jw<=@T5;^$cs%7^md=UI}?N5B1fmd4h{u={zIy3y_}=s(ZW_zkxg;Lo#`FIt?N zpJy%KrLfE2XX!26_o=S-^P~JJmEN-bLPpQzv|rQp#&Y)~z>;NjdzSVSneU^{OZnd- z|4W`9$S5-SrL~jE_B_8dMn6EcaHRfoJIN;N)0ny}@4w8yviJrhbb&%d+N#r?Nf2fVmX?+0&5@>>%`p@?tY9-U2# z{a_NxCf|^7)%7)>%oH0wI}$Dc8FossZ|w<<&#sX;*KGvp11yiM-3aOWs)1dU~X zQx)exu=uhR7U0R_E~;U{OpesosM8W4xNdXot~bH_2Yw?qiiv{KANZlzXr|hkQ}zSD zOdG{k3MD^KU_2JV8RS0D3$4y=htlFo`lln%CV8vmMxzh2^E%1Tcxz8xpY2h*B{@K5A@U& zlE+6k{zL%jJZGmo(_KqUp~3X^p%67MC32#4-sGk5u)pPll)Mzu_fVG$<)x6ay5d|o zFQs(lO}XH#Ov2zgu1kv2z4i+UxG3_9fOyy?530|&A@QXvIIGHOwp`XE*>xA#H8$-I zyvk+M2JIMIbyPK5i0+fVKmBRRLX_EB&V8cCfso)kG#*fE8YFi zWxgGiWyURS zeue-D5$;m*(@RW~Vy$spGrrS-y^F>J9Z<~L#z6v$3(WJK{qaE#tF=nK=uNPfG*5T; z2OHEy4d$)dveQ-K8mIGsWsx4pFMx$p*1+(fuCS#$Fx?wJeYp(zY8Krj3r6tgTTrsn zFlC7JH`kx}^4we>DDTMGRI~N=DQ6#q;lcv2vWJ_?OB%XN70mp~P@bI?z28n%nEQrn zNPU)qLNIQ8*Sg@E&2;JAmo%86uk|!%l|`=LT(7eDD)CGit+-tONb9D-r81qq*FjOc zMLU8#*r6^e{V+WK=BBF4a)!1Q^%BSu@>ExVQ&Yv$=PAt9M-9JE>%c^qiuB%3jES&+ z^uS)I8bg+M#%f81aiGptX1Yn)YNQU75tPgvuXD@Ek~!OUw$ye*CeI));{R_zWI z29RBAS&U`9tLG}XWG&`Ak8 zL_s^>cSsd8CGjMLt|i)gnEClt^d2CQ#j<-l@JZSv>Y52MxTqwvq78XM2VQ^;(@$

I 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

JNHqTNY7rUGb}6YzxTWQYCAF>)_#b8=T;O9( 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 its emitted [old, new, rank] climbs in stream order.""" + kept = [r for r in range(704) if r not in word["removed"]] + chains = {} + for event in stream: + if event[0] == "climb": + old, new = (canonical["frames"][f] for f in event[3:5]) + chains.setdefault(kept[event[2]], []).append([old, new, event[5]]) + return chains + + def recipe_classes(adapters): """Serialized residual recipes by literal entrance and terminal vectors.""" return {encoded([row["vectors"], row.get("terminal_vectors", FULL)]) @@ -268,13 +295,7 @@ def provider(blobs, tag, work, compiler, kernel, climb_recipes): if key not in residuals: residuals[key] = check_recipe(kernel, row, ENTRANCE, FULL) for climb in forward["climbs"]: - identity = encoded([climb["old"], climb["new"]]).decode().strip() - if identity not in climb_recipes: - op = compiler.canonical_frame(9, tuple(climb["old"])).adjoint().then( - compiler.canonical_frame(9, tuple(climb["new"]))) - candidate, _ = compiler.lower_child(op) - climb_recipes[identity] = check_recipe(kernel, decode(encoded(candidate)), - climb["old"], climb["new"])["rank"] + check_climb(compiler, kernel, climb["old"], climb["new"], climb_recipes) require(len(residuals) == 1, "one shared entering residual class") # Single-change control: the parent PR3133 word through the same producer. @@ -334,23 +355,89 @@ def provider(blobs, tag, work, compiler, kernel, climb_recipes): lambda: check_recipe(kernel, rec, WRONG_ENTRANCE, FULL), "wrong plane") controls["parent_recipe_at_new_entrance"] = reject( lambda: check_recipe(kernel, parent_recipe, ENTRANCE, FULL), "parent recipe") - return {"word_sha256": digest(raw), "parent_word_sha256": digest(raw_parent), - "local_checks_sha256": checks_sha, "parent_local_checks_sha256": parent_checks_sha, - "adapter_sha256": digest(encoded(adapters)), "bindings": bindings, - "residuals": residuals, "parent_bindings": parent_bindings, - "parent_residual": parent_check, "changed_helpers": changed, - "pair_classes": {"parent": len(classes_old), "staged": len(classes_new)}, - "residual_recipes": {"parent": len(recipes_old), "staged": len(recipes_new)}, - "warp_records": len(canonical["warps"]), + record = {"word_sha256": digest(raw), "parent_word_sha256": digest(raw_parent), + "local_checks_sha256": checks_sha, "parent_local_checks_sha256": parent_checks_sha, + "adapter_sha256": digest(encoded(adapters)), "bindings": bindings, + "residuals": residuals, "parent_bindings": parent_bindings, + "parent_residual": parent_check, "changed_helpers": changed, + "pair_classes": {"parent": len(classes_old), "staged": len(classes_new)}, + "residual_recipes": {"parent": len(recipes_old), "staged": len(recipes_new)}, + "warp_records": len(canonical["warps"]), + "controls": controls} + return record, (word, canonical, programs, adapters, bindings) + + +def consumer(blobs, stem, tag, work, compiler, kernel, donor_recipes, staged, receipt): + """Bind a consumer word that retimes the 644/660 releases; the STAGED word is the control.""" + raw = blobs[consumer_name(stem, tag)] + canonical, programs, checks_sha = generate(blobs, raw, work / stem) + require(checks_sha == receipt, "recorded consumer native receipt") + record = compare(staged, decode(raw, True), canonical, programs, compiler, kernel, donor_recipes) + return {"word_sha256": digest(raw), "local_checks_sha256": checks_sha, **record} + + +def compare(staged, word, canonical, programs, compiler, kernel, donor_recipes): + """Consumer emission against the STAGED control: entrance side, 644/660, donors.""" + s_word, s_canonical, s_programs, s_adapters, s_bindings = staged + # Entrance side: every serialized recipe and warp record, and every helper's + # entrance/terminal pair, equal the STAGED word's. + adapters = adapter_file(compiler, canonical) + require(adapters == s_adapters, "unchanged serialized residual adapters") + require(pair_inventory(canonical, word) == pair_inventory(s_canonical, s_word), + "unchanged entrance/terminal pairs") + frames = lambda row: [[c["old"], c["new"], c["rank"]] for c in row["climbs"]] + bindings, keys, ranks, clocks, scalars, controls = {}, {}, {}, {}, {}, {} + for h in HELPERS: + rows = {orientation: emitted_binding(word, canonical, stream, h, orientation == "backward") + for orientation, stream in programs.items()} + before, forward = s_bindings[str(h)]["forward"], rows["forward"] + require(forward["entrance"] == ENTRANCE and forward["recipe_key"] == before["recipe_key"] and + frames(forward) == frames(before) and + [c["rank"] for c in rows["backward"]["climbs"]] == [c["rank"] for c in forward["climbs"]], + "unchanged entrance, recipe key and climb frames") + ranks[str(h)] = check_recipe(kernel, adapters["recipes"][forward["recipe_key"]], + ENTRANCE, FULL)["rank"] + (old_scalars, old_climbs), (new_scalars, new_climbs) = (source_events(w, h) + for w in (s_word, word)) + clocks[str(h)] = {"staged": [c[:2] for c in old_climbs], "consumer": [c[:2] for c in new_climbs]} + scalars[str(h)] = sum(row not in old_scalars for row in new_scalars) + # The binding sees the retiming: the STAGED word does not describe this program. + controls[str(h)] = reject(lambda h=h: emitted_binding(s_word, canonical, programs["forward"], h), + "staged word on consumer program") + keys[str(h)] = forward["recipe_key"] + bindings[str(h)] = {orientation: digest(encoded(row)) for orientation, row in rows.items()} + # Only the two release donors change climbs: one direct climb replaces their first + # two (H1 + H2 -> H3), and the separate kernel checks that new climb recipe. + old, new = climb_chains(s_word, s_canonical, s_programs["forward"]), climb_chains( + word, canonical, programs["forward"]) + require(sorted(h for h in old.keys() | new.keys() if old.get(h) != new.get(h)) == list(DONORS), + "only the donors' climb chains change") + merged = {} + for h in DONORS: + before, after = old[h], new[h] + require([c[2] for c in before[:2]] == [1, 2] and after[1:] == before[2:] and + after[0] == [before[0][0], before[1][1], 3], "one merged donor climb") + merged[str(h)] = check_climb(compiler, kernel, after[0][0], after[0][1], donor_recipes) + return {"adapter_sha256": digest(encoded(adapters)), "binding_sha256": bindings, + "recipe_keys": keys, "residual_ranks": ranks, "climb_clocks": clocks, + "changed_scalar_clocks": scalars, + "donor_climb_ranks": {str(h): [[c[2] for c in old[h]], [c[2] for c in new[h]]] + for h in DONORS}, + "merged_donor_climbs": merged, "events": {o: len(p) for o, p in programs.items()}, "controls": controls} def audit(blobs, work): compiler = module(blobs[COMPILER], "staged_pair_source_compiler") kernel = module(blobs[KERNEL], "staged_pair_independent_kernel") - climb_recipes = {} - providers = {} - for tag in ("base", "extra"): + receipts = recorded_receipts() + climb_recipes, donor_recipes, providers, consumers = {}, {}, {}, {} + for tag in PROVIDERS: (work / tag).mkdir() - providers[tag] = provider(blobs, tag, work / tag, compiler, kernel, climb_recipes) - return {"providers": providers, "climb_recipes": climb_recipes} + providers[tag], staged = provider(blobs, tag, work / tag, compiler, kernel, climb_recipes) + for stem in CONSUMERS: + consumers.setdefault(stem, {})[tag] = consumer( + blobs, stem, tag, work / tag, compiler, kernel, donor_recipes, staged, + receipts[stem][tag]) + return {"providers": providers, "consumers": consumers, "climb_recipes": climb_recipes, + "donor_climb_recipes": donor_recipes} diff --git a/research/staged-644-660-native-binding-audit/test_verify.py b/research/staged-644-660-native-binding-audit/test_verify.py index 5d86aff36b..b4bc70b15a 100644 --- a/research/staged-644-660-native-binding-audit/test_verify.py +++ b/research/staged-644-660-native-binding-audit/test_verify.py @@ -16,8 +16,9 @@ sys.path.insert(0, str(HERE)) import native -from common import (ENTRANCE, FULL, KERNEL, PACKAGE, PARENT_ENTRANCE, ROOT, authenticate, - decode, module, staged_name) +from common import (COMPILER, DONORS, ENTRANCE, FULL, HELPERS, KERNEL, PACKAGE, + PARENT_ENTRANCE, ROOT, authenticate, consumer_name, decode, module, + recorded_receipts, staged_name) class BoundaryTests(unittest.TestCase): @@ -27,6 +28,7 @@ def setUpClass(cls): cls.result = decode((PACKAGE / "RESULT.json").read_bytes()) cls.row = cls.result["native"]["providers"]["base"] cls.kernel = module(cls.blobs[KERNEL], "staged_pair_test_kernel") + cls.compiler = module(cls.blobs[COMPILER], "staged_pair_test_compiler") cls.tmp = tempfile.TemporaryDirectory(prefix="staged-pair-tests-") raw = cls.blobs[staged_name("base")] cls.word = decode(raw, True) @@ -35,6 +37,11 @@ def setUpClass(cls): cls.r = cls.row["bindings"]["644"]["forward"]["compact_helper"] cls.recipe = cls.row["residuals"]["137"]["recipe"] cls.parent_recipe = cls.row["parent_residual"]["recipe"] + cls.adapters = native.adapter_file(cls.compiler, cls.canonical) + raw = cls.blobs[consumer_name("RETIMED644-660", "base")] + cls.retimed = decode(raw, True) + cls.retimed_canonical, cls.retimed_programs, cls.retimed_checks = native.generate( + cls.blobs, raw, Path(cls.tmp.name) / "retimed") @classmethod def tearDownClass(cls): @@ -46,9 +53,10 @@ def stream(self): def bind(self, stream, word=None, helper=644, backward=False): return native.emitted_binding(word or self.word, self.canonical, stream, helper, backward) - def assertRejects(self, action): - with self.assertRaises((ValueError, AssertionError)): + def assertRejects(self, action, message=""): + with self.assertRaises((ValueError, AssertionError)) as caught: action() + self.assertIn(message, str(caught.exception)) def index(self, stream, kind, *head): return next(i for i, e in enumerate(stream) @@ -116,6 +124,48 @@ def test_recipe_corruptions(self): # A different plane through the parent line 30 (430 is not in span(429,30)). self.assertRejects(lambda: check(self.recipe, [430, 30])) + def compare(self, adapters=None, canonical=None, forward=None): + bindings = {str(h): {"forward": self.bind(self.programs["forward"], helper=h)} + for h in HELPERS} + staged = (self.word, self.canonical, self.programs, adapters or self.adapters, bindings) + programs = dict(self.retimed_programs, forward=forward or self.retimed_programs["forward"]) + return native.compare(staged, self.retimed, canonical or self.retimed_canonical, + programs, self.compiler, self.kernel, {}) + + def test_consumer_positive_and_receipt(self): + row = self.result["native"]["consumers"]["RETIMED644-660"]["base"] + self.assertEqual(self.retimed_checks, recorded_receipts()["RETIMED644-660"]["base"]) + self.assertEqual(self.retimed_checks, row["local_checks_sha256"]) + self.assertEqual(self.compare(), {k: v for k, v in row.items() + if k not in ("word_sha256", "local_checks_sha256")}) + for h in HELPERS: # The retimed word does not describe the STAGED program either. + self.assertRejects(lambda: native.emitted_binding( + self.retimed, self.canonical, self.programs["forward"], h), + "source-to-emission direct scalar/climb clocks") + + def test_consumer_corruptions(self): + adapters = copy.deepcopy(self.adapters) + adapters["recipes"]["137"]["left"]["phase"] ^= 1 + self.assertRejects(lambda: self.compare(adapters=adapters), + "unchanged serialized residual adapters") + # Moving the span(429,30) entrance from 644 to its donor 640 keeps the recipe set. + canonical = copy.deepcopy(self.retimed_canonical) + kept = [r for r in range(704) if r not in self.retimed["removed"]] + a, b = kept.index(644), kept.index(DONORS[0]) + canonical["start"][a], canonical["start"][b] = canonical["start"][b], canonical["start"][a] + self.assertRejects(lambda: self.compare(canonical=canonical), + "unchanged entrance/terminal pairs") + # An extra changed climb chain outside the donors. + s = copy.deepcopy(self.retimed_programs["forward"]) + del s[next(i for i, e in enumerate(s) if e[0] == "climb" and + kept[e[2]] not in (*HELPERS, *DONORS))] + self.assertRejects(lambda: self.compare(forward=s), "only the donors' climb chains change") + # The donor stops at its old intermediate frame span(429,30) instead of one merged climb. + s = copy.deepcopy(self.retimed_programs["forward"]) + i = next(i for i, e in enumerate(s) if e[0] == "climb" and kept[e[2]] == DONORS[0]) + s[i][4:6] = [self.retimed_canonical["frames"].index(ENTRANCE), 1] + self.assertRejects(lambda: self.compare(forward=s), "one merged donor climb") + def test_source_pin_corruption(self): with tempfile.TemporaryDirectory(prefix="staged-pair-pins-") as work: root = Path(work) @@ -123,9 +173,11 @@ def test_source_pin_corruption(self): (root / name).parent.mkdir(parents=True, exist_ok=True) shutil.copyfile(ROOT / name, root / name) self.assertEqual(authenticate(root), self.blobs) - target = root / staged_name("extra") - raw = bytearray(target.read_bytes()); raw[-5] ^= 1; target.write_bytes(bytes(raw)) - self.assertRejects(lambda: authenticate(root)) + for target in (root / staged_name("extra"), root / consumer_name("DELAYED", "base")): + good = target.read_bytes() + raw = bytearray(good); raw[-5] ^= 1; target.write_bytes(bytes(raw)) + self.assertRejects(lambda: authenticate(root)) + target.write_bytes(good) if __name__ == "__main__": diff --git a/research/staged-644-660-native-binding-audit/verify.py b/research/staged-644-660-native-binding-audit/verify.py index 3b887d56df..acd73f10fa 100644 --- a/research/staged-644-660-native-binding-audit/verify.py +++ b/research/staged-644-660-native-binding-audit/verify.py @@ -11,7 +11,7 @@ sys.path.insert(0, str(HERE)) import native -from common import HELPERS, PACKAGE, authenticate, decode, require +from common import CONSUMERS, HELPERS, PACKAGE, authenticate, decode, require def compute(): @@ -34,6 +34,16 @@ def compute(): parent = row["parent_bindings"][str(h)]["climb_ranks"] require(sum(ranks) == 7 and sum(parent) == 8 and ranks[1:] == parent[1:] and ranks[0] + 1 == parent[0], "only the first native climb changes: " + tag) + require(list(record["consumers"]) == list(CONSUMERS), "consumer inventory") + for stem, rows in record["consumers"].items(): + for tag, row in rows.items(): + staged = record["providers"][tag] + keys = [row["recipe_keys"][str(h)] for h in HELPERS] + require(row["residual_ranks"] == {"644": 7, "660": 7} and + keys == [staged["bindings"][str(h)]["forward"]["recipe_key"] for h in HELPERS] and + row["adapter_sha256"] == staged["adapter_sha256"] and len(row["controls"]) == 2, + "consumer keeps the staged width-7 entrance residual: " + stem + " " + tag) + require(list(record["donor_climb_recipes"].values()) == [3, 3], "two merged donor climb recipes") require(authenticate() == blobs, "source stability during replay") return decode(json.dumps(result).encode()) @@ -42,7 +52,7 @@ def main(): require(sys.argv[1:] in ([], ["--emit"]), "usage: verify.py [--emit]") result = compute() if sys.argv[1:]: - print(json.dumps(result, indent=2, sort_keys=True)) + print(json.dumps(result, indent=1, sort_keys=True)) else: require(decode((PACKAGE / "RESULT.json").read_bytes()) == result, "deterministic receipt") base = result["native"]["providers"]["base"] @@ -51,7 +61,9 @@ def main(): + " providers=2 helpers=644,660 entrance=span(429,30) terminal=FULL" + f" residual_width=7 parent_width=8 shared_key={key}" + f" climb_recipes={len(result['native']['climb_recipes'])} recipes=56->57" - + " controls=7x2 single_change=2 both_orientations no_new_kappa") + + " controls=7x2 single_change=2 both_orientations no_new_kappa" + + " consumers=" + ",".join(CONSUMERS) + f" consumer_width=7 consumer_key={key}" + + " consumer_pair_changes=0 recorded_receipts=4 merged_donor_climbs=2") if __name__ == "__main__": From 226d5bfc75e09efdc8d33495bd40aed9e0a4e3ae Mon Sep 17 00:00:00 2001 From: Mainzu <107363567+Mainzu@users.noreply.github.com> Date: Mon, 19 Oct 2026 02:16:17 +0700 Subject: [PATCH 4/4] Correct four README/TASK statements after review of 72b4629 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 --- .../README.md | 21 ++++++++++++------- .../TASK.json | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/research/staged-644-660-native-binding-audit/README.md b/research/staged-644-660-native-binding-audit/README.md index 1f7066de62..876eee751e 100644 --- a/research/staged-644-660-native-binding-audit/README.md +++ b/research/staged-644-660-native-binding-audit/README.md @@ -50,8 +50,10 @@ single-change control. The answer is again **yes**: pair. - In both orientations, 644/660 keep the STAGED emitted structure: one wrapper pair at `[429,30]`, one `new_to_old` exit adapter at FULL, no private buffer, - and the STAGED climb frames and ranks. Only the clocks move, and all 17 - direct scalar clocks per helper match the consumer word. Binding the STAGED word to a + and the STAGED climb frames and ranks. Apart from the clocks, one thing + changes: the moved release that reads each helper (`640 += 2*644`, + `656 -= 660`) now runs at `Q` instead of `[429,30]`. All 17 direct scalar + clocks and frames per helper match the consumer word. Binding the STAGED word to a consumer program is rejected at the scalar/climb clock check. So the binding sees the retiming rather than passing for any word. - The first climb `span(429,30) -> Q` moves from B1045 to B592 (644) and from @@ -99,12 +101,14 @@ Fourier primitive on the first `w` axes, and `w = dim U - dim E`. Here 5. It runs each consumer word through the same producer and compares it with the STAGED word of the same provider. It requires the recorded `LOCAL-CHECKS` receipt, an identical residual-adapter file and identical entrance/terminal - pairs. For 644/660 it requires the same binding and recipe key with the - kernel check, and the STAGED climb frames. It also requires that only the + pairs. For 644/660 it requires the full source-to-emission binding against + the consumer word, the STAGED recipe key with the kernel check, and the + STAGED climb frames. It also requires that only the donors' climb chains change, each by one merged climb that the kernel checks. Binding the STAGED word to the consumer program must be rejected. -The words differ from the STAGED words only where #3642 and #3682 say: +The words differ from the STAGED words only where #3642 and #3682 say. This +is a local observation from diffing the words; `verify.py` does not compute it. - **RETIMED** swaps B591/B592 and B641/B642, and raises each moved release `640 += 2*644` and `656 -= 660` to `Q`. It regenerates the cleanup and the @@ -180,9 +184,10 @@ the `bw_gauss` kernel. `check_residual.py` checks the one changed `(E,U)` pair with the same kernel. What was missing, as PR3687 says, is a check that does not use that lineage. This package supplies one: the separate kernel for the identity, plus its own source-to-emission binding. The same holds for the -consumers. #3642 and #3682 each ran the five-stage native chain on their words, -as their `PROOF.md` files say, and those native checks use the same lineage -kernel. +consumers. #3642's pinned `PROOF.md` says its separate native runs check +ledger, wrapper, phase and warp contracts, and #3682's reports two five-stage +native runs. This package's regenerated `LOCAL-CHECKS` equal the receipts those +runs recorded. **Local-only cross-check (not part of the registered replay).** The producer's own `bw_adapters.py` needs numpy. Under Python 3.13.1 and numpy 2.2.2 (not diff --git a/research/staged-644-660-native-binding-audit/TASK.json b/research/staged-644-660-native-binding-audit/TASK.json index 83a98ab278..a1c106a255 100644 --- a/research/staged-644-660-native-binding-audit/TASK.json +++ b/research/staged-644-660-native-binding-audit/TASK.json @@ -94,7 +94,7 @@ { "pr": 3642, "head": "6568db75adbb61437190545f6fef1534c70e91e5", - "scope": "Author's RETIMED644-660 words, minimal commuting/frame proof, free-operator replay and two five-stage native runs with the inherited lineage chain; its recorded LOCAL-CHECKS receipt is bound here." + "scope": "Author's RETIMED644-660 words, minimal commuting/frame proof, free-operator replay and separate native runs that its PROOF.md says check ledger, wrapper, phase and warp contracts; its recorded LOCAL-CHECKS receipt is bound here." }, { "pr": 3653,