From ca5eead6afd871614ceb635679edbcc3d04b9d8c Mon Sep 17 00:00:00 2001 From: Marius-Paul Dumitrean Date: Thu, 15 Oct 2026 23:54:25 +0000 Subject: [PATCH] Certify cold-host cancellation and fixed-word restoration obstructions --- .../t74-cold-host-restoration/.gitattributes | 6 + .../t74-cold-host-restoration/MANIFEST.json | 213 + research/t74-cold-host-restoration/README.md | 113 + .../t74-cold-host-restoration/SOURCES.json | 18 + research/t74-cold-host-restoration/TASK.json | 265 + .../t74-cold-host-restoration/VERIFY.json | 20 + .../direct/EXPECTED.json | 1485 ++ .../t74-cold-host-restoration/direct/NOTES.md | 43 + .../t74-cold-host-restoration/direct/PROOF.md | 99 + .../direct/RESULT.json | 53 + .../direct/SOURCE-PINS.json | 1147 ++ .../direct/USED-inverse_prelude.py.txt | 95 + .../direct/WITNESSES.json.xz | Bin 0 -> 6880 bytes .../direct/WORD-PROVENANCE.json | 10586 ++++++++++ .../direct/engine.py | 315 + .../direct/parents.json.xz | Bin 0 -> 49404 bytes .../direct/reproduce.py | 70 + .../direct/verify.py | 6 + .../direct/words.json.xz | Bin 0 -> 99012 bytes .../hyperplanes/EXPECTED.json | 15884 ++++++++++++++++ .../hyperplanes/NOTES.md | 37 + .../hyperplanes/PINS.json | 6 + .../hyperplanes/base-b.json.gz | Bin 0 -> 72444 bytes .../hyperplanes/verify.py | 275 + .../operator/NOTES.md | 75 + .../t74-cold-host-restoration/operator/NOTICE | 23 + .../operator/SOURCE-PINS.json | 81 + .../operator/inputs/hosted-b-473-277.json.gz | Bin 0 -> 72486 bytes .../operator/inputs/hosted-e-473-277.json.gz | Bin 0 -> 72486 bytes .../operator/vendor/NOTICE-PR2679 | 10 + .../operator/vendor/NOTICE-PR2802 | 14 + .../operator/vendor/SOURCE-NOTICE-PR2802 | 14 + .../operator/vendor/audit_local_pr2679.py | 501 + .../operator/vendor/bw_transport_pr2745.py | 416 + .../operator/vendor/invoice_allcold_pr2745.py | 367 + .../operator/verify.py | 343 + .../pricing/CERTIFICATES.json | 1860 ++ .../pricing/NOTES.md | 67 + .../pricing/SOURCE-PINS.json | 99 + .../pricing/inputs/J-relax_host.py | 57 + .../pricing/inputs/J-relax_host7.py | 57 + .../pricing/inputs/PR2802-CLAIM.json | 49 + .../pricing/inputs/PR2802-OWNER-CHECK.json | 65 + .../pricing/inputs/PR2802-PROVIDERS.json | 842 + .../pricing/inputs/PR2802-SOURCE-NOTICE | 14 + .../pricing/inputs/PR2802-WORD-base.json.gz | Bin 0 -> 72444 bytes .../pricing/vendor/LICENSE | 201 + .../vendor/NOTICE-frame-domain-ceiling.md | 3 + .../vendor/SOURCES-frame-domain-ceiling.json | 136 + .../pricing/vendor/base_two_moment.py | 63 + .../pricing/verify.py | 12 + .../pricing/verify_budget_certificates.py | 246 + research/t74-cold-host-restoration/verify.py | 60 + 53 files changed, 36411 insertions(+) create mode 100644 research/t74-cold-host-restoration/.gitattributes create mode 100644 research/t74-cold-host-restoration/MANIFEST.json create mode 100644 research/t74-cold-host-restoration/README.md create mode 100644 research/t74-cold-host-restoration/SOURCES.json create mode 100644 research/t74-cold-host-restoration/TASK.json create mode 100644 research/t74-cold-host-restoration/VERIFY.json create mode 100644 research/t74-cold-host-restoration/direct/EXPECTED.json create mode 100644 research/t74-cold-host-restoration/direct/NOTES.md create mode 100644 research/t74-cold-host-restoration/direct/PROOF.md create mode 100644 research/t74-cold-host-restoration/direct/RESULT.json create mode 100644 research/t74-cold-host-restoration/direct/SOURCE-PINS.json create mode 100644 research/t74-cold-host-restoration/direct/USED-inverse_prelude.py.txt create mode 100644 research/t74-cold-host-restoration/direct/WITNESSES.json.xz create mode 100644 research/t74-cold-host-restoration/direct/WORD-PROVENANCE.json create mode 100644 research/t74-cold-host-restoration/direct/engine.py create mode 100644 research/t74-cold-host-restoration/direct/parents.json.xz create mode 100644 research/t74-cold-host-restoration/direct/reproduce.py create mode 100644 research/t74-cold-host-restoration/direct/verify.py create mode 100644 research/t74-cold-host-restoration/direct/words.json.xz create mode 100644 research/t74-cold-host-restoration/hyperplanes/EXPECTED.json create mode 100644 research/t74-cold-host-restoration/hyperplanes/NOTES.md create mode 100644 research/t74-cold-host-restoration/hyperplanes/PINS.json create mode 100644 research/t74-cold-host-restoration/hyperplanes/base-b.json.gz create mode 100644 research/t74-cold-host-restoration/hyperplanes/verify.py create mode 100644 research/t74-cold-host-restoration/operator/NOTES.md create mode 100644 research/t74-cold-host-restoration/operator/NOTICE create mode 100644 research/t74-cold-host-restoration/operator/SOURCE-PINS.json create mode 100644 research/t74-cold-host-restoration/operator/inputs/hosted-b-473-277.json.gz create mode 100644 research/t74-cold-host-restoration/operator/inputs/hosted-e-473-277.json.gz create mode 100644 research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2679 create mode 100644 research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2802 create mode 100644 research/t74-cold-host-restoration/operator/vendor/SOURCE-NOTICE-PR2802 create mode 100644 research/t74-cold-host-restoration/operator/vendor/audit_local_pr2679.py create mode 100644 research/t74-cold-host-restoration/operator/vendor/bw_transport_pr2745.py create mode 100644 research/t74-cold-host-restoration/operator/vendor/invoice_allcold_pr2745.py create mode 100644 research/t74-cold-host-restoration/operator/verify.py create mode 100644 research/t74-cold-host-restoration/pricing/CERTIFICATES.json create mode 100644 research/t74-cold-host-restoration/pricing/NOTES.md create mode 100644 research/t74-cold-host-restoration/pricing/SOURCE-PINS.json create mode 100644 research/t74-cold-host-restoration/pricing/inputs/J-relax_host.py create mode 100644 research/t74-cold-host-restoration/pricing/inputs/J-relax_host7.py create mode 100644 research/t74-cold-host-restoration/pricing/inputs/PR2802-CLAIM.json create mode 100644 research/t74-cold-host-restoration/pricing/inputs/PR2802-OWNER-CHECK.json create mode 100644 research/t74-cold-host-restoration/pricing/inputs/PR2802-PROVIDERS.json create mode 100644 research/t74-cold-host-restoration/pricing/inputs/PR2802-SOURCE-NOTICE create mode 100644 research/t74-cold-host-restoration/pricing/inputs/PR2802-WORD-base.json.gz create mode 100644 research/t74-cold-host-restoration/pricing/vendor/LICENSE create mode 100644 research/t74-cold-host-restoration/pricing/vendor/NOTICE-frame-domain-ceiling.md create mode 100644 research/t74-cold-host-restoration/pricing/vendor/SOURCES-frame-domain-ceiling.json create mode 100644 research/t74-cold-host-restoration/pricing/vendor/base_two_moment.py create mode 100644 research/t74-cold-host-restoration/pricing/verify.py create mode 100644 research/t74-cold-host-restoration/pricing/verify_budget_certificates.py create mode 100644 research/t74-cold-host-restoration/verify.py diff --git a/research/t74-cold-host-restoration/.gitattributes b/research/t74-cold-host-restoration/.gitattributes new file mode 100644 index 0000000000..22487a4fd6 --- /dev/null +++ b/research/t74-cold-host-restoration/.gitattributes @@ -0,0 +1,6 @@ +# Immutable consumed source bytes, including the auditor's original CRLF. +operator/vendor/** -text -whitespace +pricing/vendor/** -text -whitespace +pricing/inputs/** -text -whitespace +*.gz -text +*.xz -text diff --git a/research/t74-cold-host-restoration/MANIFEST.json b/research/t74-cold-host-restoration/MANIFEST.json new file mode 100644 index 0000000000..8fdc6b5ce8 --- /dev/null +++ b/research/t74-cold-host-restoration/MANIFEST.json @@ -0,0 +1,213 @@ +{ + "schema": "sha256-package-files-v1", + "files": { + ".gitattributes": { + "sha256": "3c1f880ba11ea3876c007312ffea0575ce9b1f2a58015b47fb45ee04a99d1788", + "bytes": 205 + }, + "README.md": { + "sha256": "ea2d85d8dda495b92c63b7822ab97835fb964f1e2c58a91b048547ca1bcaeeef", + "bytes": 6652 + }, + "SOURCES.json": { + "sha256": "6f212633c9173003c7f665dcb5be909725aef7e4d3feb76afa066a699b56ac32", + "bytes": 584 + }, + "TASK.json": { + "sha256": "5d1297a2014868c144ca33b736be4c0dcc01911b504dd2ef29efc5cc266523d3", + "bytes": 16734 + }, + "VERIFY.json": { + "sha256": "472ad592ce1e9bcf7fe2bff749aaf4ca9d44d1c8078af2e51d3fe174bb9eb4b9", + "bytes": 552 + }, + "direct/EXPECTED.json": { + "sha256": "c836afbe85cfc1f3ddd7e1a834d789505640500a1ccfcb23f6ebe3caa6ae0744", + "bytes": 42288 + }, + "direct/NOTES.md": { + "sha256": "41e08761c057a6d9240d1f79a81b854ee21009f59594959d1c1771417571467e", + "bytes": 2786 + }, + "direct/PROOF.md": { + "sha256": "c6d9d73adc2a0a17d5b6aada26807b44545fcf727dd93ad2c56665dfa63f41a6", + "bytes": 5951 + }, + "direct/RESULT.json": { + "sha256": "a5fde9919091a4b33f74f8d0841705bee39b9a90699e985de9a13b435e20a0ea", + "bytes": 2483 + }, + "direct/SOURCE-PINS.json": { + "sha256": "3e048a41defefac0547361c3ea12c3b5607766c7a93ba86b9eb9bca8570d9f20", + "bytes": 49866 + }, + "direct/USED-inverse_prelude.py.txt": { + "sha256": "a30f1566100419b0327f9468bc26804d59906f5cde8e4c54f13fc9c023977288", + "bytes": 4055 + }, + "direct/WITNESSES.json.xz": { + "sha256": "be3242f437cbf1eff09815d74d08a58fe39ee93b65c416bfe03e8c65403d39e3", + "bytes": 6880 + }, + "direct/WORD-PROVENANCE.json": { + "sha256": "968f55132651032e90dc360904ea60e3eff9176471cdbb6abad52f52f3adc746", + "bytes": 254089 + }, + "direct/engine.py": { + "sha256": "daf91bf5ac9d5fdc86a7fa554031655ebe652da61696a71e9ba6a37db259e676", + "bytes": 16107 + }, + "direct/parents.json.xz": { + "sha256": "1d8417378ea1d148b107f08aa1d37881e85e84887a97e53cd232985e3b4e955e", + "bytes": 49404 + }, + "direct/reproduce.py": { + "sha256": "8e8a4e63206237a8a848969b0e601dcf80e91641dd383640efd7e99829945913", + "bytes": 4778 + }, + "direct/verify.py": { + "sha256": "fa86b70cfd9913ac98a04226a479df4b806642b329d67c020df3fda0975cd149", + "bytes": 222 + }, + "direct/words.json.xz": { + "sha256": "9473129455218f91a58ee2e8b2de4474a94f57bc9b92f7f58474c366cbaf1b9a", + "bytes": 99012 + }, + "hyperplanes/EXPECTED.json": { + "sha256": "052b159346ec613a2f43c5bd99975c4bfa72e46407e5cb69f801bd5da50eaba8", + "bytes": 249160 + }, + "hyperplanes/NOTES.md": { + "sha256": "aa8291f8a92cdfea787d9ee825e3900e5a9011bf37fddd025542166d517c80e6", + "bytes": 2290 + }, + "hyperplanes/PINS.json": { + "sha256": "05f3fa64c1cf2fa3674a0bcb309ffbfa5392365315cc6beec1e6a23d9eca8f4b", + "bytes": 346 + }, + "hyperplanes/base-b.json.gz": { + "sha256": "3b6aadec4309badfa77054a5d9c0c9529216cc8f5d0d639bdb3b72cc43e490b1", + "bytes": 72444 + }, + "hyperplanes/verify.py": { + "sha256": "5e3946d9e42c593dd2813c59f7043e7c4b7d8eca11a129137abccd5f2eede665", + "bytes": 10845 + }, + "operator/NOTES.md": { + "sha256": "e7b257923c9ab2992c0840b14db8c7055ca179c1647d4e65519a5cc79ed6a978", + "bytes": 4673 + }, + "operator/NOTICE": { + "sha256": "3c733c9684db76609fa82b77565062556be9e712f153d6d58926294a52fd2b8d", + "bytes": 1351 + }, + "operator/SOURCE-PINS.json": { + "sha256": "e418bfb50633a20742ab3144d46500c2b234414dfd9df6c31738a8022e1ad796", + "bytes": 4974 + }, + "operator/inputs/hosted-b-473-277.json.gz": { + "sha256": "426bffd3ea874fd3f97ebcf731c43f1f576e8fba1dec8665294d7c1926df0389", + "bytes": 72486 + }, + "operator/inputs/hosted-e-473-277.json.gz": { + "sha256": "735051e082013ded857ab03aa4dee1ee4eabc3aeced2cc7490dcc88aba96cad8", + "bytes": 72486 + }, + "operator/vendor/NOTICE-PR2679": { + "sha256": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "bytes": 1439 + }, + "operator/vendor/NOTICE-PR2802": { + "sha256": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "bytes": 1192 + }, + "operator/vendor/SOURCE-NOTICE-PR2802": { + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "bytes": 2456 + }, + "operator/vendor/audit_local_pr2679.py": { + "sha256": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "bytes": 29363 + }, + "operator/vendor/bw_transport_pr2745.py": { + "sha256": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "bytes": 17646 + }, + "operator/vendor/invoice_allcold_pr2745.py": { + "sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "bytes": 24886 + }, + "operator/verify.py": { + "sha256": "1c29a0417f3d9ca637635ac0ec7d5b56484705b5e2eafbc5d04e14375fe3870d", + "bytes": 17763 + }, + "pricing/CERTIFICATES.json": { + "sha256": "8448a6136dd09c7f1da1e2a616a6f7059592d0c913f834bf5a926304e6899706", + "bytes": 71731 + }, + "pricing/NOTES.md": { + "sha256": "cb747e2c5534b1178d9e98e4e14beff9927cf680d33356107b11f38f399c647b", + "bytes": 6372 + }, + "pricing/SOURCE-PINS.json": { + "sha256": "0db68c1d68d25ef8a09263c766797af853832c9e77f553fa512cbde20c470f02", + "bytes": 6188 + }, + "pricing/inputs/J-relax_host.py": { + "sha256": "0b35a26665aa418d8c2356d816eb26a15d866ba01bdda842adca287d8e90645c", + "bytes": 3297 + }, + "pricing/inputs/J-relax_host7.py": { + "sha256": "a4389acb604b1df774a84545fac20a1179b15ab629d80f1bb0fa2528cf308ffa", + "bytes": 3345 + }, + "pricing/inputs/PR2802-CLAIM.json": { + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "bytes": 2443 + }, + "pricing/inputs/PR2802-OWNER-CHECK.json": { + "sha256": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "bytes": 1298 + }, + "pricing/inputs/PR2802-PROVIDERS.json": { + "sha256": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "bytes": 5180 + }, + "pricing/inputs/PR2802-SOURCE-NOTICE": { + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "bytes": 2456 + }, + "pricing/inputs/PR2802-WORD-base.json.gz": { + "sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "bytes": 72444 + }, + "pricing/vendor/LICENSE": { + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "bytes": 11357 + }, + "pricing/vendor/NOTICE-frame-domain-ceiling.md": { + "sha256": "1b01ebf560aaa89efedf7d7d4f1403ffb0442a02080387e5b3cc5905ab4c449d", + "bytes": 575 + }, + "pricing/vendor/SOURCES-frame-domain-ceiling.json": { + "sha256": "9c2d62d522b797f219c4d6753b68bdfa0e5d179dcd3dc9c5226d8b54be46df9a", + "bytes": 6343 + }, + "pricing/vendor/base_two_moment.py": { + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "bytes": 1742 + }, + "pricing/verify.py": { + "sha256": "38c2b095447604762542e54db6f38075bc34aaacadb9c848958cdce70ed0f5ad", + "bytes": 515 + }, + "pricing/verify_budget_certificates.py": { + "sha256": "16ca47e5cae27428fa2b73b4aa17983bb15fa68e8eb9f16ea9aa51d11ee0edfa", + "bytes": 14865 + }, + "verify.py": { + "sha256": "fdd0402571a3533a6d775dcb3aa480defa92a38436066d383c01f524c5f78252", + "bytes": 2625 + } + } +} diff --git a/research/t74-cold-host-restoration/README.md b/research/t74-cold-host-restoration/README.md new file mode 100644 index 0000000000..77be1bb87e --- /dev/null +++ b/research/t74-cold-host-restoration/README.md @@ -0,0 +1,113 @@ +# Cold-host restoration: cancellation works; direct undo hits target frames + +**No new κ claim.** This follows the open J-dim1 cold-host lead on +[`research/t74-r10-hosting-leads`](https://github.com/mdumitrean/integer-mult-bounds/tree/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d), +based on [PR2802](https://github.com/CrocSwap/integer-mult-bounds/pull/2802) at +`17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd`. Its conditional comparison value is +`0.001717794984118634663827 - 10^-46 - 10^-70`. The selected record remains +`0.001672660197076918`. + +The submission overlap check also found [PR2818](https://github.com/CrocSwap/integer-mult-bounds/pull/2818) +at `175822aee7a1858ec653f7f92d7a750aec2c2795`. Both literal words, fill, order +and dispatch match PR2802; it claims only a finer endpoint. This package keeps +its exact PR2802 comparison point. Its fixed-word obstruction is unaffected, +and increasing the comparison endpoint can only tighten the necessary cost +budgets. PR2818's high-precision endpoint was not independently certified here. + +J replaces an entering width-eight helper with a retired width-four cold host. +The realized merged host ends at width nine, which loses the prospective gain. +Keeping it cold at width seven or eight requires undoing the borrowed writes, +cancelling its warp, and paying the resulting frame and owner costs. + +## What this adds + +1. **A constructive operator cancellation.** On `473→277`, an inverse warp at + the zero entrance, one zero-frame prelude read, and an exact terminal undo + restore the original dirty input. Both orientations pass the unchanged + pinned algebra/frame auditor and semantic failure controls. The fixture + ends at FULL9: the pinned native transport rejects FULL-ended private + buffers, so this establishes an algebra/frame component only. +2. **A fixed-word recovery obstruction.** The 92 retained pairs in both + orientations give 184 words and 131,788 post-use insertion slots. No direct + recovery has a necessary rank below eight. The rank-eight slots compress to + 720 commuting classes; all 8,208 orders of their three/four contiguous + recovery additions are frame-infeasible. Every order has a target-port + end-frame collision, so widening another cold helper does not remove it. +3. **A changed-entry check.** All 31 rank-four hyperplanes for each of 32 + eligible first-write rank-five caps, with host 277 in the base orientation, + give 992 variants and 368,218 direct-recovery slots. Every variant needs + rank nine. An independent exact lattice replay reproduces the complete + histograms without the frame optimizer. +4. **Exact cost limits.** Rational continuous-pattern duals check every one of + the 1,163 patterns. They reject the width-nine/`−H3` ledger, even + allowing fractional allocation. Rank-mass-consistent ideal cold ledgers + have the small remaining net-cost budgets below. + +| Hypothetical cold host | Local delta per call | Numerical gain for stored pattern invoice | Exact upper bound on extra net cost per call | +|---|---|---:|---:| +| width 7, replacing `(4,8)` | `−H3−H2` | `+8.70325321e−7` | `<0.017959 H1` | +| width 8, replacing `(4,8)` | `−H3−H2+H1` | `+2.79896668e−7` | `<0.005786 H1` | + +These numerical gains concern feasible **pattern** invoices, not chronological +owner allocations or constructed words. The duals certify necessary cost +bounds and explicit rational upper caps. Every ledger preserves rank mass +4,816,512; restored variants retain 72 private buffers. Scalar gate count is +not the number of paid rank-one children. + +## Reproduction and evidence + +Python 3.12+, standard library only. Run from the repository root: + +```sh +python3 -B scripts/research_package.py --package research/t74-cold-host-restoration +``` + +The registered replay authenticates package bytes before executing the +independent direct/entry-frame checks, the literal cancellation construction +and unchanged auditor, and the rational pattern certificates. It uses temporary +outputs, isolates imported bytecode caches, and leaves committed evidence +unchanged. Commands and time limits are +in [VERIFY.json](VERIFY.json). Detailed scope and evidence are in +[direct/NOTES.md](direct/NOTES.md), [operator/NOTES.md](operator/NOTES.md), +[hyperplanes/NOTES.md](hyperplanes/NOTES.md), and [pricing/NOTES.md](pricing/NOTES.md). + +The research round allowed 80 cores across the primary agent and three parallel +agents, with disjoint affinities and single-threaded BLAS. The original searches +used the pinned NumPy/SciPy frame toolkit; certificate replay does not depend on +those solvers. Exact source and environment information accompanies the evidence. +The research started at canonical main `544a7e82810e30cab61c297cb2e2ea86127fe944`, +priority revision 5; the publication branch is based on +`cfddb8581e7e96d4f4cd9bfd279037014c8b296d`, with unchanged relevant guidance +and selected record. [TASK.json](TASK.json) records the complete cost ledger, +freshness checks and bounded stopping decision. + +## Open next questions + +The exclusion concerns **contiguous direct recovery additions** in the stated +words and interfaces. It is not a universal cold-host obstruction. Staged undo, +precomputed recovery combinations, different scalar circuits and changed +consumers remain open. The full-width cancellation fixture does not establish +a native supplier, and no new literal owner fill, complete cold replay or outer +admission is claimed. + +The next useful experiment is a small staged or changed-basis recovery for +`473→277` that avoids the target-port collision and stays within the exact +width-eight cost allowance. It must provide the actual paid profile before +further packing work. A successful sub-full cold word would then need native +replay, physical stock/precision checks, literal owners and the complete outer +ledger. These obligations and first steps are also listed in [TASK.json](TASK.json). + +## Credit + +J's hosting mechanism, source branch, and #2802 construction: Marius-Paul +Dumitrean with substantial Anthropic Claude assistance. This round adds +substantial OpenAI Codex assistance, including three parallel AI agents and a +separate integration replay; no independent human or proof-assistant review is +claimed. + +Retained lineage: tekuuu (#2751), DavidAriasC (#2766), mason-hale (#2696), +Cinna Davis / 1337isnot1337 (#2226), philippeVV (#2679), Jeremy Kothe / +jeremykothe2 (#2673/#2745), Vlado-V (#2322), Rohan Arun and the credited +T74/native/owner/outer sources. The #1186 frame toolkit is Marius-Paul +Dumitrean's earlier contribution. Frozen source notices and byte-exact source +pins are retained with the consumed inputs. Apache-2.0. diff --git a/research/t74-cold-host-restoration/SOURCES.json b/research/t74-cold-host-restoration/SOURCES.json new file mode 100644 index 0000000000..5b1dfb144b --- /dev/null +++ b/research/t74-cold-host-restoration/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "889b95d936746df124872133ae1e7cc339adcb92", + "sha256": "7d185cd8c2af35988d638d969748ad7b670f902606444dbfc748e4402c340df6" + } + ] +} diff --git a/research/t74-cold-host-restoration/TASK.json b/research/t74-cold-host-restoration/TASK.json new file mode 100644 index 0000000000..ced9e8896c --- /dev/null +++ b/research/t74-cold-host-restoration/TASK.json @@ -0,0 +1,265 @@ +{ + "schema_version": 1, + "task_id": "complex-new-helper-inventory", + "priority_revision": 5, + "base_commit": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "original_card": { + "id": "complex-new-helper-inventory", + "question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?", + "starting_points": [ + "docs/research/research-family-status.md", + "research/complex-local-word-ceiling/README.md", + "research/heterogeneous-owner-assembly/README.md", + "certificates/selected-result.json", + "research/selected-k8-unrestricted-ends/README.md" + ], + "methods": [ + "Propose a changed helper inventory and derive an optimistic exact moment.", + "Design a small completed instance and independently verify its endpoint and rank bill." + ], + "acceptance_gate": "A new physically realizable contract outside the frozen catalogue whose per-call profile, screened with ceiling.ceiling(), beats the selected word's packing ceiling; a lower cap does not establish identical circuitry or order attainable optima, and is insufficient to pass the stronger-budget target under this model. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin.", + "bottleneck_link": "Packing of the selected word is capped at +0.87% (ceiling model); only a lower local excess spend or a changed coverage law raises the cap.", + "allowed_variations": [ + "Narrow to one changed boundary or helper type with explicit counts.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Mixing only providers already inside the pinned catalogue.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013.", + "Continuing a partial cost improvement while leaving the same unpriced consumer, restoration or central-readout obligation unresolved; refresh the family expansion decision first. Local product-retiming evidence has a narrow scope and is not a ban on changed graphs or contracts." + ], + "overlap_terms": [ + "helper inventory", + "heterogeneous-owner", + "mutable leaver" + ] + }, + "scope_status": "refined", + "actual_scope": "Resolve the operator-cancellation obligation and test contiguous direct cold-host restoration on the pinned J hosted words, with exact fixed-inventory budgets. No new kappa or supplier admission.", + "scope_change_reason": "The user explicitly assigned the J cold-host lead on research/t74-r10-hosting-leads. Its favorable width-seven relaxation requires a missing restoration contract. The scientific comparison is pinned to PR2802; later endpoint-only refinements are recorded under freshness.", + "bottleneck_link": "Replacing widths(4,8) by a cold width7/8 host would reduce the local/idle moment, but the complete restore must fit both target-port frames and the small remaining net cost allowance.", + "budget_minutes": 60, + "stop_rule": "Stop after complete fixed-interface direct recovery and one terminal-cap pivot; keep a useful partial construction and scoped obstruction when no candidate passes. Do not widen this into an unchanged random search.", + "outcome": "negative-result", + "evidence": "operator/verify.py; direct/verify.py; hyperplanes/verify.py; pricing/verify.py, with authenticated source pins and finite certificates in each directory.", + "author": "Marius-Paul Dumitrean", + "ai_assistance": "Substantial OpenAI Codex assistance, with three parallel AI agents and primary-agent independent integration. No independent human or proof-assistant review.", + "open_questions": [ + { + "question": "Can a staged undo or a changed recovery basis avoid the target-port frame collision?", + "why_it_matters": "The current exclusion is for contiguous recovery additions in the fixed scalar word. A changed circuit could evade it.", + "first_step": "Start with 473→277, identify the required source contribution, and emit a frame-legal staged or precomputed recovery whose full local profile fits the exact width-eight budget.", + "blocked_by": "No such circuit, literal owner allocation or native/global admission has been constructed." + }, + { + "question": "Can operator cancellation be integrated with a legal sub-full cold buffer and complete native caller?", + "why_it_matters": "The algebra/frame fixture restores at FULL9, which the pinned native transport rejects; this is not an admitted supplier.", + "first_step": "Provide a profitable word with restored end rank ≤8, run pinned native replay, then rebuild literal owners and the outer ledger.", + "blocked_by": "The direct width8 family is frame-infeasible and width7 has a necessary rank obstruction." + } + ], + "research_round": { + "start_utc": "2026-10-15T23:12:58Z", + "core_cap": 80, + "maximum_active_agents": 4, + "upstream_main": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "scientific_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "scientific_base_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "comparison_kappa": "0.001717794984118634663827", + "selected_kappa": "0.001672660197076918", + "boundary": { + "consumer": "PR2802 native complex caller, literal owner fill and outer budget", + "target": "Replace one width4 cold host and width8 entering hostee by a restored width7 host, or a rigorously priced changed contract", + "fixed_inputs": "J base/stored hosted words, pinned auditor and rev3 frame toolkit", + "changed_premises": [ + "Exact backward recovery on hosted words, including operator inverse contract", + "Only explicit and priced interface modifications; frozen predecessor bytes retained" + ], + "excluded": "No selected-record change; no full multiplication theorem claim" + }, + "ledger": { + "proved": [ + "Stored width-nine words pass the local audit; the J relaxation also proposes a conditional local delta of −H3.", + "The exact rational dual excludes the width-nine/−H3 ledger at the pinned PR2802 endpoint.", + "The ideal width-seven/−H3−H2 ledger has less than 0.018 H1-equivalent net extra moment budget per call." + ], + "constructive_upper_bounds": [ + "Existing width9 hosted words; not profitable", + "Full-width scalar restoration known on unhosted laneI helpers; not width7 feasibility" + ], + "unknown": [ + "Rank7 end with legal scalar restoration", + "Free-operator cancellation", + "Paid frame profile after all restoration/inverse costs", + "Private buffer stock and literal owner allocation", + "Full native/global/outer admission" + ] + }, + "expansion_decision": "stop_fixed_contiguous_recovery_family", + "first_stage": { + "direct_slots": 131788, + "retained_pairs_both_orientations": 184, + "width8_slot_classes": 720, + "width8_gate_order_cases": 8208, + "width8_feasible": 0, + "changed_E_cases": 992, + "changed_E_minimum_ranks": { + "9": 992 + }, + "operator_cancellation": "Pinned algebra/frame auditor passes with full-end fixture; native forbids full-ended privatebuffers, so no admitted supplier." + }, + "pivot": { + "upstream_main": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "decision": "Check one cold-source terminal-cap change only if rank-neutral complete pricing retains positive optimistic headroom. If every feasible candidate loses, stop this round and preserve exact scoped closure.", + "changed_premise": "Previously all source ends were fixed; permit named source helper end promotion and pay inventory and all actual frame changes." + }, + "final_ledger": { + "proved": [ + "A legal inverse zero-frame prelude plus scalar correction restores register 277 at FULL9 under the pinned algebra/frame auditor in both orientations.", + "For 184 fixed words, all 131,788 direct slots exclude width seven; all 8,208 contiguous width-eight orders violate target-port end caps.", + "For 992 changed entries and 368,218 slots, direct recovery requires rank nine.", + "Exact rational duals for 1,163 patterns reject the conditional width-nine/−H3 ledger and bound width-seven/eight extra net moment budgets." + ], + "constructive_upper_bounds": [ + "Full-end algebra/frame cancellation fixture, rejected by pinned native transport. Formal event accounting: +62 real scalar primitives and +112 routing reserve units; not an admitted completed cost." + ], + "unknown": [ + "Staged or changed-basis recovery circuit fitting endrank≤8", + "Literal chronological owner allocation for any profitable cold-host variant", + "Complete native, physical stock/precision, global and outer admission" + ], + "decision": "stop this fixed contiguous-recovery family; reopen only on a changed scalar circuit/consumer with a complete priced local word" + }, + "result_status": "Research complete; packaging and publication verification follow.", + "research_findings_finalized_utc": "2026-10-15T23:49:46.027406+00:00" + }, + "freshness": { + "initial_check_utc": "2026-10-15T23:21:53Z", + "main": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "priority_revision": 5, + "open_pr_records": 722, + "discussion_records": 1463, + "complete_pagination": true, + "warnings": [], + "pivot_check_utc": "2026-10-15T23:29:43Z", + "pivot_main_unchanged": true, + "pivot_pr_records": 722, + "pivot_discussion_limitation": "Refresh connection failed; complete initial snapshot retained at23:21:53UTC.", + "overlap": "PR2802 is the scientific predecessor; PR2745/2767 related borrowing. No matching cold-host restoration package found in titles/bodies/discussion records. Code diffs and unpublished work not searched.", + "submission": { + "searched_at": "2026-10-15T23:43:40.710928+00:00", + "main": "3398fea3010aa27afb68fc98f264eb8426dad901", + "priority_revision": 5, + "coverage": { + "open_prs": { + "fetched_at": "2026-10-15T23:40:50.323741+00:00", + "complete_pagination": true, + "records": 705 + }, + "discussions": { + "fetched_at": "2026-10-15T23:43:40.538365+00:00", + "complete_pagination": true, + "records": 1466 + } + }, + "warnings": [], + "matches": [ + { + "number": 2745, + "head": "4f485de05544884fa0f2edf6063bb9259decad30", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2745" + }, + { + "number": 2767, + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2767" + }, + { + "number": 2818, + "head": "175822aee7a1858ec653f7f92d7a750aec2c2795", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2818" + }, + { + "number": 2802, + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2802" + } + ], + "source_branch_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_pr2802_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "compatibility": "Fast-forwarded publication branch to new canonical main. Guidance, selected record and package runner byte-identical; frozen scientific inputs retained.", + "local_self_matches": 2, + "latest_relevant_pr": { + "number": 2818, + "head": "175822aee7a1858ec653f7f92d7a750aec2c2795", + "finding": "Both full word JSON objects equal PR2802, including gates, warps, frames, corrections and cleanup. Fill and order bytes agree; dispatch JSON agrees. No new cold-host mechanism.", + "claimed_delta": "Approximately +2.29918e-25 from a finer endpoint certificate only.", + "not_checked": "The 3000-digit endpoint certificate and its full package-owned replay were not independently rerun.", + "decision": "Keep the immutable PR2802 scientific comparison and submit this distinct missing-interface result. The fixed-word obstruction is unchanged; a larger endpoint only tightens the necessary budget by monotonicity.", + "checked_at_utc": "2026-10-15T23:49:46.027406+00:00", + "package_manifest_sha256": "ee9c141a4e65c2c3769384bf4458c9d38007c7bd806ca6795c8c2b49a60fc484", + "compared_artifacts": [ + { + "pr2818_path": "research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz", + "pr2802_path": "research/t74-joint-twelve-retired7/inputs/WORD-base.json.gz", + "pr2818_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "pr2802_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "byte_identical": true, + "json_identical": true + }, + { + "pr2818_path": "research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz", + "pr2802_path": "research/t74-joint-twelve-retired7/inputs/WORD-extra.json.gz", + "pr2818_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "pr2802_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "byte_identical": true, + "json_identical": true + }, + { + "pr2818_path": "research/gmx-t74-borrow43-handoff/new/borrow-fill/FILL.json.gz", + "pr2802_path": "research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "pr2818_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "pr2802_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "byte_identical": true, + "json_identical": true + }, + { + "pr2818_path": "research/gmx-t74-borrow43-handoff/new/borrow-fill/ORDER.json", + "pr2802_path": "research/t74-joint-twelve-retired7/inputs/ORDER.json", + "pr2818_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "pr2802_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "byte_identical": true, + "json_identical": true + }, + { + "pr2818_path": "research/gmx-t74-borrow43-handoff/new/borrow-fill/DISPATCH.json", + "pr2802_path": "research/t74-joint-twelve-retired7/inputs/DISPATCH.json.gz", + "pr2818_sha256": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "pr2802_sha256": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "byte_identical": false, + "json_identical": true + } + ] + }, + "final_compatibility_check": { + "checked_at_utc": "2026-10-15T23:53:57.633480+00:00", + "main": "cfddb8581e7e96d4f4cd9bfd279037014c8b296d", + "priority_revision": 5, + "changed_upstream_scope": "Review ledger and reviewed research receipts only; relevant guidance, selected result, package runner and frozen inputs unchanged.", + "newest_pr_check": "Newest ten open PRs inspected after the complete snapshot. New PR2819 (E8), PR2820 (P104), PR2821 (BIT numerical lifetimes) have different scopes; PR2818 remains the latest overlapping construction claim.", + "publication_decision": "Fast-forwarded isolated publication branch; retain the immutable scientific baseline." + } + } + } +} diff --git a/research/t74-cold-host-restoration/VERIFY.json b/research/t74-cold-host-restoration/VERIFY.json new file mode 100644 index 0000000000..27e8101615 --- /dev/null +++ b/research/t74-cold-host-restoration/VERIFY.json @@ -0,0 +1,20 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py", + "--workers", + "4" + ], + "timeout_seconds": 600, + "checks": "Authenticated exact cold-host cancellation with semantic controls; independent direct recovery and frame propagation; complete changed-entry necessary-frame census; rational pattern duals and rank-mass checks. No native supplier or new kappa." + } + ] +} diff --git a/research/t74-cold-host-restoration/direct/EXPECTED.json b/research/t74-cold-host-restoration/direct/EXPECTED.json new file mode 100644 index 0000000000..d08b443d9a --- /dev/null +++ b/research/t74-cold-host-restoration/direct/EXPECTED.json @@ -0,0 +1,1485 @@ +{ + "scope": "184 fixed hosted words (92retainedpairs, bothorientations), retained warp/source/target/centre interfaces, post-last-read scalar recovery in current register basis. Rank7necessaryfloor exclusion; rank8contiguous recoveryblock, all720commuting-slotclasses and8208gateorders. No exclusion of staged recovery, new scalar bases, changed interfaces or arbitraryhosting.", + "cases": { + "b-472_277": { + "slots": 759, + "B_boundary_checks": 672, + "min_rank": 8, + "rows_sha256": "6f29209f91e37055730077c69f4d9ca27f6dad5625d457d2b34ffa50d42334b4", + "classes": 4, + "orders": 60 + }, + "b-472_282": { + "slots": 759, + "B_boundary_checks": 672, + "min_rank": 8, + "rows_sha256": "e77615e71665cac530593f6a58857fc9b0de832920f71a8b249309e5bbda435b", + "classes": 4, + "orders": 60 + }, + "b-473_277": { + "slots": 757, + "B_boundary_checks": 670, + "min_rank": 8, + "rows_sha256": "bd1c8ebd3cc2a2d0f38a44562b1b5941786a1e937ffc0c712fb9cbf90682764e", + "classes": 4, + "orders": 60 + }, + "b-473_282": { + "slots": 757, + "B_boundary_checks": 670, + "min_rank": 8, + "rows_sha256": "90bb214ede04ea1e8a39143981943f97f750a7ffb049529dda8ccaaa02412be8", + "classes": 4, + "orders": 60 + }, + "b-496_277": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "8161a6b64b0f647f849a5fa1af39c1dcfc14855e8b8144371d079f0e45ed16d5", + "classes": 4, + "orders": 60 + }, + "b-496_282": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "6ef0f9be2c37e5309a720115c2dd845dda6cbb89627035ee8bc0bd8511b1b3de", + "classes": 4, + "orders": 60 + }, + "b-496_293": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "fc20903c82ef21e879cac53eb9cafb597214ea5943ddbaebc0718f9b6aed39e1", + "classes": 4, + "orders": 60 + }, + "b-496_298": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "2f5fbc42a367cd9412bad2533e2a42a38539ef83cbc0c47d308c93677e4d94aa", + "classes": 4, + "orders": 60 + }, + "b-496_307": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "5179615776750c30e2ad439af148f96015b1751a0287c3ce6afdb65648caaadb", + "classes": 4, + "orders": 60 + }, + "b-496_309": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "6697c4a5f9c1ead90f6359b4cf3f06558dc68868496492ac839dabebea4028c8", + "classes": 4, + "orders": 60 + }, + "b-496_314": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "16c804c8c1d0f1a2fb03ec8c5e62ff7975f8b1b155875d74f227b7040e1f31e6", + "classes": 4, + "orders": 60 + }, + "b-497_277": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "1f331ef0f074a3a9f1edb1c07344a8297a5f5b5078e1730abcf76a73468f829d", + "classes": 4, + "orders": 60 + }, + "b-497_282": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "62fa2f19518f6ca4e297f13b04b3ad80276b0d65665596dacf749e01a52a64d8", + "classes": 4, + "orders": 60 + }, + "b-497_293": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "8bdeb175499396b9986d5dbbb58cd8e44fd421912a602ae140a2a98d2a0080f7", + "classes": 4, + "orders": 60 + }, + "b-497_298": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "2739dfb7520c875434614b411d56e235dd66a9b84ae1229933d132ca182fe2cd", + "classes": 4, + "orders": 60 + }, + "b-497_307": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "cb3fccbb6c39f636fb8043ff3ed13923f31a10d031100563e215642f503c55de", + "classes": 4, + "orders": 60 + }, + "b-497_309": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "c0176f9c0265babb25ab6ae0f8d712c6161af48f9af9be93becb047475554eb0", + "classes": 4, + "orders": 60 + }, + "b-497_314": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "4690df7077fb101ddd532610419c7ff49b4685db6e3371d2ba3df8c87c4ee37c", + "classes": 4, + "orders": 60 + }, + "b-520_277": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "c3709617ebbbd19fbfa9b8e6abb48646ae2751c79a6a9ee9c517f2ef3f3f16cb", + "classes": 4, + "orders": 42 + }, + "b-520_282": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "ed4e2949ed6098810ead506915f17a618248e5258335928c4fc9a4f6f4714eb1", + "classes": 4, + "orders": 42 + }, + "b-520_293": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "fa97ff5d970be06dd4d7bfbb8c83edd81dc1e444ca3fcb68a61ffaaeae4c2511", + "classes": 4, + "orders": 42 + }, + "b-520_298": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "750a7eb9cbc74ea898aaec51a96d0a3e377e1f898518a1e5a463b9bd4aa26989", + "classes": 4, + "orders": 42 + }, + "b-520_307": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "d1a4e5694a0c0085b70ab96173b2ab8b64e101be223773c57f6a00393fe463a1", + "classes": 4, + "orders": 42 + }, + "b-520_309": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "866ffb5d1d9d96127b67875e0fe1b59f873ce69d34ed3792e3b927144d8996a1", + "classes": 4, + "orders": 42 + }, + "b-520_314": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "152e9792d55100b8ae00120b8562403518f99142fa4d48d463a7827850eb6832", + "classes": 4, + "orders": 42 + }, + "b-520_323": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "7e211ed3ff4847e915677b0f82e3c0c7c8fac42ad50c88d75561ffb65725d051", + "classes": 4, + "orders": 42 + }, + "b-520_325": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "2f90cadb0ffb4f73eb6fa2fc2877b9f8d8a6106f898620789811f3606ff87a15", + "classes": 4, + "orders": 42 + }, + "b-520_330": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "1213ef497d4c666b48b2eba952526afa1892ae6715dec9cf7695f5c7bf99ee2f", + "classes": 4, + "orders": 42 + }, + "b-520_337": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "1735b240cdf70054770f00812be9dfc704ecf3bc6b10cf3b649b473f2029decb", + "classes": 4, + "orders": 42 + }, + "b-520_339": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "9ff09e5990908ca0f42a982d2835b0813ca6113d7ecc994f47e2572b29785bf7", + "classes": 4, + "orders": 42 + }, + "b-520_341": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "955d7b60d94b69bb95a4367c1db2103b4397011ff9ac1edb161e720a83f82783", + "classes": 4, + "orders": 42 + }, + "b-520_346": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "6aa833af47bb57e7981e30a6f249af56fdc24e8952ac8b904f9dab972d3e3b8d", + "classes": 4, + "orders": 42 + }, + "b-521_277": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "3a3d17c2d1ec8f6d92a174cd60c178ddaf2f3003cf04141f22e6632855467fe4", + "classes": 4, + "orders": 42 + }, + "b-521_282": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "5a84ded3d8433aec48c709fcdd9e86447ba7e0310acf9b9e912e7c345670da67", + "classes": 4, + "orders": 42 + }, + "b-521_293": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "40ab5349aaaf0d969aae0bc01f184a4b495a93d663c228d8edac3dad9d426c9c", + "classes": 4, + "orders": 42 + }, + "b-521_298": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "32d5578df9edc7aa3b0295b6592890bec28e95008f651f10b7b42de1fc394d87", + "classes": 4, + "orders": 42 + }, + "b-521_307": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "faa37a570b0c30118d77362f0305f11532ae0d8a2b840e2c3935a7ebba9ccd6a", + "classes": 4, + "orders": 42 + }, + "b-521_309": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "8aab94bcc6ebabcc42e90c4e9c670328141eab6b95ad90da6ec16a3971784549", + "classes": 4, + "orders": 42 + }, + "b-521_314": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "bc97f25945ee147ce0392f662f9058ab303286428f9d5f45a5c03ea305fabe91", + "classes": 4, + "orders": 42 + }, + "b-521_323": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "6b0fdd0b5d5860611864473019fac274e235e4c673b93282eb922bf70a19d515", + "classes": 4, + "orders": 42 + }, + "b-521_325": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "07a936a638a16142944428baf6aecca6599d1313fa34bfb42d873a4a43bd5545", + "classes": 4, + "orders": 42 + }, + "b-521_330": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "c716b67161d5091f5e32697ea814ee8c2b576636ee9471b663f5f7d5557ede37", + "classes": 4, + "orders": 42 + }, + "b-521_337": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "c50af65c1959400f63de5da30655d732bac202706870f07dcf5e5560ca125bca", + "classes": 4, + "orders": 42 + }, + "b-521_339": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "b673c77890a0533587b6bf05b9c0ffdd2949c859a49da6aa72d31c1a5b4cdbdf", + "classes": 4, + "orders": 42 + }, + "b-521_341": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "3b5858ad28433c244c0e9e2934924fb29831fcbea08260e9661ec0cc50a5d20b", + "classes": 4, + "orders": 42 + }, + "b-521_346": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "2308b5e6469c4b983cd2a809a0b92d76c7725ccc92ff8afb58d333a7632fb178", + "classes": 4, + "orders": 42 + }, + "b-544_277": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "45d3ac04b562b1405fb2ed466914f03473069ef66ba863eb19ca60a4c7ff7f6a", + "classes": 4, + "orders": 42 + }, + "b-544_282": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "be32c2e1204bca7de8b4771257a4672ea17e833b2882dcacc6eb393002c668bc", + "classes": 4, + "orders": 42 + }, + "b-544_293": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a2cdd700dedd41493f2ae89296cc45ad8ece123c208f7d618fb368d33da882db", + "classes": 4, + "orders": 42 + }, + "b-544_298": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "7dd0feb87fd63bef92a31c36a14f453df12762e13f13babbf8c12adcac6b057a", + "classes": 4, + "orders": 42 + }, + "b-544_307": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a6d7607c6577ae41e01d0c1f7163508f5726114db96855ad82f95ca03ef8256a", + "classes": 4, + "orders": 42 + }, + "b-544_309": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a5c5917a2f28660deb02978662f7f3dc92ffedffb046211b8f156ccce600d778", + "classes": 4, + "orders": 42 + }, + "b-544_314": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "15fd5ff60dfd6b43820d6b99a30fed0c9faed44608357f2fd04362022423623a", + "classes": 4, + "orders": 42 + }, + "b-544_323": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "4bc74b3931342502def98c62473590f0451cdc4e5b0beb0591b61c8820246c4c", + "classes": 4, + "orders": 42 + }, + "b-544_325": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "eb6cde849c4a9be0296489e343c542bf979d751173bfa29e84704b438580841b", + "classes": 4, + "orders": 42 + }, + "b-544_330": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "c1b2a8f9b30dee5ac2ff15e6e687539aef4ef3c57a69d2b2e97aee2c0d42fc86", + "classes": 4, + "orders": 42 + }, + "b-544_337": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "676d8672aab9f64e1b1575a6976b2b05d3043eea0ea7f0d3877c8f8313b4f444", + "classes": 4, + "orders": 42 + }, + "b-544_339": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "d263d19874ee297ae10774ce4559408007fc6717b74b5916bb62e5ab64f45ade", + "classes": 4, + "orders": 42 + }, + "b-544_341": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "71ae112882650b985dac1172e2473cc0b78404844d1accb68843c2fc4c1c0908", + "classes": 4, + "orders": 42 + }, + "b-544_346": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "1e1cef853d528ee6bf855366dfa318b6b20578c1f2bb0804e6e183020177b659", + "classes": 4, + "orders": 42 + }, + "b-544_353": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "9f6adc25ef45a79f39af4780a6c86dddcb4678ccad5105edf5b28a5e7b9252fd", + "classes": 4, + "orders": 42 + }, + "b-544_355": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "3cba33fa0287ca0b62b3ffafcd51ccc66240ea8708856685655c7ab1be26e1d1", + "classes": 4, + "orders": 42 + }, + "b-544_357": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "8ef9eb366788ce58f8820fabc41852612cab95a3613cdc67f3d4b91f6019de64", + "classes": 4, + "orders": 42 + }, + "b-544_362": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "62470fd45c11238ebadcd1e0806582bbdeb603d0597f44a8f474c7d5651f7770", + "classes": 4, + "orders": 42 + }, + "b-544_369": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "c6b817cc2eab14932e79a361ec1921117807667c1e67a686af225138da75a648", + "classes": 4, + "orders": 42 + }, + "b-544_371": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "023b99ead3f565eab8e2d45dd7e0be416e17f7728ef89371af2eff98674b63cb", + "classes": 4, + "orders": 42 + }, + "b-544_373": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "bcf63e158f17a22df9a19829ee249cef96e2f699239bc9744bb79b9834391799", + "classes": 4, + "orders": 42 + }, + "b-544_378": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "aed8fca000e7f55aae5bde02ae7e92ad9e2d05c8bb19cc9074f010c26ae516a3", + "classes": 4, + "orders": 42 + }, + "b-545_277": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "5d30e4fe053585e59538ebee0b89ad23a08a4d88c2a0dfd58981e25d42c963d7", + "classes": 4, + "orders": 42 + }, + "b-545_282": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "5e8f438a119c14bcea51445e900b47c78880d5a1b08782c9d91b408078a3c917", + "classes": 4, + "orders": 42 + }, + "b-545_293": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "555c4170cb287d554aff39b7b90c4ba8dc8c59a862fd5bff3b2c43905d540cef", + "classes": 4, + "orders": 42 + }, + "b-545_298": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "8166deafad5b915cdefe2defdfe7c962b765f2b97ff71511a2d8328fccb72ddd", + "classes": 4, + "orders": 42 + }, + "b-545_307": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "4739e395598538193e7c7b2aad351114d091e7849d1d64f4da24c307b408b006", + "classes": 4, + "orders": 42 + }, + "b-545_309": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "50d71d32826c0b08264e1573a3290241c03e9a145499f1a5081a00919527674b", + "classes": 4, + "orders": 42 + }, + "b-545_314": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "86c9e70c3e29098ea45b7c60ec21638f6be3923281a7262595404bac519208a8", + "classes": 4, + "orders": 42 + }, + "b-545_323": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "8bcfa461f1dde00f664f374a2af37b2f94213e16611b18faa0dda95a51d8c84c", + "classes": 4, + "orders": 42 + }, + "b-545_325": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "eaf03e93518ecd91df1e7b4eb554aa7d420c6d942234f5062280a3fd66776bd4", + "classes": 4, + "orders": 42 + }, + "b-545_330": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "0189223e12b665dd51737c3f3a57d44fb3f5cdec5dc07f6d3829ece2dfe900ac", + "classes": 4, + "orders": 42 + }, + "b-545_337": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "2acc6d8fa765f0692dfa24a1b6a00337adb8c3a9a42c7e089b857889712df9a0", + "classes": 4, + "orders": 42 + }, + "b-545_339": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "155adba396eecc5542b91ed990e8b7402e3b03f4edb4fbc2f6408df4b6396a02", + "classes": 4, + "orders": 42 + }, + "b-545_341": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "2c7cc95ad463c72ea9887bf828e7d92fc538e18c05853f9209539dbb0678e718", + "classes": 4, + "orders": 42 + }, + "b-545_346": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "61b44d5dbb0d6b8e55a2c8c3410405e445ccc653c23b98e071a2ebf95943a519", + "classes": 4, + "orders": 42 + }, + "b-545_353": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "54dfa15ba46d7dd975a3ae38a973a84da0fc7311cdcfa7550141680edc016c68", + "classes": 4, + "orders": 42 + }, + "b-545_355": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "675897c9f99fc4a827fe8b43480d24e30914dbcff0ad34fc5a94af654fe91115", + "classes": 4, + "orders": 42 + }, + "b-545_357": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "be6fd5f4e3cb3bb0ea41032ce4840b2dcb90744c7bef89e30af02b2d5e1560be", + "classes": 4, + "orders": 42 + }, + "b-545_362": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "70fc964112b870394f5a23959cc7d3b1f60094c6211efb21f9ac048e5a560019", + "classes": 4, + "orders": 42 + }, + "b-545_369": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "413bd52be9bfc0a3db0feb7f0b4ff08a253a8f58f2d26f076566900d6bf8f678", + "classes": 4, + "orders": 42 + }, + "b-545_371": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "511430b37907edee31fa92f1f2568f1cdb47a4388d49c50696a746e01d4810ba", + "classes": 4, + "orders": 42 + }, + "b-545_373": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "142b110a687762bac5c2db3dea82fd816337112fe73a92d39a4a3bb0ad397917", + "classes": 4, + "orders": 42 + }, + "b-545_378": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "20141491946efaeb63354cd748209e44011128044b0faf99e646f9715d2683e2", + "classes": 4, + "orders": 42 + }, + "b-592_277": { + "slots": 517, + "B_boundary_checks": 430, + "min_rank": 9, + "rows_sha256": "a0cf981237b825ccbf2d13bbfb7b0c5fdbe582d6fae1452cc3e432335cf00b49", + "classes": 0, + "orders": 0 + }, + "b-624_277": { + "slots": 389, + "B_boundary_checks": 302, + "min_rank": 9, + "rows_sha256": "d6b77f9c8bca526e01c2fbccd9612beff845d7c532faf81b0216b7c68ee30633", + "classes": 0, + "orders": 0 + }, + "e-472_277": { + "slots": 759, + "B_boundary_checks": 672, + "min_rank": 8, + "rows_sha256": "6f29209f91e37055730077c69f4d9ca27f6dad5625d457d2b34ffa50d42334b4", + "classes": 4, + "orders": 60 + }, + "e-472_282": { + "slots": 759, + "B_boundary_checks": 672, + "min_rank": 8, + "rows_sha256": "e77615e71665cac530593f6a58857fc9b0de832920f71a8b249309e5bbda435b", + "classes": 4, + "orders": 60 + }, + "e-473_277": { + "slots": 757, + "B_boundary_checks": 670, + "min_rank": 8, + "rows_sha256": "bd1c8ebd3cc2a2d0f38a44562b1b5941786a1e937ffc0c712fb9cbf90682764e", + "classes": 4, + "orders": 60 + }, + "e-473_282": { + "slots": 757, + "B_boundary_checks": 670, + "min_rank": 8, + "rows_sha256": "90bb214ede04ea1e8a39143981943f97f750a7ffb049529dda8ccaaa02412be8", + "classes": 4, + "orders": 60 + }, + "e-496_277": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "8161a6b64b0f647f849a5fa1af39c1dcfc14855e8b8144371d079f0e45ed16d5", + "classes": 4, + "orders": 60 + }, + "e-496_282": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "6ef0f9be2c37e5309a720115c2dd845dda6cbb89627035ee8bc0bd8511b1b3de", + "classes": 4, + "orders": 60 + }, + "e-496_293": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "fc20903c82ef21e879cac53eb9cafb597214ea5943ddbaebc0718f9b6aed39e1", + "classes": 4, + "orders": 60 + }, + "e-496_298": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "2f5fbc42a367cd9412bad2533e2a42a38539ef83cbc0c47d308c93677e4d94aa", + "classes": 4, + "orders": 60 + }, + "e-496_307": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "5179615776750c30e2ad439af148f96015b1751a0287c3ce6afdb65648caaadb", + "classes": 4, + "orders": 60 + }, + "e-496_309": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "6697c4a5f9c1ead90f6359b4cf3f06558dc68868496492ac839dabebea4028c8", + "classes": 4, + "orders": 60 + }, + "e-496_314": { + "slots": 743, + "B_boundary_checks": 656, + "min_rank": 8, + "rows_sha256": "16c804c8c1d0f1a2fb03ec8c5e62ff7975f8b1b155875d74f227b7040e1f31e6", + "classes": 4, + "orders": 60 + }, + "e-497_277": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "1f331ef0f074a3a9f1edb1c07344a8297a5f5b5078e1730abcf76a73468f829d", + "classes": 4, + "orders": 60 + }, + "e-497_282": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "62fa2f19518f6ca4e297f13b04b3ad80276b0d65665596dacf749e01a52a64d8", + "classes": 4, + "orders": 60 + }, + "e-497_293": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "8bdeb175499396b9986d5dbbb58cd8e44fd421912a602ae140a2a98d2a0080f7", + "classes": 4, + "orders": 60 + }, + "e-497_298": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "2739dfb7520c875434614b411d56e235dd66a9b84ae1229933d132ca182fe2cd", + "classes": 4, + "orders": 60 + }, + "e-497_307": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "cb3fccbb6c39f636fb8043ff3ed13923f31a10d031100563e215642f503c55de", + "classes": 4, + "orders": 60 + }, + "e-497_309": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "c0176f9c0265babb25ab6ae0f8d712c6161af48f9af9be93becb047475554eb0", + "classes": 4, + "orders": 60 + }, + "e-497_314": { + "slots": 741, + "B_boundary_checks": 654, + "min_rank": 8, + "rows_sha256": "4690df7077fb101ddd532610419c7ff49b4685db6e3371d2ba3df8c87c4ee37c", + "classes": 4, + "orders": 60 + }, + "e-520_277": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "c3709617ebbbd19fbfa9b8e6abb48646ae2751c79a6a9ee9c517f2ef3f3f16cb", + "classes": 4, + "orders": 42 + }, + "e-520_282": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "ed4e2949ed6098810ead506915f17a618248e5258335928c4fc9a4f6f4714eb1", + "classes": 4, + "orders": 42 + }, + "e-520_293": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "fa97ff5d970be06dd4d7bfbb8c83edd81dc1e444ca3fcb68a61ffaaeae4c2511", + "classes": 4, + "orders": 42 + }, + "e-520_298": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "750a7eb9cbc74ea898aaec51a96d0a3e377e1f898518a1e5a463b9bd4aa26989", + "classes": 4, + "orders": 42 + }, + "e-520_307": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "d1a4e5694a0c0085b70ab96173b2ab8b64e101be223773c57f6a00393fe463a1", + "classes": 4, + "orders": 42 + }, + "e-520_309": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "866ffb5d1d9d96127b67875e0fe1b59f873ce69d34ed3792e3b927144d8996a1", + "classes": 4, + "orders": 42 + }, + "e-520_314": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "152e9792d55100b8ae00120b8562403518f99142fa4d48d463a7827850eb6832", + "classes": 4, + "orders": 42 + }, + "e-520_323": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "7e211ed3ff4847e915677b0f82e3c0c7c8fac42ad50c88d75561ffb65725d051", + "classes": 4, + "orders": 42 + }, + "e-520_325": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "2f90cadb0ffb4f73eb6fa2fc2877b9f8d8a6106f898620789811f3606ff87a15", + "classes": 4, + "orders": 42 + }, + "e-520_330": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "1213ef497d4c666b48b2eba952526afa1892ae6715dec9cf7695f5c7bf99ee2f", + "classes": 4, + "orders": 42 + }, + "e-520_337": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "1735b240cdf70054770f00812be9dfc704ecf3bc6b10cf3b649b473f2029decb", + "classes": 4, + "orders": 42 + }, + "e-520_339": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "9ff09e5990908ca0f42a982d2835b0813ca6113d7ecc994f47e2572b29785bf7", + "classes": 4, + "orders": 42 + }, + "e-520_341": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "955d7b60d94b69bb95a4367c1db2103b4397011ff9ac1edb161e720a83f82783", + "classes": 4, + "orders": 42 + }, + "e-520_346": { + "slots": 727, + "B_boundary_checks": 640, + "min_rank": 8, + "rows_sha256": "6aa833af47bb57e7981e30a6f249af56fdc24e8952ac8b904f9dab972d3e3b8d", + "classes": 4, + "orders": 42 + }, + "e-521_277": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "3a3d17c2d1ec8f6d92a174cd60c178ddaf2f3003cf04141f22e6632855467fe4", + "classes": 4, + "orders": 42 + }, + "e-521_282": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "5a84ded3d8433aec48c709fcdd9e86447ba7e0310acf9b9e912e7c345670da67", + "classes": 4, + "orders": 42 + }, + "e-521_293": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "40ab5349aaaf0d969aae0bc01f184a4b495a93d663c228d8edac3dad9d426c9c", + "classes": 4, + "orders": 42 + }, + "e-521_298": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "32d5578df9edc7aa3b0295b6592890bec28e95008f651f10b7b42de1fc394d87", + "classes": 4, + "orders": 42 + }, + "e-521_307": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "faa37a570b0c30118d77362f0305f11532ae0d8a2b840e2c3935a7ebba9ccd6a", + "classes": 4, + "orders": 42 + }, + "e-521_309": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "8aab94bcc6ebabcc42e90c4e9c670328141eab6b95ad90da6ec16a3971784549", + "classes": 4, + "orders": 42 + }, + "e-521_314": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "bc97f25945ee147ce0392f662f9058ab303286428f9d5f45a5c03ea305fabe91", + "classes": 4, + "orders": 42 + }, + "e-521_323": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "6b0fdd0b5d5860611864473019fac274e235e4c673b93282eb922bf70a19d515", + "classes": 4, + "orders": 42 + }, + "e-521_325": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "07a936a638a16142944428baf6aecca6599d1313fa34bfb42d873a4a43bd5545", + "classes": 4, + "orders": 42 + }, + "e-521_330": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "c716b67161d5091f5e32697ea814ee8c2b576636ee9471b663f5f7d5557ede37", + "classes": 4, + "orders": 42 + }, + "e-521_337": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "c50af65c1959400f63de5da30655d732bac202706870f07dcf5e5560ca125bca", + "classes": 4, + "orders": 42 + }, + "e-521_339": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "b673c77890a0533587b6bf05b9c0ffdd2949c859a49da6aa72d31c1a5b4cdbdf", + "classes": 4, + "orders": 42 + }, + "e-521_341": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "3b5858ad28433c244c0e9e2934924fb29831fcbea08260e9661ec0cc50a5d20b", + "classes": 4, + "orders": 42 + }, + "e-521_346": { + "slots": 725, + "B_boundary_checks": 638, + "min_rank": 8, + "rows_sha256": "2308b5e6469c4b983cd2a809a0b92d76c7725ccc92ff8afb58d333a7632fb178", + "classes": 4, + "orders": 42 + }, + "e-544_277": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "45d3ac04b562b1405fb2ed466914f03473069ef66ba863eb19ca60a4c7ff7f6a", + "classes": 4, + "orders": 42 + }, + "e-544_282": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "be32c2e1204bca7de8b4771257a4672ea17e833b2882dcacc6eb393002c668bc", + "classes": 4, + "orders": 42 + }, + "e-544_293": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a2cdd700dedd41493f2ae89296cc45ad8ece123c208f7d618fb368d33da882db", + "classes": 4, + "orders": 42 + }, + "e-544_298": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "7dd0feb87fd63bef92a31c36a14f453df12762e13f13babbf8c12adcac6b057a", + "classes": 4, + "orders": 42 + }, + "e-544_307": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a6d7607c6577ae41e01d0c1f7163508f5726114db96855ad82f95ca03ef8256a", + "classes": 4, + "orders": 42 + }, + "e-544_309": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "a5c5917a2f28660deb02978662f7f3dc92ffedffb046211b8f156ccce600d778", + "classes": 4, + "orders": 42 + }, + "e-544_314": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "15fd5ff60dfd6b43820d6b99a30fed0c9faed44608357f2fd04362022423623a", + "classes": 4, + "orders": 42 + }, + "e-544_323": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "4bc74b3931342502def98c62473590f0451cdc4e5b0beb0591b61c8820246c4c", + "classes": 4, + "orders": 42 + }, + "e-544_325": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "eb6cde849c4a9be0296489e343c542bf979d751173bfa29e84704b438580841b", + "classes": 4, + "orders": 42 + }, + "e-544_330": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "c1b2a8f9b30dee5ac2ff15e6e687539aef4ef3c57a69d2b2e97aee2c0d42fc86", + "classes": 4, + "orders": 42 + }, + "e-544_337": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "676d8672aab9f64e1b1575a6976b2b05d3043eea0ea7f0d3877c8f8313b4f444", + "classes": 4, + "orders": 42 + }, + "e-544_339": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "d263d19874ee297ae10774ce4559408007fc6717b74b5916bb62e5ab64f45ade", + "classes": 4, + "orders": 42 + }, + "e-544_341": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "71ae112882650b985dac1172e2473cc0b78404844d1accb68843c2fc4c1c0908", + "classes": 4, + "orders": 42 + }, + "e-544_346": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "1e1cef853d528ee6bf855366dfa318b6b20578c1f2bb0804e6e183020177b659", + "classes": 4, + "orders": 42 + }, + "e-544_353": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "9f6adc25ef45a79f39af4780a6c86dddcb4678ccad5105edf5b28a5e7b9252fd", + "classes": 4, + "orders": 42 + }, + "e-544_355": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "3cba33fa0287ca0b62b3ffafcd51ccc66240ea8708856685655c7ab1be26e1d1", + "classes": 4, + "orders": 42 + }, + "e-544_357": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "8ef9eb366788ce58f8820fabc41852612cab95a3613cdc67f3d4b91f6019de64", + "classes": 4, + "orders": 42 + }, + "e-544_362": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "62470fd45c11238ebadcd1e0806582bbdeb603d0597f44a8f474c7d5651f7770", + "classes": 4, + "orders": 42 + }, + "e-544_369": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "c6b817cc2eab14932e79a361ec1921117807667c1e67a686af225138da75a648", + "classes": 4, + "orders": 42 + }, + "e-544_371": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "023b99ead3f565eab8e2d45dd7e0be416e17f7728ef89371af2eff98674b63cb", + "classes": 4, + "orders": 42 + }, + "e-544_373": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "bcf63e158f17a22df9a19829ee249cef96e2f699239bc9744bb79b9834391799", + "classes": 4, + "orders": 42 + }, + "e-544_378": { + "slots": 711, + "B_boundary_checks": 624, + "min_rank": 8, + "rows_sha256": "aed8fca000e7f55aae5bde02ae7e92ad9e2d05c8bb19cc9074f010c26ae516a3", + "classes": 4, + "orders": 42 + }, + "e-545_277": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "5d30e4fe053585e59538ebee0b89ad23a08a4d88c2a0dfd58981e25d42c963d7", + "classes": 4, + "orders": 42 + }, + "e-545_282": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "5e8f438a119c14bcea51445e900b47c78880d5a1b08782c9d91b408078a3c917", + "classes": 4, + "orders": 42 + }, + "e-545_293": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "555c4170cb287d554aff39b7b90c4ba8dc8c59a862fd5bff3b2c43905d540cef", + "classes": 4, + "orders": 42 + }, + "e-545_298": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "8166deafad5b915cdefe2defdfe7c962b765f2b97ff71511a2d8328fccb72ddd", + "classes": 4, + "orders": 42 + }, + "e-545_307": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "4739e395598538193e7c7b2aad351114d091e7849d1d64f4da24c307b408b006", + "classes": 4, + "orders": 42 + }, + "e-545_309": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "50d71d32826c0b08264e1573a3290241c03e9a145499f1a5081a00919527674b", + "classes": 4, + "orders": 42 + }, + "e-545_314": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "86c9e70c3e29098ea45b7c60ec21638f6be3923281a7262595404bac519208a8", + "classes": 4, + "orders": 42 + }, + "e-545_323": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "8bcfa461f1dde00f664f374a2af37b2f94213e16611b18faa0dda95a51d8c84c", + "classes": 4, + "orders": 42 + }, + "e-545_325": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "eaf03e93518ecd91df1e7b4eb554aa7d420c6d942234f5062280a3fd66776bd4", + "classes": 4, + "orders": 42 + }, + "e-545_330": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "0189223e12b665dd51737c3f3a57d44fb3f5cdec5dc07f6d3829ece2dfe900ac", + "classes": 4, + "orders": 42 + }, + "e-545_337": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "2acc6d8fa765f0692dfa24a1b6a00337adb8c3a9a42c7e089b857889712df9a0", + "classes": 4, + "orders": 42 + }, + "e-545_339": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "155adba396eecc5542b91ed990e8b7402e3b03f4edb4fbc2f6408df4b6396a02", + "classes": 4, + "orders": 42 + }, + "e-545_341": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "2c7cc95ad463c72ea9887bf828e7d92fc538e18c05853f9209539dbb0678e718", + "classes": 4, + "orders": 42 + }, + "e-545_346": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "61b44d5dbb0d6b8e55a2c8c3410405e445ccc653c23b98e071a2ebf95943a519", + "classes": 4, + "orders": 42 + }, + "e-545_353": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "54dfa15ba46d7dd975a3ae38a973a84da0fc7311cdcfa7550141680edc016c68", + "classes": 4, + "orders": 42 + }, + "e-545_355": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "675897c9f99fc4a827fe8b43480d24e30914dbcff0ad34fc5a94af654fe91115", + "classes": 4, + "orders": 42 + }, + "e-545_357": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "be6fd5f4e3cb3bb0ea41032ce4840b2dcb90744c7bef89e30af02b2d5e1560be", + "classes": 4, + "orders": 42 + }, + "e-545_362": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "70fc964112b870394f5a23959cc7d3b1f60094c6211efb21f9ac048e5a560019", + "classes": 4, + "orders": 42 + }, + "e-545_369": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "413bd52be9bfc0a3db0feb7f0b4ff08a253a8f58f2d26f076566900d6bf8f678", + "classes": 4, + "orders": 42 + }, + "e-545_371": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "511430b37907edee31fa92f1f2568f1cdb47a4388d49c50696a746e01d4810ba", + "classes": 4, + "orders": 42 + }, + "e-545_373": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "142b110a687762bac5c2db3dea82fd816337112fe73a92d39a4a3bb0ad397917", + "classes": 4, + "orders": 42 + }, + "e-545_378": { + "slots": 709, + "B_boundary_checks": 622, + "min_rank": 8, + "rows_sha256": "20141491946efaeb63354cd748209e44011128044b0faf99e646f9715d2683e2", + "classes": 4, + "orders": 42 + }, + "e-592_277": { + "slots": 517, + "B_boundary_checks": 430, + "min_rank": 9, + "rows_sha256": "a0cf981237b825ccbf2d13bbfb7b0c5fdbe582d6fae1452cc3e432335cf00b49", + "classes": 0, + "orders": 0 + }, + "e-624_277": { + "slots": 389, + "B_boundary_checks": 302, + "min_rank": 9, + "rows_sha256": "d6b77f9c8bca526e01c2fbccd9612beff845d7c532faf81b0216b7c68ee30633", + "classes": 0, + "orders": 0 + } + }, + "quick_cases": [ + "b-472_277", + "b-473_277", + "e-521_277", + "e-545_277", + "b-592_277", + "e-624_277" + ] +} diff --git a/research/t74-cold-host-restoration/direct/NOTES.md b/research/t74-cold-host-restoration/direct/NOTES.md new file mode 100644 index 0000000000..650160b00e --- /dev/null +++ b/research/t74-cold-host-restoration/direct/NOTES.md @@ -0,0 +1,43 @@ +# Direct restoration replay notes + +The final source-bound, standard-library replay passes with four worker +processes in 42.60 seconds. It independently rederives every one of the 184 +hosted words, verifies the retained literal frame profiles, scans 131,788 scalar +recovery slots, and checks all 8,208 orders in 720 exact commuting-slot classes. +All 8,208 orders have a forced vector outside a target port-hyperplane end. +`RESULT.json` binds the executed source and inputs; `WITNESSES.json.xz` contains +the complete replay receipt and one explicit target-end witness per order. +The replay also passes three positive fixtures and four negative controls. + +The source inventory contains 94 distinct retained words and 90 reconstructed +extra-orientation words, covering 92 hostee/host pairs in both orientations. +The archive has 95 original gzip filenames because one base word is duplicated. +All 95 original gzip and canonical-payload hashes were checked against the +frozen J source. All 90 reconstructed words have recorded passing forward and +dual source-auditor receipts. The current portable replay independently checks +all 184 literal derivations, exact frames, and recovery witnesses; it does not +rerun that separate free-operator semantic auditor. + +There are 180 cases with minimum necessary recovery rank eight and four with +minimum rank nine. The 35,068 rank-eight slots are exhausted by the 720 classes. +All 115,780 sampled B boundaries are checked for a participating-register warp; +none has one, so sampling before boundary warps and inserting after them agree. + +The candidate-frame check uses the zero-frame inverse-prelude repair recorded +in `USED-inverse_prelude.py.txt`. The operator lane separately supplies the +normalized equivalent repair and full-end semantic fixtures. Our negative +result does not depend on the operator normalization saving literal operations. + +A target-end witness persists if only other helpers' end caps are enlarged: +those caps are upper constraints and do not feed this forward lower propagation. +This implication applies to the fixed scalar words, fixed warp interfaces, and +contiguous recovery blocks checked here. Staged recovery, a new scalar basis, +precomputed combinations, changed interfaces, or arbitrary hosted circuits are +outside the claim. No new kappa value is claimed. + +Run `python3 -I -S -B direct/verify.py --workers 4` from the enclosing package, +or invoke that script by absolute path from any directory. `--workers` accepts +1 through 24, `--quick` selects six representative cases, and `--output` writes +an optional complete receipt outside the verifier directory. No optimizer, +third-party modules, network, git metadata, or source-directory writes are used. +See `PROOF.md` for the precise floor and commuting-class argument. diff --git a/research/t74-cold-host-restoration/direct/PROOF.md b/research/t74-cold-host-restoration/direct/PROOF.md new file mode 100644 index 0000000000..a81dd34015 --- /dev/null +++ b/research/t74-cold-host-restoration/direct/PROOF.md @@ -0,0 +1,99 @@ +# Direct cold-host restoration: finite domain and certificate + +The input is 184 literal hosted words: 92 distinct hostee/host pairs from the +retained J archive, in both orientations. Ninety-four words were retained in the +archive; 90 missing extra-orientation variants were rebuilt. A second filename +for `b-473_277` is a duplicate payload and is not a 185th case. `SOURCE-PINS.json` +binds the original gzip files and canonical payloads. The two original parent +words are included, and `verify_derivation` checks every literal hosting edit, +fixed interface, invertible warp, pulled-back correction, and derived cleanup. +Changed optimal gate frames are checked for feasibility and their actual invoice; +optimality is unnecessary for this obstruction. + +The exact input commit is `dfbc5ba121d5d23381393f178be8d4ba25ebfa4d` of +`research/t74-r10-hosting-leads`, based on the PR #2802 construction. Source +notices and the complete lineage are retained by the enclosing package. +`USED-inverse_prelude.py.txt` records the exact operator-repair source used by the +original search. The independent checker imports none of that source. + +## Recovery and frame-floor exclusion + +Immediately after the new host warp, let `z` be the host's value. We maintain an +exact rational expression for `z` in the current registers. On a forward gate +`x += a*y`, its coefficient on `y` decreases by `a` times its coefficient on `x`. +A scale divides the coefficient; a warp right-composes the corresponding inverse +operator. This is inverse substitution, not floating-point linear algebra. +All 131,788 sampled expressions are scalar. They cover every B and restore slot +after the hosted value's final read, including the end of both sections. + +Every gate shares a frame between its registers. Frames are monotone between +fixed warp interfaces. The smallest possible frame at a gate is therefore the +join of its incoming forced subspaces and any equality pin imposed there. At +an A/B cut or warp, the preceding gate must attain the prescribed frame: no +unrecorded paid climb is allowed. These joins give exact necessary lower floors +for every refitting of the unchanged word. They are implemented independently +in `engine.Model`, using only Gaussian elimination in GF(2)^9. + +To apply a direct scalar recovery to one host, its final frame must contain the +join of the forced frames of all registers in that expression. All sampled joins +have rank at least eight. Thus no sampled direct recovery can restore the host +at rank seven or lower. This conclusion concerns the current-register recovery +expression; it does not exclude a new scalar basis or a changed word. + +## Rank-eight contiguous recovery + +A rank-eight join determines its candidate rank-eight end uniquely. There are +35,068 rank-eight slots. Slots are identified only when the recovery expression, +its frame join, and the immediately preceding and following gate/warp for every +participating register agree. Every skipped operation then commutes with the +inserted recovery block, both algebraically and in the frame dependency graph. +This gives 720 classes. All 8,208 permutations of their three or four additions +are checked. All host coefficients equal one, so no untested scale is needed. + +The scanner samples before warps at the next B boundary, whereas the insertion +routine uses the position after those warps. The verifier explicitly checks all +115,780 B sample boundaries: no warp at any such boundary touches a participating +register. The two conventions therefore coincide in this domain. + +An inverse warp at the zero-frame entrance and identity initial corrections +cancel the otherwise surviving `K(x_host)`. This restores the intended own-input +algebraic contract when the scalar undo succeeds. It adds only a zero-to-zero +frame event. The checker includes that event in each candidate lattice. The +operator lane supplies a separately audited full-end fixture; the direct checker +also retains a positive full-end frame fixture to avoid vacuous rejection. + +For every one of the 8,208 candidates, forward propagation forces a vector +outside a target's fixed port-hyperplane end. The replay emits a target, its +forced lower basis, end basis, and a missing vector. The verifier separately +checks that the missing vector has odd dot product with the target port. These +are exact incompatibility witnesses, not optimizer failures. All 8,208 candidates +have such a target-end witness. Merely increasing other helpers' terminal frames +cannot remove it: helper ends supply upper constraints, and the independently +propagated lower target frames do not use those upper constraints. + +## Replay and limits + +Run from any directory, with Python 3.12+ and no installed packages: + +```sh +python3 -I -S -B direct/verify.py --workers 4 +``` + +`--workers` accepts 1 through 24. `--quick` checks six representative words +(3,856 slots, 16 classes, 204 orders), while authenticating and deriving all 184 +inputs. The default checks the complete finite domain. `--output` optionally +writes a receipt outside the verifier directory; the source package is never +modified. The final complete replay, including all 184 provenance derivations, took +42.60 seconds with four workers; an earlier full replay took 22.23 seconds +with 24 workers. `RESULT.json` binds the final executed source and input hashes. + +Positive controls cover the known scalar expression, its rank-eight frame +floor, and a feasible full-end recovery. Negative controls reject a rank-eight +end for that full-tail fixture, a flipped source write, an incompatible warp +frame, and a changed port frame. + +This proves a scoped obstruction for contiguous direct recovery with the fixed +scalar words and interfaces. It does not cover staged recovery at distinct +times, new scalar bases, new warp interfaces, precomputed combinations, changed +target/consumer contracts, or arbitrary hosting. It is not a new kappa bound or +a formal proof of the complete multiplication theorem. diff --git a/research/t74-cold-host-restoration/direct/RESULT.json b/research/t74-cold-host-restoration/direct/RESULT.json new file mode 100644 index 0000000000..81b263c5bf --- /dev/null +++ b/research/t74-cold-host-restoration/direct/RESULT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_INDEPENDENT_DIRECT_RESTORATION_FRAME_CENSUS", + "quick": false, + "cases": 184, + "slots": 131788, + "B_boundary_checks": 115780, + "classes": 720, + "orders": 8208, + "target_end_witnesses": 8208, + "minimum_rank": 8, + "controls": { + "positive_fixtures": 3, + "negative_controls": 4, + "status": "PASS" + }, + "seconds": 42.602785455062985, + "scope": "184 fixed hosted words (92retainedpairs, bothorientations), retained warp/source/target/centre interfaces, post-last-read scalar recovery in current register basis. Rank7necessaryfloor exclusion; rank8contiguous recoveryblock, all720commuting-slotclasses and8208gateorders. No exclusion of staged recovery, new scalar bases, changed interfaces or arbitraryhosting.", + "command": "python3 -I -S -B direct/verify.py --workers 4 --output /receipt.json", + "worker_processes": 4, + "cpu_affinity": "0-23", + "thread_limits": { + "OMP_NUM_THREADS": 1, + "OPENBLAS_NUM_THREADS": 1, + "MKL_NUM_THREADS": 1, + "NUMEXPR_NUM_THREADS": 1 + }, + "source_sha256": { + "verify.py": "fa86b70cfd9913ac98a04226a479df4b806642b329d67c020df3fda0975cd149", + "reproduce.py": "8e8a4e63206237a8a848969b0e601dcf80e91641dd383640efd7e99829945913", + "engine.py": "daf91bf5ac9d5fdc86a7fa554031655ebe652da61696a71e9ba6a37db259e676", + "EXPECTED.json": "c836afbe85cfc1f3ddd7e1a834d789505640500a1ccfcb23f6ebe3caa6ae0744", + "SOURCE-PINS.json": "3e048a41defefac0547361c3ea12c3b5607766c7a93ba86b9eb9bca8570d9f20", + "WORD-PROVENANCE.json": "968f55132651032e90dc360904ea60e3eff9176471cdbb6abad52f52f3adc746", + "words.json.xz": "9473129455218f91a58ee2e8b2de4474a94f57bc9b92f7f58474c366cbaf1b9a", + "parents.json.xz": "1d8417378ea1d148b107f08aa1d37881e85e84887a97e53cd232985e3b4e955e", + "USED-inverse_prelude.py.txt": "a30f1566100419b0327f9468bc26804d59906f5cde8e4c54f13fc9c023977288" + }, + "witnesses_json_xz_sha256": "be3242f437cbf1eff09815d74d08a58fe39ee93b65c416bfe03e8c65403d39e3", + "raw_release_receipt_sha256": "ef788b659fc1908c13f84ed94cb12d35577c80d6062ac2ce473c7f8cb9f9d25b", + "minimum_rank_case_counts": { + "8": 180, + "9": 4 + }, + "rank8_slots": 35068, + "source_provenance_check": { + "source_gzip_and_canonical_hashes_checked": 95, + "retained_unique_words": 94, + "reconstructed_words": 90, + "recorded_reconstructed_forward_dual_pass_receipts": 90, + "all_184_derivations_replayed_in_current_run": true, + "used_operator_source_hash_checked": true + } +} diff --git a/research/t74-cold-host-restoration/direct/SOURCE-PINS.json b/research/t74-cold-host-restoration/direct/SOURCE-PINS.json new file mode 100644 index 0000000000..24a3d90156 --- /dev/null +++ b/research/t74-cold-host-restoration/direct/SOURCE-PINS.json @@ -0,0 +1,1147 @@ +{ + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "frozen_root": "/home/marius/kappa/kappa-hosting-leads-20261015-2256/research/t74-r10-hosting-leads", + "files": 95, + "distinct_pairs": 92, + "pairs": { + "472:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-472_277.json.gz", + "sha256": "224af106284f469a17c3dad32bc322c804343607ffeecccf4e2a593fa1f09634", + "payload_sha256": "65eeb990f0c328e51f05358c0c0adbd0a3223800c4e405f52986ad9a74aaef65", + "cert_suffix": false, + "warps": 73 + } + ], + "472:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-472_282.json.gz", + "sha256": "2fe26935b562deed8cf42ec67b268bd4186289063902a6255cf179f4204acda6", + "payload_sha256": "562a360f1eaa9c5c068ee9a28590c65bb7a4e89d258bfe9ad78e791b759e1e0d", + "cert_suffix": false, + "warps": 73 + } + ], + "473:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-473_277.cert.json.gz", + "sha256": "426bffd3ea874fd3f97ebcf731c43f1f576e8fba1dec8665294d7c1926df0389", + "payload_sha256": "6b502ff9d0eb5e92314d31628a0d81182754d3da8fae4c66e1d83c17bf271c7c", + "cert_suffix": true, + "warps": 73 + }, + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-473_277.json.gz", + "sha256": "426bffd3ea874fd3f97ebcf731c43f1f576e8fba1dec8665294d7c1926df0389", + "payload_sha256": "6b502ff9d0eb5e92314d31628a0d81182754d3da8fae4c66e1d83c17bf271c7c", + "cert_suffix": false, + "warps": 73 + }, + { + "orientation": "e", + "path": "J-dim1/out/eh/w-e-473_277.json.gz", + "sha256": "735051e082013ded857ab03aa4dee1ee4eabc3aeced2cc7490dcc88aba96cad8", + "payload_sha256": "2e41cca12c339b0728dc95d6d493ef84bfcba7df2175390474739faa0b3fbc9f", + "cert_suffix": false, + "warps": 73 + } + ], + "473:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-473_282.json.gz", + "sha256": "3e52cb132a23120348d05abbf414f718765ef9a7312eb610fcc499bce1e346ed", + "payload_sha256": "192d8ce291f366e0cfec122c08051f2e1fe35bfddcfd79196bdc952936500b6d", + "cert_suffix": false, + "warps": 73 + } + ], + "496:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_277.json.gz", + "sha256": "2fa58fb463a8e1589df29b40100988423e915c1b7212e71b14f19c9ee283bfc3", + "payload_sha256": "bc666c6bce88138a150ff1df9bb21992f9beeb354d79f6cb4211482d41ab0f9d", + "cert_suffix": false, + "warps": 73 + } + ], + "496:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_282.json.gz", + "sha256": "0f4d981fb77c11f7d2876e2e51f4b3fa1054394ef1b2b48fdb5ad7e1388763b0", + "payload_sha256": "94e9b5445b9451a90259ce5d5aebeec13650b6803c3b1a1023a5c6d05ea794fd", + "cert_suffix": false, + "warps": 73 + } + ], + "496:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_293.json.gz", + "sha256": "8b9f9480f3d9a34ee0668718c7c29230c5f91ed0bb292e96c0835fe86915dd88", + "payload_sha256": "65ddc39e02dc4f93dc54ee173ed99bf5217ec3d3993fca8d8ffd8683670a65d3", + "cert_suffix": false, + "warps": 73 + } + ], + "496:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_298.json.gz", + "sha256": "b1b975f70fabf407accd0270359543d138b85f788f4541bbebe07bbd906feba4", + "payload_sha256": "b257dc8c267384435bab85812a7b015fff907755dc6c586e4ae59ff1592f331c", + "cert_suffix": false, + "warps": 73 + } + ], + "496:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_307.json.gz", + "sha256": "4330259f1380befdd38b80337911296612fe067f2da099ccf7a18a714fe7407d", + "payload_sha256": "9b72b5b6d4be651ba8acf9af1536ff7718de0950a7293a9cb3e9b2be42bb4c43", + "cert_suffix": false, + "warps": 73 + } + ], + "496:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_309.json.gz", + "sha256": "4e7171a8b812563a28dc630fe62204d41e9d1428a8fe2971996a4bb4f64e1b5e", + "payload_sha256": "c27ec3409f049e5f671bafcdce3dff8a8aa11b73f572ed003e8eebd85eb855a4", + "cert_suffix": false, + "warps": 73 + } + ], + "496:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-496_314.json.gz", + "sha256": "a1e7fc50e76ba38e30fb752ac04dac9fae0e2742a49a004d9c75da9121a7c3ee", + "payload_sha256": "e52c1eb98a028154142831bf82e11c3928ddb349348938bb7741dd5de62e2fdf", + "cert_suffix": false, + "warps": 73 + } + ], + "497:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_277.json.gz", + "sha256": "a14269527ac891dc5c1a1d0e5fa85b0639e2ab8c5f94f2c5d60a23ba60e6fff7", + "payload_sha256": "d106e8e87bc9a3238aa1302a30fbba393ca1cc0f8d95f424a6861a747ac8cfea", + "cert_suffix": false, + "warps": 73 + } + ], + "497:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_282.json.gz", + "sha256": "1f050612dc26a910bf432b5b1fdd2a8ca9e4af2642d935282a6fb1497f2ce216", + "payload_sha256": "ffd005122ee483917748bd88b9114a56c8dcb408534c30c8336b35557952668d", + "cert_suffix": false, + "warps": 73 + } + ], + "497:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_293.json.gz", + "sha256": "72432a2c800d4c68e9c2aed7e00f8b69541138b549b2a98015891a931ef36796", + "payload_sha256": "3300b7fbf8e1f9b0d83ad51c2e445fdce70c8004bbec61e2638804bd49c2607f", + "cert_suffix": false, + "warps": 73 + } + ], + "497:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_298.json.gz", + "sha256": "9c2ad8f3431d17c0bfb1518180a4ccba298ff3b6f20cfe732a06a805bf267a4a", + "payload_sha256": "83e6e8500a7e219e0b1ca524f4496ff0c6e4f7491de2ad3ee9692e5c4acba458", + "cert_suffix": false, + "warps": 73 + } + ], + "497:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_307.json.gz", + "sha256": "d432f2739b575c171153e2b73c46bf6d7dc5527a271588bf60da255c439344b5", + "payload_sha256": "1ddae276b5c0481bb77b43735e2dab8aca7f2fc1afe0f0ed93723d40d0cd8a3c", + "cert_suffix": false, + "warps": 73 + } + ], + "497:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_309.json.gz", + "sha256": "2a190b5f6315eabc8f74f82833b116953632f3b3a2c171f0b32ab01aff536d31", + "payload_sha256": "2d0995cf59663c07e8be399ff8e0bbbd0f61a645f1d53e2f303be08629759f7e", + "cert_suffix": false, + "warps": 73 + } + ], + "497:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-497_314.json.gz", + "sha256": "1243d8f37666d4da8f0631b4687a7ebb57ef81b81ff8498b8e08da8f34980284", + "payload_sha256": "6d7ff9f83a1ff6ec18686b5c4bb648fdee55e8250d095e64812348fd55994427", + "cert_suffix": false, + "warps": 73 + } + ], + "520:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_277.json.gz", + "sha256": "d567582f030250f0f5d2424ba90f9711ccbe75d17e8866d05791911190a9a44a", + "payload_sha256": "aced9d05997404aa7032fbbb3a9cbf6381349f8168954fd1b7ae60e13c4fc392", + "cert_suffix": false, + "warps": 73 + } + ], + "520:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_282.json.gz", + "sha256": "bb10ec7442e51d43ea1ccf5e835115be9fbcd467f8e058a0a11e315205a60196", + "payload_sha256": "b6d42e5cbdb93cb2418b78795abb70b87912bd208dc154c28ea11e7913d461d9", + "cert_suffix": false, + "warps": 73 + } + ], + "520:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_293.json.gz", + "sha256": "84e95810f1c909d7a8d8eb552194f11df566137dbddc13169530079e3cf7a7d5", + "payload_sha256": "79c9b477fe8184c6a371cd4380e0c5a5e69afee3c685be87ab848e21c697142d", + "cert_suffix": false, + "warps": 73 + } + ], + "520:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_298.json.gz", + "sha256": "016be284f360a384655bdd9f81ce4b32d33dc7aaf400ecf37d989513f88d257f", + "payload_sha256": "547b3ef6269672de7eca0a293c6d3a99aab553f6030ebf868678bc446701c6c7", + "cert_suffix": false, + "warps": 73 + } + ], + "520:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_307.json.gz", + "sha256": "4b8edd396f66e3d70200e7261af6f273964b3ff4a9504306e655c3403f240efd", + "payload_sha256": "ddeb2ff33d5631fb60ec68993535e17e34f6091d59361b9bf9a6eef87f1b7675", + "cert_suffix": false, + "warps": 73 + } + ], + "520:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_309.json.gz", + "sha256": "08257d5e0d66d27152c320235560c866bd9ef4a0353a1f88fb559b7aabbf269f", + "payload_sha256": "3f787f4b9bbe56737b3f7b8c9105f6851f2f1ece574179a89456db87093cb714", + "cert_suffix": false, + "warps": 73 + } + ], + "520:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_314.json.gz", + "sha256": "cbf050bf547c11d49dfa27a9578d78259f7b94bbd582922ad30d088b426e0249", + "payload_sha256": "b37775058f1d344eb43dbe629b25446e231d78f574925872a4c46c113ee6a1c7", + "cert_suffix": false, + "warps": 73 + } + ], + "520:323": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_323.json.gz", + "sha256": "e8ddcf8a2e217c6042f267022cb2f479a8933bba3907fe3afabadefe907e2f8a", + "payload_sha256": "577ed690a4c79561e765cffd7bd57d2006405ad1b8f5090c609c6afde0c851c7", + "cert_suffix": false, + "warps": 73 + } + ], + "520:325": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_325.json.gz", + "sha256": "09aaa5c7e7af9b6c3327d0abe6189989a32d4d470fa2e371c5ff6b8eab710a2c", + "payload_sha256": "a1ed97669ec730a77bf9868fdad58d865e520dbfb67838ec5c9f007f85f40dca", + "cert_suffix": false, + "warps": 73 + } + ], + "520:330": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_330.json.gz", + "sha256": "67b8b7c8fb1f4aba9e741e74e3827aa76459d6d0bbaf54cbd733354823d60b03", + "payload_sha256": "a066666b9475ce6de94b300d4093453968c53a86fb2b893fd08bca5cc1115e5a", + "cert_suffix": false, + "warps": 73 + } + ], + "520:337": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_337.json.gz", + "sha256": "0438fdc77b716b3fe937cfa3ec48df6007614e1d334c678011559d3e91edc213", + "payload_sha256": "534e9ba905b6f6f5f66778c87c7d2b0a54c1ab432d3f8d6352eaaeeba50fe84c", + "cert_suffix": false, + "warps": 73 + } + ], + "520:339": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_339.json.gz", + "sha256": "2fc6fe8947d527ef4b75d767816171823a6e2315b309342646ac2d30859c5e9e", + "payload_sha256": "a040c4bdb1da43c17978ebdf396d79ef2b85f6d7d96cc586c70b4ca3b8e95c25", + "cert_suffix": false, + "warps": 73 + } + ], + "520:341": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_341.json.gz", + "sha256": "3bcec07661f56172e75e94442b75ef7b2e30763f836045ea82040f6d1da18200", + "payload_sha256": "df0c876079d4bb504c4ee25d17cea711333c8a83aefe672d4f9976097982cbad", + "cert_suffix": false, + "warps": 73 + } + ], + "520:346": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-520_346.json.gz", + "sha256": "3f63f6898a82907f4967061188dfda9e2fe8e018e3606fe379ef837a0fd37019", + "payload_sha256": "6ec7ad41d4fdc7b8f2e74154f1e65e5e4dd5acf8cd87cf49c35ecb92300f2da5", + "cert_suffix": false, + "warps": 73 + } + ], + "521:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_277.json.gz", + "sha256": "c91c4f8a3575bc8f008d9003703190d0192665e7630a933f93ca891000dfa36b", + "payload_sha256": "69d2d92c50dc67f15a877380c5c61e7b0d5df321179038235941a4d784c258b6", + "cert_suffix": false, + "warps": 73 + } + ], + "521:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_282.json.gz", + "sha256": "f628e79a58ac7c37db58a71680b9183038a457e899b1fec262bdf84b7e016139", + "payload_sha256": "dcfd945873a2eeb1c54e8a5f1ea75f067e8c736ec3a9025079327b12506ae594", + "cert_suffix": false, + "warps": 73 + } + ], + "521:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_293.json.gz", + "sha256": "9f8c8cf2239de3af6ad94b83480b53fab7d25cec38adfe6523c3018d62fe97da", + "payload_sha256": "810e6216e0afd48d112194565583f4dad026b1b6d5485a37bc0a4ec830fe0786", + "cert_suffix": false, + "warps": 73 + } + ], + "521:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_298.json.gz", + "sha256": "5ce98daad3f196e5c20478b5701ab323ac96afd39864e404e8fce72f90e6cf5b", + "payload_sha256": "c8ffa01b6e87f3c841859f33dbc8a6f6a81fe258fc2b2b7d09eb5f4056a0ba03", + "cert_suffix": false, + "warps": 73 + } + ], + "521:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_307.json.gz", + "sha256": "1985e1511472bbf1f52dde06ba3f122d50e0cf833ddb91e59573ef2a88d260d1", + "payload_sha256": "bf0c63a9b3244d301a43051c029f613374def07312627e8f76ada02fe2dbc7a3", + "cert_suffix": false, + "warps": 73 + } + ], + "521:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_309.json.gz", + "sha256": "4f9dff1cf3c660811a54bb83e32cc657df6a139f3fe17f51efca747cc629a36e", + "payload_sha256": "5d63fb57d23bf7fb0fd749d16b76fbc39273e64955faa5b2e1b69b628d3f98dc", + "cert_suffix": false, + "warps": 73 + } + ], + "521:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_314.json.gz", + "sha256": "33a8916c3b8df3be90c4d1ad21c6860ab3fe0cec31f698a7b88ae8a31aab25c3", + "payload_sha256": "3190580ec417069010da192506bad79cc7c4c50d0f778cdf0c5353928a31f1f4", + "cert_suffix": false, + "warps": 73 + } + ], + "521:323": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_323.json.gz", + "sha256": "09056440ec19959359f157b491af4286ac7722c01d33ae0b912474eacf358964", + "payload_sha256": "a93084bd8331fb936b14686b2cdb8b701dbf388d46c2c9abffed481590ca55f5", + "cert_suffix": false, + "warps": 73 + } + ], + "521:325": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_325.json.gz", + "sha256": "25067a5da2baf161c7ea26f818a38ecea47923566e9a3bab954d37c1d8419335", + "payload_sha256": "69b4ab7799a53e9eaf03c8ffedac54d9215efcbc9afb33af586b0cf9fe84bb91", + "cert_suffix": false, + "warps": 73 + } + ], + "521:330": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_330.json.gz", + "sha256": "556a3fcdc5409221e78e5ce0e0f86473a2d16695ee8806b377efac5ee1bb26ee", + "payload_sha256": "4485986904e4fd88bc0b8887c071b5f3b62e69e2874817e5c78ad8f512d47b35", + "cert_suffix": false, + "warps": 73 + } + ], + "521:337": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_337.json.gz", + "sha256": "73924feaa65df8f872bf296221ffe820bacfb7924d7288bddf31e52fe46ca0fd", + "payload_sha256": "8019f55da694427b317f866f3ff33c84d4c1716df28e3786376ad0b51e0a972b", + "cert_suffix": false, + "warps": 73 + } + ], + "521:339": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_339.json.gz", + "sha256": "4f9e742c087e80ffedca82491a79124a406557f3d5b5c1a87652405088a71e37", + "payload_sha256": "6b4a3e8a9ff74a0c9955aa07b99d27d848a58d6de32711cd55d338ebd5fdec6b", + "cert_suffix": false, + "warps": 73 + } + ], + "521:341": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_341.json.gz", + "sha256": "65191d0461976fab0e8ba57860e06e96f8e2513ee21cfa12b7ff23883a004f7c", + "payload_sha256": "97620f64430efdece173c00af66fecc1c7b96b1f71a687623cdcede713d63b33", + "cert_suffix": false, + "warps": 73 + } + ], + "521:346": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-521_346.json.gz", + "sha256": "a1d6090a48fcf19478f8b7df3181a80a5561d66726d720fe0c486890ebe86754", + "payload_sha256": "d3dd168ebccce621b2f247e0476e920f04b435f35dd8afce8bd1405066d8e079", + "cert_suffix": false, + "warps": 73 + } + ], + "544:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_277.json.gz", + "sha256": "e94c7627294a45babd223dea9e78cea3b31cd1cb41279e3b4e53c351aaa47203", + "payload_sha256": "280bf15141826ddd3dd677bd5cec0c67ad3072bd053bf98de92e0d5ebeef810a", + "cert_suffix": false, + "warps": 73 + } + ], + "544:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_282.json.gz", + "sha256": "1669f6a8d999339236aa0b10311af5e913da959c0b9b2210ab633642ba549dd4", + "payload_sha256": "40471a5b98fc899fb5b3eb8c446d8d5b91dd1fedce095315ab70800b358db8c1", + "cert_suffix": false, + "warps": 73 + } + ], + "544:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_293.json.gz", + "sha256": "9b88f9b7eee92a36796ba7855844f02d3d397ef7fcffdcab7a51279e15308c3e", + "payload_sha256": "ab5a259af6cdd6882afc85c88069ffff6da142554ad838ba841fe66b7912b33a", + "cert_suffix": false, + "warps": 73 + } + ], + "544:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_298.json.gz", + "sha256": "3ab7c6a78194cde3d98ad48a39c1d1eeaccd64e58b1a6032bb419227e7f477c8", + "payload_sha256": "80b38172e6cd9331b38da6ee563042576fb75a3bba6535bad1188035b2cd329c", + "cert_suffix": false, + "warps": 73 + } + ], + "544:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_307.json.gz", + "sha256": "3c1e405524489285e8497539ea26f07932726772da088640b6fe0339882afb49", + "payload_sha256": "9e37448cc0a811cdda66d3f1772cce4150e7746518621a685ce248caa253ecde", + "cert_suffix": false, + "warps": 73 + } + ], + "544:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_309.json.gz", + "sha256": "1b18df3b68e23f9c7088b54327eb79a321980eccb3997c043cf424541420555a", + "payload_sha256": "fdd5cfef139b3e4d695434d8e6117663c631a7f7bb4a94d2d7b9c3afa879b5cb", + "cert_suffix": false, + "warps": 73 + } + ], + "544:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_314.json.gz", + "sha256": "70f3c25870b5e2c50b1546f4aa155aa1e5bfffad1cfa17517c925ee79ef096da", + "payload_sha256": "298f40671134c7cd77579b4c6f418d03a19daef3e9df5b77f8c44610c22d1d64", + "cert_suffix": false, + "warps": 73 + } + ], + "544:323": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_323.json.gz", + "sha256": "343523e8f30c2000076f8972ab3eb25d56fe4a6c610d9f1267d77b0d984d4a99", + "payload_sha256": "0c3e32dd845c8caed854b8fb097bb2961b14d3be37ab06407fbbbe212465cd8a", + "cert_suffix": false, + "warps": 73 + } + ], + "544:325": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_325.json.gz", + "sha256": "f18ca4238a378d5e2ee4aa3fb51eedd0185653b66a25a385b6f5795cff4c03ac", + "payload_sha256": "3b0190eb254ffa3677bd426da4abdfe4fc5f6a3ec71146287d92d82d1e1618f9", + "cert_suffix": false, + "warps": 73 + } + ], + "544:330": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_330.json.gz", + "sha256": "534ec832c73e38a52b66e2c78ea52ed0502a828e63ac9ed3aaa52426ac5b0a77", + "payload_sha256": "0fb42fec9f96f098fa873fe6bf950805279c426262f7483c44ac910fe6b18dc1", + "cert_suffix": false, + "warps": 73 + } + ], + "544:337": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_337.json.gz", + "sha256": "22a0ab3914098e4643dd880d395be15118662a1b49519d49bb6d44bc579cfa96", + "payload_sha256": "0225350acb40ae9b89d155ad506f9cbc1047e41e7db70bafbb31ced218fbe0f7", + "cert_suffix": false, + "warps": 73 + } + ], + "544:339": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_339.json.gz", + "sha256": "50915a0ebee82ba1c95bb3e2814270d69e638fd993a188713adae368ceed4e88", + "payload_sha256": "2828af710a39f58989de723bf3af90d5230c42176e8e8828c088dd96b3775172", + "cert_suffix": false, + "warps": 73 + } + ], + "544:341": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_341.json.gz", + "sha256": "6b243aa27460c1d918a6786f19e47e60e316004484c3732175fdd4799b8ec15f", + "payload_sha256": "548c5c791103a6dac6a621808491fa6deba29ef1ede11b3c30beb8f6987fc481", + "cert_suffix": false, + "warps": 73 + } + ], + "544:346": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_346.json.gz", + "sha256": "7f2c2f5c22fb0f07b0835acfc47541f9748b966c8e43f11fa2024637ef294f37", + "payload_sha256": "9e023caa7046fd63b01fdc83ffa285dfbd5a19763832e26282146c507ac6f5fb", + "cert_suffix": false, + "warps": 73 + } + ], + "544:353": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_353.json.gz", + "sha256": "5fde665bed84244f4bc010372211d2215d770befc862eb425fd51a70808eaf40", + "payload_sha256": "fce4def68fb1b72c299ad40a0ac34793108e1e308fc874086b52a4c5e74ac8cd", + "cert_suffix": false, + "warps": 73 + } + ], + "544:355": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_355.json.gz", + "sha256": "6efe18e9884a9a1ca927dd40da6805c58ddc5bcf05d54258d07b5a34bb757d20", + "payload_sha256": "261e266be281ae865ca56e8fc7a898ba1c0e436a01b27e2d6a435915e556220c", + "cert_suffix": false, + "warps": 73 + } + ], + "544:357": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_357.json.gz", + "sha256": "a277f7ebde0eb9a59014ed603b6be913d4607cb98954e7766cd571b3dcbb48f4", + "payload_sha256": "fe559791da7b0a834b260e31e41f81410ca2603e7823361f6664bc50b1b25eb4", + "cert_suffix": false, + "warps": 73 + } + ], + "544:362": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_362.json.gz", + "sha256": "28bba0468bd2283e3081a4c851e7f2986d24ba3f1d7a614be7bcf44ec0b507a7", + "payload_sha256": "30ee68821675243b2c75aa0a65dd54c8a1adaa5871645e4e488df0a3b58eeb3e", + "cert_suffix": false, + "warps": 73 + } + ], + "544:369": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_369.json.gz", + "sha256": "ddff39719eae3dccc8fb7edf4154105a7b659da9bef1541b14e1f8f47db0312b", + "payload_sha256": "326b241bea792338e38d7cab2372bf3ddb73178c5e38fe307668baee11991b2a", + "cert_suffix": false, + "warps": 73 + } + ], + "544:371": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_371.json.gz", + "sha256": "1a3d0ad578af6cd1a8e1267625b449729a2e0895566b4a1c34137254ae81208b", + "payload_sha256": "f7796946500010f744980c5f41eb04fd6d4649e2bb345f66446517c0e57c68d7", + "cert_suffix": false, + "warps": 73 + } + ], + "544:373": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_373.json.gz", + "sha256": "1523e110a524ffb9737490729e4015570d0fdf76b915852193b88e72db54e8a3", + "payload_sha256": "09b3512d5344da8e43e45a1cd6b0ed60caebd5b1dcfd41c01a91f829befff625", + "cert_suffix": false, + "warps": 73 + } + ], + "544:378": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-544_378.json.gz", + "sha256": "e89c84ed8a1637dbafdcfbe8769ee0c0569e5a848da6367d8c9d0fdfb5221763", + "payload_sha256": "d5885fc2a90f38108d34765cadfdfd0b1b06b726dfd6f9bb21d802089f16ef88", + "cert_suffix": false, + "warps": 73 + } + ], + "545:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_277.json.gz", + "sha256": "8e99c5926c742423d739144ac4ef240157c29d84b66014707e810e7666d41875", + "payload_sha256": "23719429fc631a72f33b6b15fa54242fcde2891b7e880196ca28feefc207d8b6", + "cert_suffix": false, + "warps": 73 + } + ], + "545:282": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_282.json.gz", + "sha256": "fca41dc410b644b26d9a50f4a6d44f59882f45535f7d8e336aacfd7b70619981", + "payload_sha256": "b52da941a747d7af10066081bd2098ca5cdc95755985581c9ebfb184a252104b", + "cert_suffix": false, + "warps": 73 + } + ], + "545:293": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_293.json.gz", + "sha256": "b7139e70f3a8e1998b8396b17c2078649d4199f4f2e543d03e4649ff7f6814dc", + "payload_sha256": "63a611e6d60baf39067dcc36e73d7be13b879c59e2b2d26beb59df3e44aa90ad", + "cert_suffix": false, + "warps": 73 + } + ], + "545:298": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_298.json.gz", + "sha256": "0fee64ebed7703cd9fc4926f1244d44b66ea8ee3abe3ff3e3fbf9e8dd290531d", + "payload_sha256": "0b24447762a2707554a6d30a8640ff82ce5fc88053b834adc56922e0f7142e4e", + "cert_suffix": false, + "warps": 73 + } + ], + "545:307": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_307.json.gz", + "sha256": "e01054f0322adaabdd9cdb86500e40342fe1744d11ccfb4ec5ebdc847963c35c", + "payload_sha256": "837b9f157eeedc55292b1012a9059043a9e7845e2ce3bf1bfc5201777a6e1377", + "cert_suffix": false, + "warps": 73 + } + ], + "545:309": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_309.json.gz", + "sha256": "8b2519848044bca8a2ccdd26cfef6a4287a70e5c258c805fb93071401168405e", + "payload_sha256": "e6bc49d810f5dbcaa7f416e38f8e26b3de329144ac64584736c76f8cf24555cd", + "cert_suffix": false, + "warps": 73 + } + ], + "545:314": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_314.json.gz", + "sha256": "ad412e1ea67e924ccd9d75d67055d24c0bf5c2dca916ffbe02487e93ee47eaf9", + "payload_sha256": "fa376aa3c785fd6487190f2222eb363794e5f098e5e56dc3339af3a4dec3fadd", + "cert_suffix": false, + "warps": 73 + } + ], + "545:323": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_323.json.gz", + "sha256": "91ec1c88fd6fa031255f0f9da8b5018164ae88f6ce9e24f5acdda7bc314f61b9", + "payload_sha256": "aa1910f9414f146a34a8cb1a6d72adf2f68d0691deddb5ae934202b08f7dfcf3", + "cert_suffix": false, + "warps": 73 + } + ], + "545:325": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_325.json.gz", + "sha256": "c7bfde3e1539eeea5909b41c7b62c6e18f62ddb5958d3e5479f4a352bc8bad37", + "payload_sha256": "07517549565f0181867c584acfd3dd551533a7b35afd1742ddecd73eaececa8d", + "cert_suffix": false, + "warps": 73 + } + ], + "545:330": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_330.json.gz", + "sha256": "f206f0b83270cba318ca2f5d5805ede108a80f3dc588e0aa0a089baee13bf572", + "payload_sha256": "38638c7363b7dfde2264a4f1ae6d28bc3faafa71a5a9c9de18c21c6fec6826b1", + "cert_suffix": false, + "warps": 73 + } + ], + "545:337": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_337.json.gz", + "sha256": "72f6b0d56ce8a22f1c537752ac909a1ab082db7d9b3a22387f478f89d09f4e7e", + "payload_sha256": "9abea85ad105adec9c5d8de642ec99f426d1e25f5806bb1f67d71243d71cb005", + "cert_suffix": false, + "warps": 73 + } + ], + "545:339": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_339.json.gz", + "sha256": "0ae880f412dc60c079fc9df063aacad35cc84cbf0e6821bd38cb29367c84eee1", + "payload_sha256": "1c3752ce03e7069de4e04090c7f66a0ddb4498ba291d1d4e34dd0cde856f53f1", + "cert_suffix": false, + "warps": 73 + } + ], + "545:341": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_341.json.gz", + "sha256": "a211ec7c5dcf2637f58f17d7a560ebbabbfabeac4b28856f23e1c7360aaa9c24", + "payload_sha256": "0b3a24c5187e6434fffbbf98812de1250203ff055eca5c6f798f63fabefed19d", + "cert_suffix": false, + "warps": 73 + } + ], + "545:346": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_346.json.gz", + "sha256": "ae0df44043f859d49d56205244772cd9367942c9dac3784cf7110b0f5b4ffb93", + "payload_sha256": "7f5d00743c0a9e726fc41cb07112728b9cf98cb15d0dad5bbe56250d2eca0c67", + "cert_suffix": false, + "warps": 73 + } + ], + "545:353": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_353.json.gz", + "sha256": "43b9e191d3467aa4d30b682abe10cc039b89bc1c4118af6fad2ca417507c9866", + "payload_sha256": "7c5e4449ba1309e5c0ceb49e7474a8b362683dbe8950abd1097e4a9be6e80121", + "cert_suffix": false, + "warps": 73 + } + ], + "545:355": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_355.json.gz", + "sha256": "ea615065ccbc9a1bd00030439d5bb69e09fd7ac68e991154f3544bbf01564e5b", + "payload_sha256": "fb3de369220390d773794c91daba9fb715c86234c7a75f839548c60f9dfaac7e", + "cert_suffix": false, + "warps": 73 + } + ], + "545:357": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_357.json.gz", + "sha256": "ad950ea08109eaad791c0436daffb3a951c0112f12fdb6657c759a2c1e457305", + "payload_sha256": "1fe4cb3363ab12312edf59fe7eff01e4147abe13b8770dc5c264a38465e18eaa", + "cert_suffix": false, + "warps": 73 + } + ], + "545:362": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_362.json.gz", + "sha256": "faddadb4aa2d28a029a5e25fa09317b981f209062ba1143b257e6b9b1cdabbc7", + "payload_sha256": "54d971dca3f9e84fc0b47c48fa1252201f9344ab9563dbf26f3aa98e7f4c076a", + "cert_suffix": false, + "warps": 73 + } + ], + "545:369": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_369.json.gz", + "sha256": "75c8befd5b648389c582bfa1e945dbe3f9042f9a861e77bf70b68706124aaf2d", + "payload_sha256": "cc5cbec74cb314a34cd1367a8c10b30b956f74e11f2f643618d95580418d3b2c", + "cert_suffix": false, + "warps": 73 + } + ], + "545:371": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_371.json.gz", + "sha256": "a91f1ffd4af0b16425cd1441ac5a0c00e817542c4cf886a9acb81a92440e58f9", + "payload_sha256": "401170d657de3b26ba5bede7ec849185f91d2b776e98d689d56e3d0de5c32a31", + "cert_suffix": false, + "warps": 73 + } + ], + "545:373": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_373.json.gz", + "sha256": "0cbb825fbbc1e71905628eaa1d182e266145dc1392ce797e68acd749058e4ceb", + "payload_sha256": "871440e1c7f04be6b9ad564db83c1f120485f4e07ae6880d3c32d6f35a89ad04", + "cert_suffix": false, + "warps": 73 + } + ], + "545:378": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-545_378.json.gz", + "sha256": "8791feb2e82daaf0d69cc981540af182454b335c190fc1e6e1d387d1acf37ee8", + "payload_sha256": "350d3d1a18335acf01e7f920d6fb354152a4319d7dea9aa45d41caba4ed2842e", + "cert_suffix": false, + "warps": 73 + } + ], + "592:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-592_277.json.gz", + "sha256": "4616c1bcf2275b8d275ce3a6c1cc1ebb4712538f45ca1882b467eeaf1289b4da", + "payload_sha256": "7754db9a8531ef68d0da9cc53973e45fd5f74485b48bad5857f5ded57f7dc859", + "cert_suffix": false, + "warps": 73 + }, + { + "orientation": "e", + "path": "J-dim1/out/eh/w-e-592_277.json.gz", + "sha256": "6c8ce353f5dff0f7645e483fc9877cc99ff11867d11a33609e4951c0808fc1e8", + "payload_sha256": "193128354016ef84ea4df0590773434aea09e446e3653301d201a7c1813bf110", + "cert_suffix": false, + "warps": 73 + } + ], + "624:277": [ + { + "orientation": "b", + "path": "J-dim1/out/eh/w-b-624_277.json.gz", + "sha256": "8cc70fb47a312a94a3a15b4d6fabee70bfd59129f2d7d4fa413b5a5695d86ab1", + "payload_sha256": "04acfde599cfceadcaa1dd036a4550f113400df137feb6dcf1f86f7d120d20cb", + "cert_suffix": false, + "warps": 73 + } + ] + }, + "canonical_word_payloads": { + "b-472_277": "65eeb990f0c328e51f05358c0c0adbd0a3223800c4e405f52986ad9a74aaef65", + "b-472_282": "562a360f1eaa9c5c068ee9a28590c65bb7a4e89d258bfe9ad78e791b759e1e0d", + "b-473_277": "6b502ff9d0eb5e92314d31628a0d81182754d3da8fae4c66e1d83c17bf271c7c", + "b-473_282": "192d8ce291f366e0cfec122c08051f2e1fe35bfddcfd79196bdc952936500b6d", + "b-496_277": "bc666c6bce88138a150ff1df9bb21992f9beeb354d79f6cb4211482d41ab0f9d", + "b-496_282": "94e9b5445b9451a90259ce5d5aebeec13650b6803c3b1a1023a5c6d05ea794fd", + "b-496_293": "65ddc39e02dc4f93dc54ee173ed99bf5217ec3d3993fca8d8ffd8683670a65d3", + "b-496_298": "b257dc8c267384435bab85812a7b015fff907755dc6c586e4ae59ff1592f331c", + "b-496_307": "9b72b5b6d4be651ba8acf9af1536ff7718de0950a7293a9cb3e9b2be42bb4c43", + "b-496_309": "c27ec3409f049e5f671bafcdce3dff8a8aa11b73f572ed003e8eebd85eb855a4", + "b-496_314": "e52c1eb98a028154142831bf82e11c3928ddb349348938bb7741dd5de62e2fdf", + "b-497_277": "d106e8e87bc9a3238aa1302a30fbba393ca1cc0f8d95f424a6861a747ac8cfea", + "b-497_282": "ffd005122ee483917748bd88b9114a56c8dcb408534c30c8336b35557952668d", + "b-497_293": "3300b7fbf8e1f9b0d83ad51c2e445fdce70c8004bbec61e2638804bd49c2607f", + "b-497_298": "83e6e8500a7e219e0b1ca524f4496ff0c6e4f7491de2ad3ee9692e5c4acba458", + "b-497_307": "1ddae276b5c0481bb77b43735e2dab8aca7f2fc1afe0f0ed93723d40d0cd8a3c", + "b-497_309": "2d0995cf59663c07e8be399ff8e0bbbd0f61a645f1d53e2f303be08629759f7e", + "b-497_314": "6d7ff9f83a1ff6ec18686b5c4bb648fdee55e8250d095e64812348fd55994427", + "b-520_277": "aced9d05997404aa7032fbbb3a9cbf6381349f8168954fd1b7ae60e13c4fc392", + "b-520_282": "b6d42e5cbdb93cb2418b78795abb70b87912bd208dc154c28ea11e7913d461d9", + "b-520_293": "79c9b477fe8184c6a371cd4380e0c5a5e69afee3c685be87ab848e21c697142d", + "b-520_298": "547b3ef6269672de7eca0a293c6d3a99aab553f6030ebf868678bc446701c6c7", + "b-520_307": "ddeb2ff33d5631fb60ec68993535e17e34f6091d59361b9bf9a6eef87f1b7675", + "b-520_309": "3f787f4b9bbe56737b3f7b8c9105f6851f2f1ece574179a89456db87093cb714", + "b-520_314": "b37775058f1d344eb43dbe629b25446e231d78f574925872a4c46c113ee6a1c7", + "b-520_323": "577ed690a4c79561e765cffd7bd57d2006405ad1b8f5090c609c6afde0c851c7", + "b-520_325": "a1ed97669ec730a77bf9868fdad58d865e520dbfb67838ec5c9f007f85f40dca", + "b-520_330": "a066666b9475ce6de94b300d4093453968c53a86fb2b893fd08bca5cc1115e5a", + "b-520_337": "534e9ba905b6f6f5f66778c87c7d2b0a54c1ab432d3f8d6352eaaeeba50fe84c", + "b-520_339": "a040c4bdb1da43c17978ebdf396d79ef2b85f6d7d96cc586c70b4ca3b8e95c25", + "b-520_341": "df0c876079d4bb504c4ee25d17cea711333c8a83aefe672d4f9976097982cbad", + "b-520_346": "6ec7ad41d4fdc7b8f2e74154f1e65e5e4dd5acf8cd87cf49c35ecb92300f2da5", + "b-521_277": "69d2d92c50dc67f15a877380c5c61e7b0d5df321179038235941a4d784c258b6", + "b-521_282": "dcfd945873a2eeb1c54e8a5f1ea75f067e8c736ec3a9025079327b12506ae594", + "b-521_293": "810e6216e0afd48d112194565583f4dad026b1b6d5485a37bc0a4ec830fe0786", + "b-521_298": "c8ffa01b6e87f3c841859f33dbc8a6f6a81fe258fc2b2b7d09eb5f4056a0ba03", + "b-521_307": "bf0c63a9b3244d301a43051c029f613374def07312627e8f76ada02fe2dbc7a3", + "b-521_309": "5d63fb57d23bf7fb0fd749d16b76fbc39273e64955faa5b2e1b69b628d3f98dc", + "b-521_314": "3190580ec417069010da192506bad79cc7c4c50d0f778cdf0c5353928a31f1f4", + "b-521_323": "a93084bd8331fb936b14686b2cdb8b701dbf388d46c2c9abffed481590ca55f5", + "b-521_325": "69b4ab7799a53e9eaf03c8ffedac54d9215efcbc9afb33af586b0cf9fe84bb91", + "b-521_330": "4485986904e4fd88bc0b8887c071b5f3b62e69e2874817e5c78ad8f512d47b35", + "b-521_337": "8019f55da694427b317f866f3ff33c84d4c1716df28e3786376ad0b51e0a972b", + "b-521_339": "6b4a3e8a9ff74a0c9955aa07b99d27d848a58d6de32711cd55d338ebd5fdec6b", + "b-521_341": "97620f64430efdece173c00af66fecc1c7b96b1f71a687623cdcede713d63b33", + "b-521_346": "d3dd168ebccce621b2f247e0476e920f04b435f35dd8afce8bd1405066d8e079", + "b-544_277": "280bf15141826ddd3dd677bd5cec0c67ad3072bd053bf98de92e0d5ebeef810a", + "b-544_282": "40471a5b98fc899fb5b3eb8c446d8d5b91dd1fedce095315ab70800b358db8c1", + "b-544_293": "ab5a259af6cdd6882afc85c88069ffff6da142554ad838ba841fe66b7912b33a", + "b-544_298": "80b38172e6cd9331b38da6ee563042576fb75a3bba6535bad1188035b2cd329c", + "b-544_307": "9e37448cc0a811cdda66d3f1772cce4150e7746518621a685ce248caa253ecde", + "b-544_309": "fdd5cfef139b3e4d695434d8e6117663c631a7f7bb4a94d2d7b9c3afa879b5cb", + "b-544_314": "298f40671134c7cd77579b4c6f418d03a19daef3e9df5b77f8c44610c22d1d64", + "b-544_323": "0c3e32dd845c8caed854b8fb097bb2961b14d3be37ab06407fbbbe212465cd8a", + "b-544_325": "3b0190eb254ffa3677bd426da4abdfe4fc5f6a3ec71146287d92d82d1e1618f9", + "b-544_330": "0fb42fec9f96f098fa873fe6bf950805279c426262f7483c44ac910fe6b18dc1", + "b-544_337": "0225350acb40ae9b89d155ad506f9cbc1047e41e7db70bafbb31ced218fbe0f7", + "b-544_339": "2828af710a39f58989de723bf3af90d5230c42176e8e8828c088dd96b3775172", + "b-544_341": "548c5c791103a6dac6a621808491fa6deba29ef1ede11b3c30beb8f6987fc481", + "b-544_346": "9e023caa7046fd63b01fdc83ffa285dfbd5a19763832e26282146c507ac6f5fb", + "b-544_353": "fce4def68fb1b72c299ad40a0ac34793108e1e308fc874086b52a4c5e74ac8cd", + "b-544_355": "261e266be281ae865ca56e8fc7a898ba1c0e436a01b27e2d6a435915e556220c", + "b-544_357": "fe559791da7b0a834b260e31e41f81410ca2603e7823361f6664bc50b1b25eb4", + "b-544_362": "30ee68821675243b2c75aa0a65dd54c8a1adaa5871645e4e488df0a3b58eeb3e", + "b-544_369": "326b241bea792338e38d7cab2372bf3ddb73178c5e38fe307668baee11991b2a", + "b-544_371": "f7796946500010f744980c5f41eb04fd6d4649e2bb345f66446517c0e57c68d7", + "b-544_373": "09b3512d5344da8e43e45a1cd6b0ed60caebd5b1dcfd41c01a91f829befff625", + "b-544_378": "d5885fc2a90f38108d34765cadfdfd0b1b06b726dfd6f9bb21d802089f16ef88", + "b-545_277": "23719429fc631a72f33b6b15fa54242fcde2891b7e880196ca28feefc207d8b6", + "b-545_282": "b52da941a747d7af10066081bd2098ca5cdc95755985581c9ebfb184a252104b", + "b-545_293": "63a611e6d60baf39067dcc36e73d7be13b879c59e2b2d26beb59df3e44aa90ad", + "b-545_298": "0b24447762a2707554a6d30a8640ff82ce5fc88053b834adc56922e0f7142e4e", + "b-545_307": "837b9f157eeedc55292b1012a9059043a9e7845e2ce3bf1bfc5201777a6e1377", + "b-545_309": "e6bc49d810f5dbcaa7f416e38f8e26b3de329144ac64584736c76f8cf24555cd", + "b-545_314": "fa376aa3c785fd6487190f2222eb363794e5f098e5e56dc3339af3a4dec3fadd", + "b-545_323": "aa1910f9414f146a34a8cb1a6d72adf2f68d0691deddb5ae934202b08f7dfcf3", + "b-545_325": "07517549565f0181867c584acfd3dd551533a7b35afd1742ddecd73eaececa8d", + "b-545_330": "38638c7363b7dfde2264a4f1ae6d28bc3faafa71a5a9c9de18c21c6fec6826b1", + "b-545_337": "9abea85ad105adec9c5d8de642ec99f426d1e25f5806bb1f67d71243d71cb005", + "b-545_339": "1c3752ce03e7069de4e04090c7f66a0ddb4498ba291d1d4e34dd0cde856f53f1", + "b-545_341": "0b3a24c5187e6434fffbbf98812de1250203ff055eca5c6f798f63fabefed19d", + "b-545_346": "7f5d00743c0a9e726fc41cb07112728b9cf98cb15d0dad5bbe56250d2eca0c67", + "b-545_353": "7c5e4449ba1309e5c0ceb49e7474a8b362683dbe8950abd1097e4a9be6e80121", + "b-545_355": "fb3de369220390d773794c91daba9fb715c86234c7a75f839548c60f9dfaac7e", + "b-545_357": "1fe4cb3363ab12312edf59fe7eff01e4147abe13b8770dc5c264a38465e18eaa", + "b-545_362": "54d971dca3f9e84fc0b47c48fa1252201f9344ab9563dbf26f3aa98e7f4c076a", + "b-545_369": "cc5cbec74cb314a34cd1367a8c10b30b956f74e11f2f643618d95580418d3b2c", + "b-545_371": "401170d657de3b26ba5bede7ec849185f91d2b776e98d689d56e3d0de5c32a31", + "b-545_373": "871440e1c7f04be6b9ad564db83c1f120485f4e07ae6880d3c32d6f35a89ad04", + "b-545_378": "350d3d1a18335acf01e7f920d6fb354152a4319d7dea9aa45d41caba4ed2842e", + "b-592_277": "7754db9a8531ef68d0da9cc53973e45fd5f74485b48bad5857f5ded57f7dc859", + "b-624_277": "04acfde599cfceadcaa1dd036a4550f113400df137feb6dcf1f86f7d120d20cb", + "e-472_277": "c5a4c0a6524749e01b8e8c1523e231868e3cf066afc67b3177121f92db784514", + "e-472_282": "b443782b4f43e9080cfeaa634cd9152ad5e6c0006c6272f22666f393322d4433", + "e-473_277": "2e41cca12c339b0728dc95d6d493ef84bfcba7df2175390474739faa0b3fbc9f", + "e-473_282": "81eee313f4f3850a3c88286f5e6233fafb0a1adbba26ee1d93d070695c1a2450", + "e-496_277": "9c89e2e5fd4de90c4bc4b830df119e0da5afbdfbb4748097582508517d2fce30", + "e-496_282": "142bab8cd10ace441561ec228c6ff2a11af38c245a5d7b8f4bd6bfdc587fc565", + "e-496_293": "4f0df2eb12c7c6873a5c73ec4b50f07fd2b694ff9317590e466ebc0c875c29c5", + "e-496_298": "22caf761662d98079825e51b73b6da6c350374596e630906f904f6572f632a7f", + "e-496_307": "d3e9784075ef8336c2fa5effb3a5f900bce221a776530e39637a2b34262614ad", + "e-496_309": "88cf4700ebdfb579a03d51efc4c99cf002f646db5cd994983744bc119d3fa239", + "e-496_314": "5a2f5a503f1f19d3bc36ef55b6f5dd83a5a86691ff997bc8fc3ec788c28eacc6", + "e-497_277": "94b85da5079e8fa7dd5bdee16ecc7b17629d8742d639e24b076cb44068078d81", + "e-497_282": "859e99c672a134a8ee4c7a54f1d6667be41d416e6efe66dd011807ecf017d83c", + "e-497_293": "74e93d2e7cf24a52afa5c1f722a292ed15a55d7b45b135032dc616e256159094", + "e-497_298": "863b1bad679317f1e47f67d95030aaffab851dec744afa9219ded84154ae891b", + "e-497_307": "ab878b1cff23e030d579b98a4eb37a9988bbe98a1eae62a756abb844d472fd77", + "e-497_309": "c08180fc889e9301e5b9d937a20dc7adbcd1aad48dda83d1e56c815a679fffb9", + "e-497_314": "8df4e30cb0c577d35ce544940656e451bafb52cde69611050b29505053553190", + "e-520_277": "dcb22131432ac710802fafd11282d9e5d945f1cfc80cdee1b77ae29aa4a8bea1", + "e-520_282": "91b4c081704ed3389886ee8bce80dd04d9507b085c5032ec38c89ca8deb4daaa", + "e-520_293": "17ddd9b6f05a714652475b2db31f31a22096a52c8007cc4641ff292c682d1ea1", + "e-520_298": "a8b0b6564b581964b750bfceeee07ab48ed471c81c0ac11081bac9db80aace58", + "e-520_307": "b1684e12a91be9b2f5a22084920cf9c125e1f62bf9638c837273040841b431ae", + "e-520_309": "ae53822ce175eeaa776e0467ffcaca3895e38e7a7b089e59a72e6d0c68159752", + "e-520_314": "46cec0f436bc27a3281e5c76591c7eb9f218098e75150e8477bab7566f8cce15", + "e-520_323": "ef553e19caa946415a0805116fae376353a911bbb6f241981c20933772db2f9b", + "e-520_325": "cc45ff8bcb1fda7260ec21015782843042e85ed3c82a3042a35b0cde6ac3f686", + "e-520_330": "ad14207a28ba59e8eebd44b9b7feaa3dbfb374865c0e8e29fcb8112ecb1e46e5", + "e-520_337": "c78f53ed904e9e810f2d2617cd1ef6bd2551b287f8703e1391238889a34c5c50", + "e-520_339": "26ac0b473b43a7a48038f6ae934b91120f8677f8c06f2e5d760e2576f8b130be", + "e-520_341": "1d9d0d50683f2c78fe99ba3d73bfe091b0f5c31b5967b090e92d8f1db116efaa", + "e-520_346": "73ddc86c62872161ce1ce3dfac107e34eddae5183dd88b70a15f5e39f848a10f", + "e-521_277": "0a694ad2b8544e25be97e5a637445f9cbb4afe399477ca040732f0e893e22c27", + "e-521_282": "e4f88184603993f01c6dd22d508761500656f9d791d70fe9a2175b321beddfde", + "e-521_293": "1a2ae5cc500220f36847ef621babd9fa3423d0d6cfd9d5460d03e452f90b230a", + "e-521_298": "2df1c9d381b13c9a9f9fc2dd239a70924aefd4fa775ea8f91a6dc13b7cc01916", + "e-521_307": "b6909ce98d81320f9e8181b9604f96bb9e8e1110b01f078e09196a06cc8fdcfc", + "e-521_309": "84546e9dc46e3272888c729cf0e3b6a148ef11798f39177326313477fa83b529", + "e-521_314": "8d18e5c5f4e9c62717ed65fa65435388c08c7d8046cc2ae4eef47d4b04c8469a", + "e-521_323": "ba3b76f28924d5048bdc7774f3d80c331cca61af1cc77b576525ec7930cde15d", + "e-521_325": "dcc3469a55d69c9ab7badc6dd4c673f23bc1a1a2dde2b8948508196fe4e1db14", + "e-521_330": "baec130c7022d281ef50a69cbcddf322f48aa8e74806052573c4cd39cf1a3502", + "e-521_337": "27850bb689d82b954cdbda3394caadf3bb70fa4fd6fb4d6a093d997cfed7d890", + "e-521_339": "82cb5e3f09a61e87a9f609324c8a95358dc533077456c925b9bccd5fe6a01c4a", + "e-521_341": "fe8f05c18b3e9db40e9a715ecd3873104b036ab5121f48b87a8cbd6a4e3d106b", + "e-521_346": "5ab4c3a2d89ff387433b65ab06ac73b9019a6e51b8c519a072856f41c8dc416e", + "e-544_277": "3feba5b8b2df8f5966742968dc19c0d96017835089f06b30d2c687b050ddb672", + "e-544_282": "d5658864907466bb9aadfd5728160435cb5039ee41c53c2012ffe927367dde5c", + "e-544_293": "d82d1196029749a9416bf82aae4c079af6395d2a2d85df3b04f1bcf096af9cc6", + "e-544_298": "4c65275a181d12367ea22042f0fda242c508ef512da4e8482af43ec8ba322346", + "e-544_307": "56cfa948493ea46d2db5fa47e117a408c4e08304e7e19f93205514865efb5295", + "e-544_309": "6e1ef7c4f671ed15cca642df1e60b686099ed307da8d5d19bb4085d8e7b2752a", + "e-544_314": "429fe8b498c48923940227761a61a76be0bf0df51bd0725c9d82ac42671d0c78", + "e-544_323": "bd00299b3147cb52d6a6c4ce2bc56071a50d2e2f0d1abc5d7d4a1ff217efaf58", + "e-544_325": "77e87acdd39f66872bf146ccff682d1de1a83bbd4a38726cf89a6b624f83aa4e", + "e-544_330": "7c99cd214be64f9a6db734114b4623c4779695a71ec288655a28654c134d9b61", + "e-544_337": "9ab74ab8abf78b8303c042df665eb8f441c6288635e89962c31de8bea49499fe", + "e-544_339": "ab32c6462800d77b0b956eef3dc09722641dd67e8073b08fda1342b1641d64ba", + "e-544_341": "baed61ccf6ccc999b39c62b30b6bab9fdef1dfe4dd6d44b0901a31702a241317", + "e-544_346": "76c7e3eaed1ba5a45dd36021e208536b090ea61bc7c2f28dcf4fb9d0b90180af", + "e-544_353": "e49e27f0065d789977bf46695a07c5a9bb79903da4757914dd07907b5749fbd7", + "e-544_355": "91da0dd4dba238b65d374fcdc94632199852c321260792fdf262ccca8fdad686", + "e-544_357": "6b588e9ea49df4a4b963f507c2467a145c2eb2d25df15ce1e82663a782d1e17e", + "e-544_362": "69c8444709511f1469c042e0830fb494a62218c02d1b1e371c74407446c9fc44", + "e-544_369": "4e2d37ab94616999144ace61db22c07ceae572410652528ef3b8fcfde57655cf", + "e-544_371": "7f39a4adfc4b598f68fc4edd76e8e940de68d9b160dc876caec43e5ca03a4888", + "e-544_373": "8119415a5e5eef743b70dea5fc171973ab03cdbf61a1e7bd59f64ce8f70c0dea", + "e-544_378": "19b066332844e9e2db15551b2d7d78bd9a598305223584bdaec0a04420688d2a", + "e-545_277": "c776eda2e59e0f91b1d11127fedff403fa5c9bc27e719ce666269f1ab3f4e959", + "e-545_282": "4f6ee5e1e06ed93fe157e69d2a355d13bc3c781cdce6534acbe76a8513985ec1", + "e-545_293": "0518acf3a957e15b651e0c17af9f60a6a3f0fc9df30b59025c19d82a2c000ae7", + "e-545_298": "6cf3cdb44a71e9baf1be09d0c61a96958b14c2535bee43a178bf54ea3239fd34", + "e-545_307": "fa8d9eebc484bc1ddfd013cef8dbec6e4d791f5d052ca68d84225dece8f63559", + "e-545_309": "d64d82f491a7034e4eea4f9a002ebfb8c3839221a891db71571bea278240013f", + "e-545_314": "258e314b7e5d40b33c26636ab2e44267edd1b59df8004e4a84115a5cb32972aa", + "e-545_323": "a4ee3becf406e182b9ff97096225386feb7e870642893e7eabbdd96d76e42c1d", + "e-545_325": "87d339d4ac029dd6100ab5dd5a158ace60bf1f828b2c701b0823f798cd8f715c", + "e-545_330": "6e2be12d51b7e755559dc4198fb2d9638978b6fb1406acd17e137325f7699f84", + "e-545_337": "b40affe67a5e06b9198bb7c64a9c45dc2f7d76c957309669774c2bff714c754e", + "e-545_339": "936597984fcbcf228470c475ad7850c6ccce547258c5d7a74377612df0baead0", + "e-545_341": "88dfcb56031ef9eea88c27bf7efc9cb7495b97c8a86f24563483644421b56879", + "e-545_346": "5173a3d146b027db3e4710617d7e674f50b4ea89a84c0794497c0fa9743b212b", + "e-545_353": "33425bb26760812de183763f431a755fdee2b92116e9155973a79560e3951bcd", + "e-545_355": "3dc5eca2195867c69e09ae1c30ecb4de4aeb0c45b338f3ec487b42eb4c6c36e4", + "e-545_357": "8df8bab7dc24f0e752c667088d6e4af923f2185396ae625c7fcdd4e39a64580d", + "e-545_362": "7896d3c33abbe2d8360d3b3476407d06d1eaeb12f671a880884db845e623cff3", + "e-545_369": "3e46fb2f0d9a7a0372eb727d2a86d671c4a50a719e9558b25791678b56c5a95c", + "e-545_371": "7ace53d492fe2727aa3299772a76be5ccfb45ad3ceef85a05a5532d13a2c8abc", + "e-545_373": "2db8978a6698f29650d88a07b6c85cedf7e4c330c15e4d74b99e61f15a763cb1", + "e-545_378": "4263781bc673efcefbf2965f12fe71ab682634567c1f19ca0b38d8534e585709", + "e-592_277": "193128354016ef84ea4df0590773434aea09e446e3653301d201a7c1813bf110", + "e-624_277": "f750338f4e8afb2d28e470a9f957214016a4b7f0f51094c00b198e3bb272b116" + }, + "words_json_xz_sha256": "9473129455218f91a58ee2e8b2de4474a94f57bc9b92f7f58474c366cbaf1b9a", + "words_json_uncompressed_sha256": "78026ff04089212bcb2de9c3eb9f9ec283c3fec140587cdb12864f761b169466", + "frozen_root_note": "original absolute path recorded forprovenance only; replayhasnolocaldependency", + "parents_json_xz_sha256": "1d8417378ea1d148b107f08aa1d37881e85e84887a97e53cd232985e3b4e955e", + "parent_source_sha256": { + "b": "3b6aadec4309badfa77054a5d9c0c9529216cc8f5d0d639bdb3b72cc43e490b1", + "e": "8613650edb161301b5c077fb1ba99ffdec963a959692f2535201deac088aa20b" + }, + "used_inverse_prelude_sha256": "a30f1566100419b0327f9468bc26804d59906f5cde8e4c54f13fc9c023977288" +} diff --git a/research/t74-cold-host-restoration/direct/USED-inverse_prelude.py.txt b/research/t74-cold-host-restoration/direct/USED-inverse_prelude.py.txt new file mode 100644 index 0000000000..e9a98a6366 --- /dev/null +++ b/research/t74-cold-host-restoration/direct/USED-inverse_prelude.py.txt @@ -0,0 +1,95 @@ +"""Bounded inverse-prelude experiment on the frozen J hosting words. + +Credit: #2802/J hosting construction and #1186 frame toolkit (mdumitrean), +#2679/#2745 borrowing/auditor lineage, and the current direct-recovery lane. +This is a local finite experiment, not a supplier or exponent claim. +""" +import copy +import gzip +import hashlib +import json +import os +import sys +import time +from pathlib import Path + +FROZEN = Path('/home/marius/kappa/kappa-hosting-leads-20261015-2256') +CODE = FROZEN / 'research/t74-r10-hosting-leads/J-dim1/code' +OUT = Path(__file__).resolve().parent +sys.path.insert(0, str(CODE)) +import borrow_price as bp + + +def inventory(w): + out = {} + for q in range(2 * w['report']['v'], 2 * w['report']['v'] + w['report']['R']): + if q in w['removed']: + continue + end = len(w['helper_final'].get(str(q), bp.FULL9)) + start = len(w['start_extra'].get(str(q), [])) + out[str(end-start)] = out.get(str(end-start), 0) + 1 + return out + + +def cancel_operator(w, host, op): + """K^-1 at the zero entrance; compensate new target corrections by identity. + + The host was neither entering nor an earlier lender. Therefore it has no + earlier initial correction, and only the new op's target corrections need + the substitution K -> identity. This edit does not perform the scalar undo. + """ + w = copy.deepcopy(w) + assert str(host) not in w['start_extra'] + assert w['warps'][op-1][1] == host + assert sum(rec[1] == host for rec in w['warps']) == 1 + corrections = [c for c in w['initial_corrections'] if c['source'] == host] + assert corrections and all(c['operator_word'] == [op] for c in corrections) + for c in corrections: + c['operator_word'] = [op, -op] + w['A'].insert(0, ['warp', host, -op, [], []]) + w['prelude_events'] = w.get('prelude_events', 0) + 1 + return w + + +def fixture(tag): + src = FROZEN / f'research/t74-r10-hosting-leads/J-dim1/out/eh/w-{tag}-473_277.json.gz' + base = bp.load(src) + w = cancel_operator(base, 277, 73) + # Exact end-of-B old-value recovery from leader lane. FULL shared frame + # deliberately proves only cancellation/restoration, not a width saving. + recovery = [ + ['add', 277, 100, -1, 2, list(bp.FULL9)], + ['add', 277, 226, -1, 1, list(bp.FULL9)], + ['add', 277, 54, 1, 1, list(bp.FULL9)], + ['add', 277, 67, 1, 1, list(bp.FULL9)], + ] + # The retained restore section only reads these four sources. Placing the + # recovery after it avoids propagating FULL back into its low cold ends. + assert not any(g[1] in {100, 226, 54, 67} for g in w['restore']) + w['restore'].extend(recovery) + w['helper_final']['277'] = list(bp.FULL9) + w['cleanup'] = bp.derive_cleanup(w, set(map(int, w['helper_final']))) + w['report']['width_inventory'] = inventory(w) + started = time.monotonic() + p = bp.frame_profile(w) + w = bp.write_frames(w, p) + w['report']['width_inventory'] = inventory(w) + wp = OUT / f'fixture-{tag}-473-277-full.json.gz' + wp.write_bytes(gzip.compress(json.dumps(w, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + a = bp.audit(w, timeout=90) + result = dict(tag=tag, source_sha256=hashlib.sha256(src.read_bytes()).hexdigest(), + output_sha256=hashlib.sha256(wp.read_bytes()).hexdigest(), + inserted_prelude=w['A'][0], recovery=recovery, + helper_final=w['helper_final']['277'], profile=p['profile'], + certified_integer_surrogate=p['certified'], audit=a, + seconds=time.monotonic()-started, + scope='Constructive operator cancellation and full-end restoration only; no width or kappa improvement.') + (OUT / f'fixture-{tag}-RESULT.json').write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps({k: v for k, v in result.items() if k != 'audit'}, indent=2)) + print('AUDIT', a['rc'], a['status'], a.get('error')) + return result + + +if __name__ == '__main__': + for tag in sys.argv[1:] or ['b', 'e']: + fixture(tag) diff --git a/research/t74-cold-host-restoration/direct/WITNESSES.json.xz b/research/t74-cold-host-restoration/direct/WITNESSES.json.xz new file mode 100644 index 0000000000000000000000000000000000000000..5a516370bfd76609e1220584524050cfd5a2e239 GIT binary patch literal 6880 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 a0lPJ`o_GN5hc(5q#Ao{g000001X)_Amrp?e literal 0 HcmV?d00001 diff --git a/research/t74-cold-host-restoration/direct/WORD-PROVENANCE.json b/research/t74-cold-host-restoration/direct/WORD-PROVENANCE.json new file mode 100644 index 0000000000..28f46d78f5 --- /dev/null +++ b/research/t74-cold-host-restoration/direct/WORD-PROVENANCE.json @@ -0,0 +1,10586 @@ +{ + "b-472_277": { + "hostee": 472, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "224af106284f469a17c3dad32bc322c804343607ffeecccf4e2a593fa1f09634", + "input_payload_sha256": "65eeb990f0c328e51f05358c0c0adbd0a3223800c4e405f52986ad9a74aaef65", + "new_warp": [ + 544, + 277, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 42, + 25 + ] + ] + }, + "e-472_277": { + "hostee": 472, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "aa3a7fde558f585774c2979ed644db3f2704eb2d9b42c13255a502afbfaef73e", + "compressed_sha256": "f50164aaf2cd8f2f7b81696fbe8386bb52ce4bfbea434b749144bf4702e6b303", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9210004610940814, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "c5a4c0a6524749e01b8e8c1523e231868e3cf066afc67b3177121f92db784514", + "new_warp": [ + 544, + 277, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 42, + 25 + ] + ] + }, + "b-472_282": { + "hostee": 472, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "2fe26935b562deed8cf42ec67b268bd4186289063902a6255cf179f4204acda6", + "input_payload_sha256": "562a360f1eaa9c5c068ee9a28590c65bb7a4e89d258bfe9ad78e791b759e1e0d", + "new_warp": [ + 544, + 282, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 42, + 25 + ] + ] + }, + "e-472_282": { + "hostee": 472, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "52fbca3c23096baefe80273fdc576a4b450497c121810521ef29da898cf3b6e9", + "compressed_sha256": "716edf3267df19ca2de848ea09ab919a1907db4a5cf76b9ab72d6672a3d59367", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9234555810689926, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "b443782b4f43e9080cfeaa634cd9152ad5e6c0006c6272f22666f393322d4433", + "new_warp": [ + 544, + 282, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 42, + 25 + ] + ] + }, + "b-473_277": { + "hostee": 473, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "426bffd3ea874fd3f97ebcf731c43f1f576e8fba1dec8665294d7c1926df0389", + "input_payload_sha256": "6b502ff9d0eb5e92314d31628a0d81182754d3da8fae4c66e1d83c17bf271c7c", + "new_warp": [ + 546, + 277, + [ + 1, + 4, + 8, + 64, + 71, + 88, + 108, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 41, + 25, + 3 + ] + ] + }, + "e-473_277": { + "hostee": 473, + "host": 277, + "orientation": "e", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "735051e082013ded857ab03aa4dee1ee4eabc3aeced2cc7490dcc88aba96cad8", + "input_payload_sha256": "2e41cca12c339b0728dc95d6d493ef84bfcba7df2175390474739faa0b3fbc9f", + "new_warp": [ + 546, + 277, + [ + 1, + 4, + 8, + 64, + 71, + 88, + 108, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 41, + 25, + 3 + ] + ] + }, + "b-473_282": { + "hostee": 473, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "3e52cb132a23120348d05abbf414f718765ef9a7312eb610fcc499bce1e346ed", + "input_payload_sha256": "192d8ce291f366e0cfec122c08051f2e1fe35bfddcfd79196bdc952936500b6d", + "new_warp": [ + 546, + 282, + [ + 1, + 4, + 8, + 64, + 71, + 88, + 108, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 41, + 25, + 3 + ] + ] + }, + "e-473_282": { + "hostee": 473, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "6fd47d61fb82ea92bd10508fa6adc69afbcf0a88dc7f68a19641ab689c0e9b5b", + "compressed_sha256": "7b19512c7951303731409fd35d600a0318e6753fc5931c05691a88e19feb4fe2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9196358928456903, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "81eee313f4f3850a3c88286f5e6233fafb0a1adbba26ee1d93d070695c1a2450", + "new_warp": [ + 546, + 282, + [ + 1, + 4, + 8, + 64, + 71, + 88, + 108, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 41, + 25, + 3 + ] + ] + }, + "b-496_277": { + "hostee": 496, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "2fa58fb463a8e1589df29b40100988423e915c1b7212e71b14f19c9ee283bfc3", + "input_payload_sha256": "bc666c6bce88138a150ff1df9bb21992f9beeb354d79f6cb4211482d41ab0f9d", + "new_warp": [ + 596, + 277, + [ + 1, + 2, + 8, + 64, + 68, + 89, + 105, + 128, + 265 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_277": { + "hostee": 496, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "730416ad30cabd6df9560e5537ffec752e8b3cfd6f761b67f994574c8eff38e0", + "compressed_sha256": "38d57d8b5c3e7f5d5d10338accb39d16e6094e7373eb091ddf810b5370d846fa", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9179956670850515, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "9c89e2e5fd4de90c4bc4b830df119e0da5afbdfbb4748097582508517d2fce30", + "new_warp": [ + 596, + 277, + [ + 1, + 2, + 8, + 64, + 68, + 89, + 105, + 128, + 265 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_282": { + "hostee": 496, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "0f4d981fb77c11f7d2876e2e51f4b3fa1054394ef1b2b48fdb5ad7e1388763b0", + "input_payload_sha256": "94e9b5445b9451a90259ce5d5aebeec13650b6803c3b1a1023a5c6d05ea794fd", + "new_warp": [ + 596, + 282, + [ + 1, + 2, + 8, + 64, + 68, + 89, + 105, + 128, + 265 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_282": { + "hostee": 496, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "70c208dbee598b3fb026712c59b7ef7d7d6ccfb12e944a160462bf53dcfc62c6", + "compressed_sha256": "d937c5d85e1ac1ebd173b54e3111a5271f6c84c0101f89c6143eaed4dc403bcc", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9104885319247842, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "142bab8cd10ace441561ec228c6ff2a11af38c245a5d7b8f4bd6bfdc587fc565", + "new_warp": [ + 596, + 282, + [ + 1, + 2, + 8, + 64, + 68, + 89, + 105, + 128, + 265 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_293": { + "hostee": 496, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "8b9f9480f3d9a34ee0668718c7c29230c5f91ed0bb292e96c0835fe86915dd88", + "input_payload_sha256": "65ddc39e02dc4f93dc54ee173ed99bf5217ec3d3993fca8d8ffd8683670a65d3", + "new_warp": [ + 596, + 293, + [ + 1, + 2, + 8, + 64, + 128, + 133, + 145, + 171, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_293": { + "hostee": 496, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "12310df6330f6542678a2a83a992d3d80231f5c53ed1de4e66abee6e98d953fe", + "compressed_sha256": "100656c08cf1c9187d76616551b75d02e0c1d77083dee2369c010266ff8674a0", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9093309231102467, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "4f0df2eb12c7c6873a5c73ec4b50f07fd2b694ff9317590e466ebc0c875c29c5", + "new_warp": [ + 596, + 293, + [ + 1, + 2, + 8, + 64, + 128, + 133, + 145, + 171, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_298": { + "hostee": 496, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "b1b975f70fabf407accd0270359543d138b85f788f4541bbebe07bbd906feba4", + "input_payload_sha256": "b257dc8c267384435bab85812a7b015fff907755dc6c586e4ae59ff1592f331c", + "new_warp": [ + 596, + 298, + [ + 1, + 2, + 8, + 64, + 128, + 133, + 145, + 171, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_298": { + "hostee": 496, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "01a0f7cb1fde0bf89edeed9910a463fb7732f81ed28c66e1238ceb2225b3e018", + "compressed_sha256": "53350bf17370483463c9064d14063e79f119d3267a6e11356740e24846b97cc1", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9135677451267838, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "22caf761662d98079825e51b73b6da6c350374596e630906f904f6572f632a7f", + "new_warp": [ + 596, + 298, + [ + 1, + 2, + 8, + 64, + 128, + 133, + 145, + 171, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_307": { + "hostee": 496, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4330259f1380befdd38b80337911296612fe067f2da099ccf7a18a714fe7407d", + "input_payload_sha256": "9b72b5b6d4be651ba8acf9af1536ff7718de0950a7293a9cb3e9b2be42bb4c43", + "new_warp": [ + 596, + 307, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_307": { + "hostee": 496, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5e863566d2c3b37168297905a39157894c25f5c33cde73200e5dfbceb559961e", + "compressed_sha256": "07939d793c9f3786e7305585dab3df6dedbe7639bbb2b86e6e02dbf2bf43c971", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9327416326850653, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "d3e9784075ef8336c2fa5effb3a5f900bce221a776530e39637a2b34262614ad", + "new_warp": [ + 596, + 307, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_309": { + "hostee": 496, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4e7171a8b812563a28dc630fe62204d41e9d1428a8fe2971996a4bb4f64e1b5e", + "input_payload_sha256": "c27ec3409f049e5f671bafcdce3dff8a8aa11b73f572ed003e8eebd85eb855a4", + "new_warp": [ + 596, + 309, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_309": { + "hostee": 496, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "7791f119dd3f984313fe3b1687fd2da508e619a1ddeb7823b170815e8ded7149", + "compressed_sha256": "347c10f28c19f0ad5df2a6e7a906dd1663e807619eabc53beef14d7f55d780cb", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9300476526841521, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "88cf4700ebdfb579a03d51efc4c99cf002f646db5cd994983744bc119d3fa239", + "new_warp": [ + 596, + 309, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-496_314": { + "hostee": 496, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a1e7fc50e76ba38e30fb752ac04dac9fae0e2742a49a004d9c75da9121a7c3ee", + "input_payload_sha256": "e52c1eb98a028154142831bf82e11c3928ddb349348938bb7741dd5de62e2fdf", + "new_warp": [ + 596, + 314, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "e-496_314": { + "hostee": 496, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c7445ede7fae48c7e60982378fab61ea53878e4270265209bd027faef3dc3efe", + "compressed_sha256": "9ffaa510ee0e97e3d4f2b52e816b17a20c92a5d2ffd98f45fc92d6c4740b3a73", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9161924235522747, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "5a2f5a503f1f19d3bc36ef55b6f5dd83a5a86691ff997bc8fc3ec788c28eacc6", + "new_warp": [ + 596, + 314, + [ + 1, + 2, + 8, + 64, + 76, + 80, + 104, + 128, + 256 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 385, + 42, + 24, + 6 + ] + ] + }, + "b-497_277": { + "hostee": 497, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a14269527ac891dc5c1a1d0e5fa85b0639e2ab8c5f94f2c5d60a23ba60e6fff7", + "input_payload_sha256": "d106e8e87bc9a3238aa1302a30fbba393ca1cc0f8d95f424a6861a747ac8cfea", + "new_warp": [ + 598, + 277, + [ + 1, + 2, + 4, + 8, + 20, + 35, + 65, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_277": { + "hostee": 497, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "44e32cc41d8ad8d14dbadaf40a3885d227115a0cbf2082f911e58ca477605b6e", + "compressed_sha256": "0df9c4923703c01f6115c09b146e8805a17c5e287083869fae58393fee2da157", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9143677400425076, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "94b85da5079e8fa7dd5bdee16ecc7b17629d8742d639e24b076cb44068078d81", + "new_warp": [ + 598, + 277, + [ + 1, + 2, + 4, + 8, + 20, + 35, + 65, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_282": { + "hostee": 497, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1f050612dc26a910bf432b5b1fdd2a8ca9e4af2642d935282a6fb1497f2ce216", + "input_payload_sha256": "ffd005122ee483917748bd88b9114a56c8dcb408534c30c8336b35557952668d", + "new_warp": [ + 598, + 282, + [ + 1, + 2, + 4, + 8, + 20, + 35, + 65, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_282": { + "hostee": 497, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "65584ca1381a77fe5cf16e9a91b37b479d6d2e835b04fc3477605e0bab3ca007", + "compressed_sha256": "36b0f5d905b3a92d931b81ec019ef3dea932ee114a25fc7ad6d7d5de8d3c32d7", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9092272277921438, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "859e99c672a134a8ee4c7a54f1d6667be41d416e6efe66dd011807ecf017d83c", + "new_warp": [ + 598, + 282, + [ + 1, + 2, + 4, + 8, + 20, + 35, + 65, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_293": { + "hostee": 497, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "72432a2c800d4c68e9c2aed7e00f8b69541138b549b2a98015891a931ef36796", + "input_payload_sha256": "3300b7fbf8e1f9b0d83ad51c2e445fdce70c8004bbec61e2638804bd49c2607f", + "new_warp": [ + 598, + 293, + [ + 1, + 2, + 4, + 8, + 128, + 157, + 175, + 203, + 262 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_293": { + "hostee": 497, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "2153b6f05476986074ee09dcec326a90de9d2be0ad5d9de6a8794a31d9a77b5a", + "compressed_sha256": "567af4cc7c6ed43162a0d2044d711398757c53722781621b2ddcd60201bddc93", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9100654553622007, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "74e93d2e7cf24a52afa5c1f722a292ed15a55d7b45b135032dc616e256159094", + "new_warp": [ + 598, + 293, + [ + 1, + 2, + 4, + 8, + 128, + 157, + 175, + 203, + 262 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_298": { + "hostee": 497, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "9c2ad8f3431d17c0bfb1518180a4ccba298ff3b6f20cfe732a06a805bf267a4a", + "input_payload_sha256": "83e6e8500a7e219e0b1ca524f4496ff0c6e4f7491de2ad3ee9692e5c4acba458", + "new_warp": [ + 598, + 298, + [ + 1, + 2, + 4, + 8, + 128, + 157, + 175, + 203, + 262 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_298": { + "hostee": 497, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "405f2821bce3cdbe58a92eed17269af2b71542830beb923f1d5821a77878449d", + "compressed_sha256": "276be28bce0a0dcbc604366d14034ede5232fd10003d9bd389ed686f0a19e3bd", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.909113073721528, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "863b1bad679317f1e47f67d95030aaffab851dec744afa9219ded84154ae891b", + "new_warp": [ + 598, + 298, + [ + 1, + 2, + 4, + 8, + 128, + 157, + 175, + 203, + 262 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_307": { + "hostee": 497, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "d432f2739b575c171153e2b73c46bf6d7dc5527a271588bf60da255c439344b5", + "input_payload_sha256": "1ddae276b5c0481bb77b43735e2dab8aca7f2fc1afe0f0ed93723d40d0cd8a3c", + "new_warp": [ + 598, + 307, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_307": { + "hostee": 497, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "74cc35199603e7ae2287b37962dc8298efa0426d8c69b2e243b5bdff476fc85c", + "compressed_sha256": "2d56b1d54cfe0a104017d4302ed3fbce7ba5e793d50bc0ea08b3eab959e4f530", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9119223598390818, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ab878b1cff23e030d579b98a4eb37a9988bbe98a1eae62a756abb844d472fd77", + "new_warp": [ + 598, + 307, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_309": { + "hostee": 497, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "2a190b5f6315eabc8f74f82833b116953632f3b3a2c171f0b32ab01aff536d31", + "input_payload_sha256": "2d0995cf59663c07e8be399ff8e0bbbd0f61a645f1d53e2f303be08629759f7e", + "new_warp": [ + 598, + 309, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_309": { + "hostee": 497, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "d48461bf8bfcca2100e5b46e59c3a31bbedfbddce031e256216bd89a54eb080b", + "compressed_sha256": "6b237600c559c96f6d7ee87ede9ef68301b312c93af4d79907624967261f7d2b", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9092918690294027, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "c08180fc889e9301e5b9d937a20dc7adbcd1aad48dda83d1e56c815a679fffb9", + "new_warp": [ + 598, + 309, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-497_314": { + "hostee": 497, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1243d8f37666d4da8f0631b4687a7ebb57ef81b81ff8498b8e08da8f34980284", + "input_payload_sha256": "6d7ff9f83a1ff6ec18686b5c4bb648fdee55e8250d095e64812348fd55994427", + "new_warp": [ + 598, + 314, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "e-497_314": { + "hostee": 497, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f016f28a90cff714aa16b1b602897ceeabe8ed2f35da6d074a76a33272ff2e2b", + "compressed_sha256": "d6228fd15df47a0fd2e946f5b18002a1d17dbeed870023e4b3af5678e8f799c8", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9206740064546466, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "8df4e30cb0c577d35ce544940656e451bafb52cde69611050b29505053553190", + "new_warp": [ + 598, + 314, + [ + 1, + 2, + 4, + 8, + 16, + 38, + 64, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 74, + 42, + 30 + ] + ] + }, + "b-520_277": { + "hostee": 520, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "d567582f030250f0f5d2424ba90f9711ccbe75d17e8866d05791911190a9a44a", + "input_payload_sha256": "aced9d05997404aa7032fbbb3a9cbf6381349f8168954fd1b7ae60e13c4fc392", + "new_warp": [ + 646, + 277, + [ + 1, + 2, + 8, + 32, + 37, + 56, + 98, + 128, + 290 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_277": { + "hostee": 520, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "eef1d2605b87a2fc03309b05e21129b5e6f76688cb0ea129a8590fd38e8680fa", + "compressed_sha256": "37fc52d467638aecc9908ea32804ba79516537828539b24925151062770e0637", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9076511431485415, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "dcb22131432ac710802fafd11282d9e5d945f1cfc80cdee1b77ae29aa4a8bea1", + "new_warp": [ + 646, + 277, + [ + 1, + 2, + 8, + 32, + 37, + 56, + 98, + 128, + 290 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_282": { + "hostee": 520, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "bb10ec7442e51d43ea1ccf5e835115be9fbcd467f8e058a0a11e315205a60196", + "input_payload_sha256": "b6d42e5cbdb93cb2418b78795abb70b87912bd208dc154c28ea11e7913d461d9", + "new_warp": [ + 646, + 282, + [ + 1, + 2, + 8, + 32, + 37, + 56, + 98, + 128, + 290 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_282": { + "hostee": 520, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e82ee4398f4bda0ed6897db63d4c1d6558b093d169d33b21e42b630212e0197e", + "compressed_sha256": "63db0d165984d6e8d964afc5dc034e6024de3bf4bdbd2a044ee051a94777adf5", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9225276745855808, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "91b4c081704ed3389886ee8bce80dd04d9507b085c5032ec38c89ca8deb4daaa", + "new_warp": [ + 646, + 282, + [ + 1, + 2, + 8, + 32, + 37, + 56, + 98, + 128, + 290 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_293": { + "hostee": 520, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "84e95810f1c909d7a8d8eb552194f11df566137dbddc13169530079e3cf7a7d5", + "input_payload_sha256": "79c9b477fe8184c6a371cd4380e0c5a5e69afee3c685be87ab848e21c697142d", + "new_warp": [ + 646, + 293, + [ + 1, + 2, + 8, + 32, + 128, + 132, + 144, + 192, + 299 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_293": { + "hostee": 520, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "2ca05b6d75f39fc0e7de2324c11de5fe5d3377c82eef2ef6977b8036a64f4fe5", + "compressed_sha256": "935986e4ba78383278898ede14c79e367b6b9476d871f3585fa65af51fe150ef", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9157078023999929, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "17ddd9b6f05a714652475b2db31f31a22096a52c8007cc4641ff292c682d1ea1", + "new_warp": [ + 646, + 293, + [ + 1, + 2, + 8, + 32, + 128, + 132, + 144, + 192, + 299 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_298": { + "hostee": 520, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "016be284f360a384655bdd9f81ce4b32d33dc7aaf400ecf37d989513f88d257f", + "input_payload_sha256": "547b3ef6269672de7eca0a293c6d3a99aab553f6030ebf868678bc446701c6c7", + "new_warp": [ + 646, + 298, + [ + 1, + 2, + 8, + 32, + 128, + 132, + 144, + 192, + 299 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_298": { + "hostee": 520, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5d67ba8fb0d4f5f6db3f4434d622ae9abb0b69e3badb4379a2a5b7c30c91449d", + "compressed_sha256": "9495c8bc4660042e14e6cd174f9d25af910a59d7f5ca91e955d81d0da561f7ad", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9078919356688857, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "a8b0b6564b581964b750bfceeee07ab48ed471c81c0ac11081bac9db80aace58", + "new_warp": [ + 646, + 298, + [ + 1, + 2, + 8, + 32, + 128, + 132, + 144, + 192, + 299 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_307": { + "hostee": 520, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4b8edd396f66e3d70200e7261af6f273964b3ff4a9504306e655c3403f240efd", + "input_payload_sha256": "ddeb2ff33d5631fb60ec68993535e17e34f6091d59361b9bf9a6eef87f1b7675", + "new_warp": [ + 646, + 307, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_307": { + "hostee": 520, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e5a6b1ed1d265982b119bb3812e320937ebb45d4afd511f532ef5142783f967c", + "compressed_sha256": "5e630c54f8abfda79dccd84401daa03df6bc13652a4a3b672f9c240205cef452", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9160031182691455, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "b1684e12a91be9b2f5a22084920cf9c125e1f62bf9638c837273040841b431ae", + "new_warp": [ + 646, + 307, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_309": { + "hostee": 520, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "08257d5e0d66d27152c320235560c866bd9ef4a0353a1f88fb559b7aabbf269f", + "input_payload_sha256": "3f787f4b9bbe56737b3f7b8c9105f6851f2f1ece574179a89456db87093cb714", + "new_warp": [ + 646, + 309, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_309": { + "hostee": 520, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "6e8b542ee08794b23571cb0da5728e507ea2c69d6a601dafa753cb50e2f2dd36", + "compressed_sha256": "ea512c69d219650d48df3367500167505bfaa17b0ff8874176d5fcd9589fa002", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9192688316106796, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ae53822ce175eeaa776e0467ffcaca3895e38e7a7b089e59a72e6d0c68159752", + "new_warp": [ + 646, + 309, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_314": { + "hostee": 520, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "cbf050bf547c11d49dfa27a9578d78259f7b94bbd582922ad30d088b426e0249", + "input_payload_sha256": "b37775058f1d344eb43dbe629b25446e231d78f574925872a4c46c113ee6a1c7", + "new_warp": [ + 646, + 314, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_314": { + "hostee": 520, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e92b57e5e5c9831b2f9be9737fcc1248ebdab0189f39882d02e1890cc0c42a08", + "compressed_sha256": "4c1c5fc3222d782909af2c8bbb7fdb99c1769250393b257cb786fd8b68e2c322", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9495767802000046, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "46cec0f436bc27a3281e5c76591c7eb9f218098e75150e8477bab7566f8cce15", + "new_warp": [ + 646, + 314, + [ + 1, + 2, + 8, + 32, + 45, + 49, + 99, + 128, + 299 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_323": { + "hostee": 520, + "host": 323, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "e8ddcf8a2e217c6042f267022cb2f479a8933bba3907fe3afabadefe907e2f8a", + "input_payload_sha256": "577ed690a4c79561e765cffd7bd57d2006405ad1b8f5090c609c6afde0c851c7", + "new_warp": [ + 646, + 323, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_323": { + "hostee": 520, + "host": 323, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "b343c2d012ea1f91feb3ce597b5a694086a12b45adde022381ac5ed67cee51d3", + "compressed_sha256": "9319be654375230597a60e00565f5723dcde359785f3b63795e660d3b3a280d0", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9122762056067586, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ef553e19caa946415a0805116fae376353a911bbb6f241981c20933772db2f9b", + "new_warp": [ + 646, + 323, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_325": { + "hostee": 520, + "host": 325, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "09aaa5c7e7af9b6c3327d0abe6189989a32d4d470fa2e371c5ff6b8eab710a2c", + "input_payload_sha256": "a1ed97669ec730a77bf9868fdad58d865e520dbfb67838ec5c9f007f85f40dca", + "new_warp": [ + 646, + 325, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_325": { + "hostee": 520, + "host": 325, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "a31d45ff558278d45c1431b813777849fdb70c92c5153ad7fda7d106b32ba1a4", + "compressed_sha256": "7c6223870a4694159934e0b89cdf9e1004234272f539954a4175770faf348667", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9104646164923906, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "cc45ff8bcb1fda7260ec21015782843042e85ed3c82a3042a35b0cde6ac3f686", + "new_warp": [ + 646, + 325, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_330": { + "hostee": 520, + "host": 330, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "67b8b7c8fb1f4aba9e741e74e3827aa76459d6d0bbaf54cbd733354823d60b03", + "input_payload_sha256": "a066666b9475ce6de94b300d4093453968c53a86fb2b893fd08bca5cc1115e5a", + "new_warp": [ + 646, + 330, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_330": { + "hostee": 520, + "host": 330, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "3de673bad3992064049304b03c3244e4f2b0fdaed28c0c4b6bc2ebe682a75d20", + "compressed_sha256": "cb8f9d927ae5fdd6f03e0601dd9c2aecab8b88903728603c73a3cf51c417fd2b", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9332199431955814, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ad14207a28ba59e8eebd44b9b7feaa3dbfb374865c0e8e29fcb8112ecb1e46e5", + "new_warp": [ + 646, + 330, + [ + 1, + 2, + 8, + 32, + 45, + 128, + 58, + 99, + 392 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_337": { + "hostee": 520, + "host": 337, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "0438fdc77b716b3fe937cfa3ec48df6007614e1d334c678011559d3e91edc213", + "input_payload_sha256": "534e9ba905b6f6f5f66778c87c7d2b0a54c1ab432d3f8d6352eaaeeba50fe84c", + "new_warp": [ + 646, + 337, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_337": { + "hostee": 520, + "host": 337, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "3bf12d39008203533ed00927cdf470fd579f13db4663f875843c50edbdefcc59", + "compressed_sha256": "c245c78dd09851d974e8abbe0e61f82607b180d21f3515940214faf52d52817e", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9080772446468472, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "c78f53ed904e9e810f2d2617cd1ef6bd2551b287f8703e1391238889a34c5c50", + "new_warp": [ + 646, + 337, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_339": { + "hostee": 520, + "host": 339, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "2fc6fe8947d527ef4b75d767816171823a6e2315b309342646ac2d30859c5e9e", + "input_payload_sha256": "a040c4bdb1da43c17978ebdf396d79ef2b85f6d7d96cc586c70b4ca3b8e95c25", + "new_warp": [ + 646, + 339, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_339": { + "hostee": 520, + "host": 339, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "8f5f1ade13779137a84f4d01b7ed34868851a8fbdd21bbecf9ea52029e720503", + "compressed_sha256": "bffab0c65400aa43e69eb0076b38a2b7f5ea96094c504638e4d9464a68d22ba9", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9157135533168912, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "26ac0b473b43a7a48038f6ae934b91120f8677f8c06f2e5d760e2576f8b130be", + "new_warp": [ + 646, + 339, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_341": { + "hostee": 520, + "host": 341, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "3bcec07661f56172e75e94442b75ef7b2e30763f836045ea82040f6d1da18200", + "input_payload_sha256": "df0c876079d4bb504c4ee25d17cea711333c8a83aefe672d4f9976097982cbad", + "new_warp": [ + 646, + 341, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_341": { + "hostee": 520, + "host": 341, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f23f832eb33fb72e3e31ffb672e47470137a99ca27dececf5132b81a21ee0de2", + "compressed_sha256": "c3863a6cbe78511ff59a6bfbcdc69213d72ad378ecb18e87c45e4707d28ba0ee", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9214029377326369, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "1d9d0d50683f2c78fe99ba3d73bfe091b0f5c31b5967b090e92d8f1db116efaa", + "new_warp": [ + 646, + 341, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-520_346": { + "hostee": 520, + "host": 346, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "3f63f6898a82907f4967061188dfda9e2fe8e018e3606fe379ef837a0fd37019", + "input_payload_sha256": "6ec7ad41d4fdc7b8f2e74154f1e65e5e4dd5acf8cd87cf49c35ecb92300f2da5", + "new_warp": [ + 646, + 346, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "e-520_346": { + "hostee": 520, + "host": 346, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "017e0cda4f290e4549e60254141da42a55b029572a622d784af34d00d9d6df4e", + "compressed_sha256": "3da48da7f3a318483513c42c23be6220d191cab8886ea557bc788c6e2ab1959f", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9150165813043714, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "73ddc86c62872161ce1ce3dfac107e34eddae5183dd88b70a15f5e39f848a10f", + "new_warp": [ + 646, + 346, + [ + 1, + 2, + 8, + 14, + 26, + 32, + 75, + 128, + 266 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 426, + 65, + 25, + 7 + ] + ] + }, + "b-521_277": { + "hostee": 521, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "c91c4f8a3575bc8f008d9003703190d0192665e7630a933f93ca891000dfa36b", + "input_payload_sha256": "69d2d92c50dc67f15a877380c5c61e7b0d5df321179038235941a4d784c258b6", + "new_warp": [ + 648, + 277, + [ + 1, + 2, + 32, + 64, + 69, + 75, + 80, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_277": { + "hostee": 521, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "92933ed5aa1612fa5e5a975b02e8830a4947219ab4f689b45f07bfe94dcfd438", + "compressed_sha256": "214e048d0918a1cd2b84f0bce659ae61c452eaba1ef2aa35ccf4e7c10fee22fc", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9262635624036193, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "0a694ad2b8544e25be97e5a637445f9cbb4afe399477ca040732f0e893e22c27", + "new_warp": [ + 648, + 277, + [ + 1, + 2, + 32, + 64, + 69, + 75, + 80, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_282": { + "hostee": 521, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "f628e79a58ac7c37db58a71680b9183038a457e899b1fec262bdf84b7e016139", + "input_payload_sha256": "dcfd945873a2eeb1c54e8a5f1ea75f067e8c736ec3a9025079327b12506ae594", + "new_warp": [ + 648, + 282, + [ + 1, + 2, + 32, + 64, + 69, + 75, + 80, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_282": { + "hostee": 521, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "26f76846fd36ca7e695b349879ed0cbc44410f7708d2832f15e40aff37d217c8", + "compressed_sha256": "1e0ae9d5f46f431e919129c6dd1c38d2a6e90f12799a15ed07dc44207f906a2b", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9129470977932215, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "e4f88184603993f01c6dd22d508761500656f9d791d70fe9a2175b321beddfde", + "new_warp": [ + 648, + 282, + [ + 1, + 2, + 32, + 64, + 69, + 75, + 80, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_293": { + "hostee": 521, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "9f8c8cf2239de3af6ad94b83480b53fab7d25cec38adfe6523c3018d62fe97da", + "input_payload_sha256": "810e6216e0afd48d112194565583f4dad026b1b6d5485a37bc0a4ec830fe0786", + "new_warp": [ + 648, + 293, + [ + 1, + 2, + 32, + 64, + 128, + 132, + 171, + 146, + 289 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_293": { + "hostee": 521, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "da88ab3f33bfdb872d90e8a63481c8f53a2c194d8310d7ced1ffe8351ab10cc1", + "compressed_sha256": "09e8476ab3d1b724f8d9a41b0899a324fa0f2695295b9010a43d6e6a48772150", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9131918177008629, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "1a2ae5cc500220f36847ef621babd9fa3423d0d6cfd9d5460d03e452f90b230a", + "new_warp": [ + 648, + 293, + [ + 1, + 2, + 32, + 64, + 128, + 132, + 171, + 146, + 289 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_298": { + "hostee": 521, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "5ce98daad3f196e5c20478b5701ab323ac96afd39864e404e8fce72f90e6cf5b", + "input_payload_sha256": "c8ffa01b6e87f3c841859f33dbc8a6f6a81fe258fc2b2b7d09eb5f4056a0ba03", + "new_warp": [ + 648, + 298, + [ + 1, + 2, + 32, + 64, + 128, + 132, + 171, + 146, + 289 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_298": { + "hostee": 521, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c65daafa11411b8a69b0b222aa88a98c4063b87b37c640e063337c1b688eb338", + "compressed_sha256": "cb65f85b7a2dd07e362549742d98b9cd0f364edfd9724d442e2edce71d67bada", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.912404797039926, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "2df1c9d381b13c9a9f9fc2dd239a70924aefd4fa775ea8f91a6dc13b7cc01916", + "new_warp": [ + 648, + 298, + [ + 1, + 2, + 32, + 64, + 128, + 132, + 171, + 146, + 289 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_307": { + "hostee": 521, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1985e1511472bbf1f52dde06ba3f122d50e0cf833ddb91e59573ef2a88d260d1", + "input_payload_sha256": "bf0c63a9b3244d301a43051c029f613374def07312627e8f76ada02fe2dbc7a3", + "new_warp": [ + 648, + 307, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_307": { + "hostee": 521, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "bd5f236041370789ffde98501f715d1ce74ed3cb2c192e4fbc291f5ea65cc86c", + "compressed_sha256": "750d43294a6a08c17263f23603138c7f4041a886c3d929b2366bc4be94bd80c5", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9179798467084765, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "b6909ce98d81320f9e8181b9604f96bb9e8e1110b01f078e09196a06cc8fdcfc", + "new_warp": [ + 648, + 307, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_309": { + "hostee": 521, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4f9dff1cf3c660811a54bb83e32cc657df6a139f3fe17f51efca747cc629a36e", + "input_payload_sha256": "5d63fb57d23bf7fb0fd749d16b76fbc39273e64955faa5b2e1b69b628d3f98dc", + "new_warp": [ + 648, + 309, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_309": { + "hostee": 521, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "cca99371425340cc17906d08bb025c8661a84267b80a27c0978c27e2150782cb", + "compressed_sha256": "5db79e19d71af6cf64c5dea6ec7f27687dc519d588146912ebca562f891c18ea", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9150312393903732, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "84546e9dc46e3272888c729cf0e3b6a148ef11798f39177326313477fa83b529", + "new_warp": [ + 648, + 309, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_314": { + "hostee": 521, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "33a8916c3b8df3be90c4d1ad21c6860ab3fe0cec31f698a7b88ae8a31aab25c3", + "input_payload_sha256": "3190580ec417069010da192506bad79cc7c4c50d0f778cdf0c5353928a31f1f4", + "new_warp": [ + 648, + 314, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_314": { + "hostee": 521, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "72cca40ae1165e24e88a71716506db2241d7c5f6b89d54196177db2d2e1634ae", + "compressed_sha256": "146e15e4bc5ead9d87424f66c2cdbe5fbb17ff33541a28f6ff203f2baa777fed", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9293656209483743, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "8d18e5c5f4e9c62717ed65fa65435388c08c7d8046cc2ae4eef47d4b04c8469a", + "new_warp": [ + 648, + 314, + [ + 1, + 2, + 32, + 64, + 101, + 106, + 81, + 128, + 289 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_323": { + "hostee": 521, + "host": 323, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "09056440ec19959359f157b491af4286ac7722c01d33ae0b912474eacf358964", + "input_payload_sha256": "a93084bd8331fb936b14686b2cdb8b701dbf388d46c2c9abffed481590ca55f5", + "new_warp": [ + 648, + 323, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_323": { + "hostee": 521, + "host": 323, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "871d966af32cf15e19ca6cd8fc3fd7e17301a9bb731d7eb75c2a6136756c308c", + "compressed_sha256": "d80e593b4754a8c1b2efb51db7cb7d345f259668671d5511345ba63f31968155", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9182180957868695, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ba3b76f28924d5048bdc7774f3d80c331cca61af1cc77b576525ec7930cde15d", + "new_warp": [ + 648, + 323, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_325": { + "hostee": 521, + "host": 325, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "25067a5da2baf161c7ea26f818a38ecea47923566e9a3bab954d37c1d8419335", + "input_payload_sha256": "69b4ab7799a53e9eaf03c8ffedac54d9215efcbc9afb33af586b0cf9fe84bb91", + "new_warp": [ + 648, + 325, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_325": { + "hostee": 521, + "host": 325, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "61fe104be8da6761834f67bc61044fcc7809982e4980d39f5c49de278a9c9efe", + "compressed_sha256": "3d28addb0eb3a7d83db7463ed164fb183048864117b2692ed3e8d809602735cb", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9086487693712115, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "dcc3469a55d69c9ab7badc6dd4c673f23bc1a1a2dde2b8948508196fe4e1db14", + "new_warp": [ + 648, + 325, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_330": { + "hostee": 521, + "host": 330, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "556a3fcdc5409221e78e5ce0e0f86473a2d16695ee8806b377efac5ee1bb26ee", + "input_payload_sha256": "4485986904e4fd88bc0b8887c071b5f3b62e69e2874817e5c78ad8f512d47b35", + "new_warp": [ + 648, + 330, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_330": { + "hostee": 521, + "host": 330, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "90e54fb9fb8e417f2553b9b8c98d776d5ac365289a4ef33d75f650f8231fa9d4", + "compressed_sha256": "85e7e4d64ba329e1a34d3dee62f279c745cfc6321d30bafe83be1ded403b3b31", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.904783776961267, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "baec130c7022d281ef50a69cbcddf322f48aa8e74806052573c4cd39cf1a3502", + "new_warp": [ + 648, + 330, + [ + 1, + 2, + 32, + 64, + 101, + 128, + 73, + 81, + 482 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_337": { + "hostee": 521, + "host": 337, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "73924feaa65df8f872bf296221ffe820bacfb7924d7288bddf31e52fe46ca0fd", + "input_payload_sha256": "8019f55da694427b317f866f3ff33c84d4c1716df28e3786376ad0b51e0a972b", + "new_warp": [ + 648, + 337, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_337": { + "hostee": 521, + "host": 337, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "ef921a5e3e37cf14271918e1cc45787e5140fe9cbe64a550e09069593d14b4e4", + "compressed_sha256": "b19ad93aa833a278b7c5c3716f4aa3e6a5b74bbe0f9b2ad7ed7411d2f3c40275", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.924531314522028, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "27850bb689d82b954cdbda3394caadf3bb70fa4fd6fb4d6a093d997cfed7d890", + "new_warp": [ + 648, + 337, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_339": { + "hostee": 521, + "host": 339, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4f9e742c087e80ffedca82491a79124a406557f3d5b5c1a87652405088a71e37", + "input_payload_sha256": "6b4a3e8a9ff74a0c9955aa07b99d27d848a58d6de32711cd55d338ebd5fdec6b", + "new_warp": [ + 648, + 339, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_339": { + "hostee": 521, + "host": 339, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "7026c3c4d6c8314a96a72312d14f88a409cdc890623dad26712f919d5cdbdec5", + "compressed_sha256": "4abbb1e4c410fa1e1bf4594d0bb738e0b2f3b41d9772001463c6c9e1fa7ee7f2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.918697708286345, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "82cb5e3f09a61e87a9f609324c8a95358dc533077456c925b9bccd5fe6a01c4a", + "new_warp": [ + 648, + 339, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_341": { + "hostee": 521, + "host": 341, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "65191d0461976fab0e8ba57860e06e96f8e2513ee21cfa12b7ff23883a004f7c", + "input_payload_sha256": "97620f64430efdece173c00af66fecc1c7b96b1f71a687623cdcede713d63b33", + "new_warp": [ + 648, + 341, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_341": { + "hostee": 521, + "host": 341, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e2b2fb0eecd019f2822c43fefa4f9c97993efe6e0248429e8f8a8813b6fcc57e", + "compressed_sha256": "bd72a98c267f915a1a3aeb13ee68862b2300f7d3b5759caaca3bade1203ebd5a", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9126517521217465, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "fe8f05c18b3e9db40e9a715ecd3873104b036ab5121f48b87a8cbd6a4e3d106b", + "new_warp": [ + 648, + 341, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-521_346": { + "hostee": 521, + "host": 346, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a1d6090a48fcf19478f8b7df3181a80a5561d66726d720fe0c486890ebe86754", + "input_payload_sha256": "d3dd168ebccce621b2f247e0476e920f04b435f35dd8afce8bd1405066d8e079", + "new_warp": [ + 648, + 346, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "e-521_346": { + "hostee": 521, + "host": 346, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "2210f7e22288d7093bc11af517034caac3e6f51225ad9ca0190b1835a9407996", + "compressed_sha256": "09dc6e82284848dacd230dad9d3ccd0e5eba86628cf174d018040f340f4ff9e2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9256080593913794, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "5ab4c3a2d89ff387433b65ab06ac73b9019a6e51b8c519a072856f41c8dc416e", + "new_warp": [ + 648, + 346, + [ + 1, + 2, + 32, + 38, + 9, + 64, + 49, + 128, + 352 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 416, + 19, + 10, + 7 + ] + ] + }, + "b-544_277": { + "hostee": 544, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "e94c7627294a45babd223dea9e78cea3b31cd1cb41279e3b4e53c351aaa47203", + "input_payload_sha256": "280bf15141826ddd3dd677bd5cec0c67ad3072bd053bf98de92e0d5ebeef810a", + "new_warp": [ + 698, + 277, + [ + 1, + 2, + 8, + 64, + 69, + 80, + 97, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_277": { + "hostee": 544, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5c5c83e94051a0bfb9cb31eb52eb82b646a1c205942ce5402539f707dfa49c84", + "compressed_sha256": "a1c371ab35b30d27f59c201681fd99e4c4200186c57a9c2b74c309b550642991", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9108780343085527, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "3feba5b8b2df8f5966742968dc19c0d96017835089f06b30d2c687b050ddb672", + "new_warp": [ + 698, + 277, + [ + 1, + 2, + 8, + 64, + 69, + 80, + 97, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_282": { + "hostee": 544, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1669f6a8d999339236aa0b10311af5e913da959c0b9b2210ab633642ba549dd4", + "input_payload_sha256": "40471a5b98fc899fb5b3eb8c446d8d5b91dd1fedce095315ab70800b358db8c1", + "new_warp": [ + 698, + 282, + [ + 1, + 2, + 8, + 64, + 69, + 80, + 97, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_282": { + "hostee": 544, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f50a74872d91bdabf30a4754dcebebebab90c669506f2e4d932b5d79261e6f4a", + "compressed_sha256": "2ced0652804c412d310400b22820708afa0c97f76140e090d212a9d8d59ed41c", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9535920647904277, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "d5658864907466bb9aadfd5728160435cb5039ee41c53c2012ffe927367dde5c", + "new_warp": [ + 698, + 282, + [ + 1, + 2, + 8, + 64, + 69, + 80, + 97, + 128, + 256 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_293": { + "hostee": 544, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "9b88f9b7eee92a36796ba7855844f02d3d397ef7fcffdcab7a51279e15308c3e", + "input_payload_sha256": "ab5a259af6cdd6882afc85c88069ffff6da142554ad838ba841fe66b7912b33a", + "new_warp": [ + 698, + 293, + [ + 1, + 2, + 8, + 64, + 128, + 132, + 152, + 163, + 265 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_293": { + "hostee": 544, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "0490dfe956870110dfdcd3494beedcc838c9bf8180b42005b3ee9da397fd7d40", + "compressed_sha256": "b63862286e6a96df3eb4355fa9aacf4be5388ecbeb0a58d60f219c37e21e06c2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9070930629968643, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "d82d1196029749a9416bf82aae4c079af6395d2a2d85df3b04f1bcf096af9cc6", + "new_warp": [ + 698, + 293, + [ + 1, + 2, + 8, + 64, + 128, + 132, + 152, + 163, + 265 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_298": { + "hostee": 544, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "3ab7c6a78194cde3d98ad48a39c1d1eeaccd64e58b1a6032bb419227e7f477c8", + "input_payload_sha256": "80b38172e6cd9331b38da6ee563042576fb75a3bba6535bad1188035b2cd329c", + "new_warp": [ + 698, + 298, + [ + 1, + 2, + 8, + 64, + 128, + 132, + 152, + 163, + 265 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_298": { + "hostee": 544, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "a0e5ac48f68abb8ceff471d7e8332b0ffe850e694063c6519811865075eaf8b7", + "compressed_sha256": "338fabf90999913389d58382c74a04359db86b6c57c175cff115f5b187d15a83", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9179649595171213, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "4c65275a181d12367ea22042f0fda242c508ef512da4e8482af43ec8ba322346", + "new_warp": [ + 698, + 298, + [ + 1, + 2, + 8, + 64, + 128, + 132, + 152, + 163, + 265 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_307": { + "hostee": 544, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "3c1e405524489285e8497539ea26f07932726772da088640b6fe0339882afb49", + "input_payload_sha256": "9e37448cc0a811cdda66d3f1772cce4150e7746518621a685ce248caa253ecde", + "new_warp": [ + 698, + 307, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_307": { + "hostee": 544, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c8f45f85bc9ecaf830a4fe6f2ad9d81777a18ae3832c4aee9e4e4e1d17ce9fdd", + "compressed_sha256": "0289f9fa4d29ee2f8eee8003b9e563f937d9428de2dd1fa347a1aa7fde52b6f6", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9174947030842304, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "56cfa948493ea46d2db5fa47e117a408c4e08304e7e19f93205514865efb5295", + "new_warp": [ + 698, + 307, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_309": { + "hostee": 544, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1b18df3b68e23f9c7088b54327eb79a321980eccb3997c043cf424541420555a", + "input_payload_sha256": "fdd5cfef139b3e4d695434d8e6117663c631a7f7bb4a94d2d7b9c3afa879b5cb", + "new_warp": [ + 698, + 309, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_309": { + "hostee": 544, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "932aabc49b335f767c3b4bb86131028b0af1ba7a071062a80adeb65a840ff5d0", + "compressed_sha256": "b20f08eefc1f010b31fbe0af4d856256c9c831cdeaa2179e4c6f73616ff46bd7", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9213278368115425, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "6e1ef7c4f671ed15cca642df1e60b686099ed307da8d5d19bb4085d8e7b2752a", + "new_warp": [ + 698, + 309, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_314": { + "hostee": 544, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "70f3c25870b5e2c50b1546f4aa155aa1e5bfffad1cfa17517c925ee79ef096da", + "input_payload_sha256": "298f40671134c7cd77579b4c6f418d03a19daef3e9df5b77f8c44610c22d1d64", + "new_warp": [ + 698, + 314, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_314": { + "hostee": 544, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "b1adde139516e8044ed61795900de98de78f2d5bd8635d85021d7d8b856192e1", + "compressed_sha256": "76cb7db719f9ea73ddf6896fe3a85889cfb11e4915563e1df6134fc8ba842be4", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9109649173915386, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "429fe8b498c48923940227761a61a76be0bf0df51bd0725c9d82ac42671d0c78", + "new_warp": [ + 698, + 314, + [ + 1, + 2, + 8, + 64, + 77, + 89, + 96, + 128, + 265 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_323": { + "hostee": 544, + "host": 323, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "343523e8f30c2000076f8972ab3eb25d56fe4a6c610d9f1267d77b0d984d4a99", + "input_payload_sha256": "0c3e32dd845c8caed854b8fb097bb2961b14d3be37ab06407fbbbe212465cd8a", + "new_warp": [ + 698, + 323, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_323": { + "hostee": 544, + "host": 323, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f6528eca440e1fa0f818220c35f6feec7e78022388ed2d30a900e0c1f84d73f6", + "compressed_sha256": "45ac836f34d5b29ad29a9d3aa638fa01bd337f21af9f885baac72ec4fa9b9dc6", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9281786270439625, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "bd00299b3147cb52d6a6c4ce2bc56071a50d2e2f0d1abc5d7d4a1ff217efaf58", + "new_warp": [ + 698, + 323, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_325": { + "hostee": 544, + "host": 325, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "f18ca4238a378d5e2ee4aa3fb51eedd0185653b66a25a385b6f5795cff4c03ac", + "input_payload_sha256": "3b0190eb254ffa3677bd426da4abdfe4fc5f6a3ec71146287d92d82d1e1618f9", + "new_warp": [ + 698, + 325, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_325": { + "hostee": 544, + "host": 325, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5396cb5bd29ad923d074bc009537497aac85a59c43ce766d3a603f24b451070d", + "compressed_sha256": "40b23138acaaa2fc5bdd9e38edd6f94be5144daa25c52aa05e353b14bc593897", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.906780906021595, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "77e87acdd39f66872bf146ccff682d1de1a83bbd4a38726cf89a6b624f83aa4e", + "new_warp": [ + 698, + 325, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_330": { + "hostee": 544, + "host": 330, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "534ec832c73e38a52b66e2c78ea52ed0502a828e63ac9ed3aaa52426ac5b0a77", + "input_payload_sha256": "0fb42fec9f96f098fa873fe6bf950805279c426262f7483c44ac910fe6b18dc1", + "new_warp": [ + 698, + 330, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_330": { + "hostee": 544, + "host": 330, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f1675e9b515882500d09674de013352372c2c47f98e911d4165fce0a5837cf26", + "compressed_sha256": "dda826f23c32535e3f959d6b73c2f4cba668e738b5b6926ec6630e4a2744f137", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.933077453635633, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "7c99cd214be64f9a6db734114b4623c4779695a71ec288655a28654c134d9b61", + "new_warp": [ + 698, + 330, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 82, + 96, + 458 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_337": { + "hostee": 544, + "host": 337, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "22a0ab3914098e4643dd880d395be15118662a1b49519d49bb6d44bc579cfa96", + "input_payload_sha256": "0225350acb40ae9b89d155ad506f9cbc1047e41e7db70bafbb31ced218fbe0f7", + "new_warp": [ + 698, + 337, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_337": { + "hostee": 544, + "host": 337, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c09d2a0292c13db500c94b4e7e5bc75c670d471f8c0e5c1877246e909bb6a584", + "compressed_sha256": "731e31cd7c25aa692e2c019f232a3b053d75e8874116c2d43d0bdedfcbdabdc2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9176488937810063, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "9ab74ab8abf78b8303c042df665eb8f441c6288635e89962c31de8bea49499fe", + "new_warp": [ + 698, + 337, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_339": { + "hostee": 544, + "host": 339, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "50915a0ebee82ba1c95bb3e2814270d69e638fd993a188713adae368ceed4e88", + "input_payload_sha256": "2828af710a39f58989de723bf3af90d5230c42176e8e8828c088dd96b3775172", + "new_warp": [ + 698, + 339, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_339": { + "hostee": 544, + "host": 339, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5bfffa2535a6b39c2407292fc5fe2061393e9a6bd6a400565df78f2b9a2fb4e4", + "compressed_sha256": "0259aeb78e04f8313a02c22d4e9f4f9b2eb584dfe5db58fe73a93b28e6e0a5a6", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9047110201790929, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "ab32c6462800d77b0b956eef3dc09722641dd67e8073b08fda1342b1641d64ba", + "new_warp": [ + 698, + 339, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_341": { + "hostee": 544, + "host": 341, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "6b243aa27460c1d918a6786f19e47e60e316004484c3732175fdd4799b8ec15f", + "input_payload_sha256": "548c5c791103a6dac6a621808491fa6deba29ef1ede11b3c30beb8f6987fc481", + "new_warp": [ + 698, + 341, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_341": { + "hostee": 544, + "host": 341, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "b0f3c6a6547ecd078efdc3f378f21f6ea58870601890ae67513dc1b404f3b74e", + "compressed_sha256": "febeae7068e2eafd8a62bd15040eebb17d5d27169eb5bff1691951143234383b", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9268396785482764, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "baed61ccf6ccc999b39c62b30b6bab9fdef1dfe4dd6d44b0901a31702a241317", + "new_warp": [ + 698, + 341, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_346": { + "hostee": 544, + "host": 346, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "7f2c2f5c22fb0f07b0835acfc47541f9748b966c8e43f11fa2024637ef294f37", + "input_payload_sha256": "9e023caa7046fd63b01fdc83ffa285dfbd5a19763832e26282146c507ac6f5fb", + "new_warp": [ + 698, + 346, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_346": { + "hostee": 544, + "host": 346, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "7cba4cedd5496948364d1d4852c5b81b3e62379878a47dfb630717b40637060c", + "compressed_sha256": "1c31fc8874a77d99a5e80afab9895e75a7e28a4f78e4213131c054c6663ac476", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9070034036412835, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "76c7e3eaed1ba5a45dd36021e208536b090ea61bc7c2f28dcf4fb9d0b90180af", + "new_warp": [ + 698, + 346, + [ + 1, + 2, + 8, + 14, + 18, + 64, + 40, + 128, + 328 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_353": { + "hostee": 544, + "host": 353, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "5fde665bed84244f4bc010372211d2215d770befc862eb425fd51a70808eaf40", + "input_payload_sha256": "fce4def68fb1b72c299ad40a0ac34793108e1e308fc874086b52a4c5e74ac8cd", + "new_warp": [ + 698, + 353, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_353": { + "hostee": 544, + "host": 353, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "409cc447d25f8b3ab4cdecdd75bdbf39f43e70176a17f20a215c3530d85e6a6f", + "compressed_sha256": "7370a0f575274087bc094cdce39435026d34b09890185c5957eb9e3c1d18251f", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9161346647888422, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "e49e27f0065d789977bf46695a07c5a9bb79903da4757914dd07907b5749fbd7", + "new_warp": [ + 698, + 353, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_355": { + "hostee": 544, + "host": 355, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "6efe18e9884a9a1ca927dd40da6805c58ddc5bcf05d54258d07b5a34bb757d20", + "input_payload_sha256": "261e266be281ae865ca56e8fc7a898ba1c0e436a01b27e2d6a435915e556220c", + "new_warp": [ + 698, + 355, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_355": { + "hostee": 544, + "host": 355, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "5240eeaa5afdf02fa89cc14cdbda3ab6a79e5659493ef16eb33fd4544ee04c62", + "compressed_sha256": "aef7768c19aa52df66e3ba6b4179e60de7150ddf6c9360354610763956f11d9d", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9136766297742724, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "91da0dd4dba238b65d374fcdc94632199852c321260792fdf262ccca8fdad686", + "new_warp": [ + 698, + 355, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_357": { + "hostee": 544, + "host": 357, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a277f7ebde0eb9a59014ed603b6be913d4607cb98954e7766cd571b3dcbb48f4", + "input_payload_sha256": "fe559791da7b0a834b260e31e41f81410ca2603e7823361f6664bc50b1b25eb4", + "new_warp": [ + 698, + 357, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_357": { + "hostee": 544, + "host": 357, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "46593dfdd20b76c3b27f49b71ec5080d9d0e765f4828bc1792ff4bfd6d67d741", + "compressed_sha256": "c9cf6edcba0ccc5977ff05d835182f307bba76c885881c6e0ca47e699554be13", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9349952945485711, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "6b588e9ea49df4a4b963f507c2467a145c2eb2d25df15ce1e82663a782d1e17e", + "new_warp": [ + 698, + 357, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_362": { + "hostee": 544, + "host": 362, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "28bba0468bd2283e3081a4c851e7f2986d24ba3f1d7a614be7bcf44ec0b507a7", + "input_payload_sha256": "30ee68821675243b2c75aa0a65dd54c8a1adaa5871645e4e488df0a3b58eeb3e", + "new_warp": [ + 698, + 362, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_362": { + "hostee": 544, + "host": 362, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c9b858d3d27494067a9f117389bde51496672013c2a7b8b515c18c246b518ce2", + "compressed_sha256": "eb0a32cd3f605c52c23906f558f46f119b9c9c69048da335a0de40f8ab782592", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9171100910753012, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "69c8444709511f1469c042e0830fb494a62218c02d1b1e371c74407446c9fc44", + "new_warp": [ + 698, + 362, + [ + 1, + 2, + 8, + 64, + 77, + 128, + 155, + 40, + 386 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_369": { + "hostee": 544, + "host": 369, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "ddff39719eae3dccc8fb7edf4154105a7b659da9bef1541b14e1f8f47db0312b", + "input_payload_sha256": "326b241bea792338e38d7cab2372bf3ddb73178c5e38fe307668baee11991b2a", + "new_warp": [ + 698, + 369, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_369": { + "hostee": 544, + "host": 369, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "24b47e7df8d3dae4ec065e9de1c4d5e4b4a3f4b45ef158c37cd1918d9c8a0a8f", + "compressed_sha256": "6be582b89a8299ee10e1188656ed106edb760a3076b2a9eba7dfa7e559e96f39", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9331841953098774, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "4e2d37ab94616999144ace61db22c07ceae572410652528ef3b8fcfde57655cf", + "new_warp": [ + 698, + 369, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_371": { + "hostee": 544, + "host": 371, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1a3d0ad578af6cd1a8e1267625b449729a2e0895566b4a1c34137254ae81208b", + "input_payload_sha256": "f7796946500010f744980c5f41eb04fd6d4649e2bb345f66446517c0e57c68d7", + "new_warp": [ + 698, + 371, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_371": { + "hostee": 544, + "host": 371, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f6a0506a90055acbe546951e103a892244414ac26716cc70d130774eca3efdde", + "compressed_sha256": "797979d9ede5382a2f884413398217242c6a482881bc14132515fed3bb5a4a2e", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9249765826389194, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "7f39a4adfc4b598f68fc4edd76e8e940de68d9b160dc876caec43e5ca03a4888", + "new_warp": [ + 698, + 371, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_373": { + "hostee": 544, + "host": 373, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "1523e110a524ffb9737490729e4015570d0fdf76b915852193b88e72db54e8a3", + "input_payload_sha256": "09b3512d5344da8e43e45a1cd6b0ed60caebd5b1dcfd41c01a91f829befff625", + "new_warp": [ + 698, + 373, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_373": { + "hostee": 544, + "host": 373, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "c8720ffedad3d7af9d8acc6cdf5da99485aa05897b903bc6f295104315b3da48", + "compressed_sha256": "ec327880779c8d59666307a018da519e9ed123b023c615e9137255c330896a5d", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.92250338755548, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "8119415a5e5eef743b70dea5fc171973ab03cdbf61a1e7bd59f64ce8f70c0dea", + "new_warp": [ + 698, + 373, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-544_378": { + "hostee": 544, + "host": 378, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "e89c84ed8a1637dbafdcfbe8769ee0c0569e5a848da6367d8c9d0fdfb5221763", + "input_payload_sha256": "d5885fc2a90f38108d34765cadfdfd0b1b06b726dfd6f9bb21d802089f16ef88", + "new_warp": [ + 698, + 378, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "e-544_378": { + "hostee": 544, + "host": 378, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "16a5463e28ad1b6cd2d9926df765a5c2741e98ba7b554c8e380011bfe873c16b", + "compressed_sha256": "a8f530b572373eba84bc02d8b7245417114b28f659b65b1a2e7fc0fbc81af014", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2383, + "2": 649, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9368428699672222, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "19b066332844e9e2db15551b2d7d78bd9a598305223584bdaec0a04420688d2a", + "new_warp": [ + 698, + 378, + [ + 1, + 2, + 8, + 64, + 13, + 24, + 33, + 128, + 328 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 392, + 34, + 17, + 7 + ] + ] + }, + "b-545_277": { + "hostee": 545, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "8e99c5926c742423d739144ac4ef240157c29d84b66014707e810e7666d41875", + "input_payload_sha256": "23719429fc631a72f33b6b15fa54242fcde2891b7e880196ca28feefc207d8b6", + "new_warp": [ + 700, + 277, + [ + 1, + 2, + 8, + 16, + 21, + 34, + 80, + 128, + 273 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_277": { + "hostee": 545, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "96ae4c888f369b93a49f61188bdcaa020b454a5ce50e7e83061d9f32629c2e7f", + "compressed_sha256": "1194b26ddf2a96899a266082fd402d24e2e2d57d8adda1dae010908597804bb5", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9308184636756778, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "c776eda2e59e0f91b1d11127fedff403fa5c9bc27e719ce666269f1ab3f4e959", + "new_warp": [ + 700, + 277, + [ + 1, + 2, + 8, + 16, + 21, + 34, + 80, + 128, + 273 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_282": { + "hostee": 545, + "host": 282, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "fca41dc410b644b26d9a50f4a6d44f59882f45535f7d8e336aacfd7b70619981", + "input_payload_sha256": "b52da941a747d7af10066081bd2098ca5cdc95755985581c9ebfb184a252104b", + "new_warp": [ + 700, + 282, + [ + 1, + 2, + 8, + 16, + 21, + 34, + 80, + 128, + 273 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_282": { + "hostee": 545, + "host": 282, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "ed7c9023a9d34029a5c1c1a55700991918ee9a46ba064f48e69ba2cae127a8e6", + "compressed_sha256": "baae56dde5de2c8911bc4d04385742f4d20727c37769b8f95af1bfc61363cf83", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9193339049816132, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "4f6ee5e1e06ed93fe157e69d2a355d13bc3c781cdce6534acbe76a8513985ec1", + "new_warp": [ + 700, + 282, + [ + 1, + 2, + 8, + 16, + 21, + 34, + 80, + 128, + 273 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_293": { + "hostee": 545, + "host": 293, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "b7139e70f3a8e1998b8396b17c2078649d4199f4f2e543d03e4649ff7f6814dc", + "input_payload_sha256": "63a611e6d60baf39067dcc36e73d7be13b879c59e2b2d26beb59df3e44aa90ad", + "new_warp": [ + 700, + 293, + [ + 1, + 2, + 8, + 16, + 128, + 132, + 186, + 194, + 280 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_293": { + "hostee": 545, + "host": 293, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "755a9613a76328cf2a071ebc0668a6b2a5c4e14d3964c47de24054536df9098d", + "compressed_sha256": "8f7c017e169cb3d6ce02f77e130b4b78beaf8ca0787e6ffaa02b1a2c6bef5503", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9202011469751596, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "0518acf3a957e15b651e0c17af9f60a6a3f0fc9df30b59025c19d82a2c000ae7", + "new_warp": [ + 700, + 293, + [ + 1, + 2, + 8, + 16, + 128, + 132, + 186, + 194, + 280 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_298": { + "hostee": 545, + "host": 298, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "0fee64ebed7703cd9fc4926f1244d44b66ea8ee3abe3ff3e3fbf9e8dd290531d", + "input_payload_sha256": "0b24447762a2707554a6d30a8640ff82ce5fc88053b834adc56922e0f7142e4e", + "new_warp": [ + 700, + 298, + [ + 1, + 2, + 8, + 16, + 128, + 132, + 186, + 194, + 280 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_298": { + "hostee": 545, + "host": 298, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "01a375a34a6e54252f36bbfac7899ff5402070e54ff4fa3cd8e194a79853b980", + "compressed_sha256": "17aa09a296167ed502ce26d09cac22762e3e1dfe3724cbd09df59a392604d798", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.91730444598943, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "6cf3cdb44a71e9baf1be09d0c61a96958b14c2535bee43a178bf54ea3239fd34", + "new_warp": [ + 700, + 298, + [ + 1, + 2, + 8, + 16, + 128, + 132, + 186, + 194, + 280 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_307": { + "hostee": 545, + "host": 307, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "e01054f0322adaabdd9cdb86500e40342fe1744d11ccfb4ec5ebdc847963c35c", + "input_payload_sha256": "837b9f157eeedc55292b1012a9059043a9e7845e2ce3bf1bfc5201777a6e1377", + "new_warp": [ + 700, + 307, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_307": { + "hostee": 545, + "host": 307, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "7f862b6ad6f5da3d41c2c4ac5ec6ca42ad9db905e26f52b0ec8dacce9a88121c", + "compressed_sha256": "67b8974e061d80fe4578091265a31d85c67cccc45ceed65435cde3551dd4dac8", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9206140637397766, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "fa8d9eebc484bc1ddfd013cef8dbec6e4d791f5d052ca68d84225dece8f63559", + "new_warp": [ + 700, + 307, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_309": { + "hostee": 545, + "host": 309, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "8b2519848044bca8a2ccdd26cfef6a4287a70e5c258c805fb93071401168405e", + "input_payload_sha256": "e6bc49d810f5dbcaa7f416e38f8e26b3de329144ac64584736c76f8cf24555cd", + "new_warp": [ + 700, + 309, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_309": { + "hostee": 545, + "host": 309, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "787d8c32ad389931592817ae360bb2885701c7127173d2498bb67d372bc972ea", + "compressed_sha256": "89b5b844c12d0c67eb5a4d829bd8ec74a61d47d8c6b5d8b775285f6918f342f5", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9294674629345536, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "d64d82f491a7034e4eea4f9a002ebfb8c3839221a891db71571bea278240013f", + "new_warp": [ + 700, + 309, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_314": { + "hostee": 545, + "host": 314, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "ad412e1ea67e924ccd9d75d67055d24c0bf5c2dca916ffbe02487e93ee47eaf9", + "input_payload_sha256": "fa376aa3c785fd6487190f2222eb363794e5f098e5e56dc3339af3a4dec3fadd", + "new_warp": [ + 700, + 314, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_314": { + "hostee": 545, + "host": 314, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "a50cfbd9d9332191453b6e7a547d83bcfeafc4dd3ec3f357c20ae1c2cf035dc6", + "compressed_sha256": "d608e5ce7a48c829c8197558b6c55d33128be4e0b41fea5659b8e4f18764224c", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9324122127145529, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "258e314b7e5d40b33c26636ab2e44267edd1b59df8004e4a84115a5cb32972aa", + "new_warp": [ + 700, + 314, + [ + 1, + 2, + 8, + 16, + 29, + 43, + 81, + 128, + 280 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_323": { + "hostee": 545, + "host": 323, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "91ec1c88fd6fa031255f0f9da8b5018164ae88f6ce9e24f5acdda7bc314f61b9", + "input_payload_sha256": "aa1910f9414f146a34a8cb1a6d72adf2f68d0691deddb5ae934202b08f7dfcf3", + "new_warp": [ + 700, + 323, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_323": { + "hostee": 545, + "host": 323, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "55a9d9828114e75c9500871bef3f766b3d2e8ae0885cb4a6143411169597d9b4", + "compressed_sha256": "d6467f392aa2364ea3a610413b7000008f2a0122b582aa8346beb6a3dfdac367", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9126439383253455, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "a4ee3becf406e182b9ff97096225386feb7e870642893e7eabbdd96d76e42c1d", + "new_warp": [ + 700, + 323, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_325": { + "hostee": 545, + "host": 325, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "c7bfde3e1539eeea5909b41c7b62c6e18f62ddb5958d3e5479f4a352bc8bad37", + "input_payload_sha256": "07517549565f0181867c584acfd3dd551533a7b35afd1742ddecd73eaececa8d", + "new_warp": [ + 700, + 325, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_325": { + "hostee": 545, + "host": 325, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "63e8f6d2b8579ad86446410000894708bff05b531ad8a7739ce42c1535098e7d", + "compressed_sha256": "9d356d0ea1afd9cfac82a463c0ab3a13d3e3ec2227d3128e4d26d9b2a4b0fdd8", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9302875949069858, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "87d339d4ac029dd6100ab5dd5a158ace60bf1f828b2c701b0823f798cd8f715c", + "new_warp": [ + 700, + 325, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_330": { + "hostee": 545, + "host": 330, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "f206f0b83270cba318ca2f5d5805ede108a80f3dc588e0aa0a089baee13bf572", + "input_payload_sha256": "38638c7363b7dfde2264a4f1ae6d28bc3faafa71a5a9c9de18c21c6fec6826b1", + "new_warp": [ + 700, + 330, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_330": { + "hostee": 545, + "host": 330, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "11fbea752445b4c6358b754a805475cdd111ed5cb19866e69bb7294538f41f5b", + "compressed_sha256": "6b7665691d9a4dca165efa2fffec11ccda1f49b6e0184fbff63b668a0fd51192", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9013217845931649, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "6e2be12d51b7e755559dc4198fb2d9638978b6fb1406acd17e137325f7699f84", + "new_warp": [ + 700, + 330, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 32, + 81, + 395 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_337": { + "hostee": 545, + "host": 337, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "72f6b0d56ce8a22f1c537752ac909a1ab082db7d9b3a22387f478f89d09f4e7e", + "input_payload_sha256": "9abea85ad105adec9c5d8de642ec99f426d1e25f5806bb1f67d71243d71cb005", + "new_warp": [ + 700, + 337, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_337": { + "hostee": 545, + "host": 337, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e9c477e15653f45eb926b5474d593e64d8d00a3c7be35c1ae2aac0f693fafb63", + "compressed_sha256": "1d6a9eea00e10eeb42e2f72830160b6adf10d1cdc9993ed598949b0e2ac5c130", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9221068015322089, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "b40affe67a5e06b9198bb7c64a9c45dc2f7d76c957309669774c2bff714c754e", + "new_warp": [ + 700, + 337, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_339": { + "hostee": 545, + "host": 339, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "0ae880f412dc60c079fc9df063aacad35cc84cbf0e6821bd38cb29367c84eee1", + "input_payload_sha256": "1c3752ce03e7069de4e04090c7f66a0ddb4498ba291d1d4e34dd0cde856f53f1", + "new_warp": [ + 700, + 339, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_339": { + "hostee": 545, + "host": 339, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "2bf4d5e6e3bc0f3957dd7aa818ec850bca8963f1bc3f279ba12d3fb066a5ea7e", + "compressed_sha256": "5cea31db3056ab77ceefe2643101ceb2ad8dcdcd4bbf391b3acfc6c6f8e7a21f", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9133159313350916, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "936597984fcbcf228470c475ad7850c6ccce547258c5d7a74377612df0baead0", + "new_warp": [ + 700, + 339, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_341": { + "hostee": 545, + "host": 341, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a211ec7c5dcf2637f58f17d7a560ebbabbfabeac4b28856f23e1c7360aaa9c24", + "input_payload_sha256": "0b3a24c5187e6434fffbbf98812de1250203ff055eca5c6f798f63fabefed19d", + "new_warp": [ + 700, + 341, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_341": { + "hostee": 545, + "host": 341, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "e7ef8bad13048ff3ce54e23ac4adb5e5410338ba5adacbf8b94597412b322531", + "compressed_sha256": "1993367968de9aaae426f2351b36f30032e4abfc92010cb11efb2747782a4a0a", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9132222151383758, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "88dfcb56031ef9eea88c27bf7efc9cb7495b97c8a86f24563483644421b56879", + "new_warp": [ + 700, + 341, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_346": { + "hostee": 545, + "host": 346, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "ae0df44043f859d49d56205244772cd9367942c9dac3784cf7110b0f5b4ffb93", + "input_payload_sha256": "7f5d00743c0a9e726fc41cb07112728b9cf98cb15d0dad5bbe56250d2eca0c67", + "new_warp": [ + 700, + 346, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_346": { + "hostee": 545, + "host": 346, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "9cc8f99d788dba5a33892cc4586643dbf867eb2720cb1516b065ae4e563b70c5", + "compressed_sha256": "49b8ea11dc4001436e7543d5764cabf019395da2af68ad91abd2e9c9b6e6751f", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9144092481583357, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "5173a3d146b027db3e4710617d7e674f50b4ea89a84c0794497c0fa9743b212b", + "new_warp": [ + 700, + 346, + [ + 1, + 2, + 8, + 14, + 48, + 16, + 73, + 128, + 265 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_353": { + "hostee": 545, + "host": 353, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "43b9e191d3467aa4d30b682abe10cc039b89bc1c4118af6fad2ca417507c9866", + "input_payload_sha256": "7c5e4449ba1309e5c0ceb49e7474a8b362683dbe8950abd1097e4a9be6e80121", + "new_warp": [ + 700, + 353, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_353": { + "hostee": 545, + "host": 353, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "18dc5c533ebfd5db0d034880f961658fad19a5eb9b5ddddf2493f90768de4d09", + "compressed_sha256": "9c22c204934e8540b66ec9d084f7d3d435d63040aec9e4f6f97e243c616cf1a9", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9116248497739434, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "33425bb26760812de183763f431a755fdee2b92116e9155973a79560e3951bcd", + "new_warp": [ + 700, + 353, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_355": { + "hostee": 545, + "host": 355, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "ea615065ccbc9a1bd00030439d5bb69e09fd7ac68e991154f3544bbf01564e5b", + "input_payload_sha256": "fb3de369220390d773794c91daba9fb715c86234c7a75f839548c60f9dfaac7e", + "new_warp": [ + 700, + 355, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_355": { + "hostee": 545, + "host": 355, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "3cb7f8c3c1239655e10bac50a44998b3230564702cac07e62a3796b650cefb6b", + "compressed_sha256": "a3c539c87a27109e752b52ff735d153c111c567dff75ede53f662426116b0c97", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9358725342899561, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "3dc5eca2195867c69e09ae1c30ecb4de4aeb0c45b338f3ec487b42eb4c6c36e4", + "new_warp": [ + 700, + 355, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_357": { + "hostee": 545, + "host": 357, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "ad950ea08109eaad791c0436daffb3a951c0112f12fdb6657c759a2c1e457305", + "input_payload_sha256": "1fe4cb3363ab12312edf59fe7eff01e4147abe13b8770dc5c264a38465e18eaa", + "new_warp": [ + 700, + 357, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_357": { + "hostee": 545, + "host": 357, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "6d1f8a2a69dde225063dd12d4d3998d012fdb742d5d2a57469352532fed2912c", + "compressed_sha256": "ae67d0a85d81ff79dc19c4bdaf37949e7287799071115059a61d68bcd2b2034a", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9042857503518462, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "8df8bab7dc24f0e752c667088d6e4af923f2185396ae625c7fcdd4e39a64580d", + "new_warp": [ + 700, + 357, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_362": { + "hostee": 545, + "host": 362, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "faddadb4aa2d28a029a5e25fa09317b981f209062ba1143b257e6b9b1cdabbc7", + "input_payload_sha256": "54d971dca3f9e84fc0b47c48fa1252201f9344ab9563dbf26f3aa98e7f4c076a", + "new_warp": [ + 700, + 362, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_362": { + "hostee": 545, + "host": 362, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "6f6f9b21a64aa49f7a55ffa6bf54384aaf67aeb1c2c7a9071895efe36209ac44", + "compressed_sha256": "4aaf6ff8a16f5511da0f93004277bf80f606a107127d68be131db99923980da2", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.965479482896626, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "7896d3c33abbe2d8360d3b3476407d06d1eaeb12f671a880884db845e623cff3", + "new_warp": [ + 700, + 362, + [ + 1, + 2, + 8, + 16, + 29, + 128, + 185, + 73, + 403 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_369": { + "hostee": 545, + "host": 369, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "75c8befd5b648389c582bfa1e945dbe3f9042f9a861e77bf70b68706124aaf2d", + "input_payload_sha256": "cc5cbec74cb314a34cd1367a8c10b30b956f74e11f2f643618d95580418d3b2c", + "new_warp": [ + 700, + 369, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_369": { + "hostee": 545, + "host": 369, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "f8eb6ff0f8156f3a3a58cc187e3c10d311e75e619929c36c4f7714c4bac7c62f", + "compressed_sha256": "9bfdcd2ff5c6d6ec7e523176e7dbd3aaf84bde075692a1630a6a3467c88219fe", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9320523757487535, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "3e46fb2f0d9a7a0372eb727d2a86d671c4a50a719e9558b25791678b56c5a95c", + "new_warp": [ + 700, + 369, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_371": { + "hostee": 545, + "host": 371, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "a91f1ffd4af0b16425cd1441ac5a0c00e817542c4cf886a9acb81a92440e58f9", + "input_payload_sha256": "401170d657de3b26ba5bede7ec849185f91d2b776e98d689d56e3d0de5c32a31", + "new_warp": [ + 700, + 371, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_371": { + "hostee": 545, + "host": 371, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "2f61983826df3923cafd512e1b0ba377f763dcac560a6e47cdde80535ca9d35c", + "compressed_sha256": "aa93bd58d128b67642b9b43dfab16c59e356616fa352292d560536ace1d98fb7", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9228643281385303, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "7ace53d492fe2727aa3299772a76be5ccfb45ad3ceef85a05a5532d13a2c8abc", + "new_warp": [ + 700, + 371, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_373": { + "hostee": 545, + "host": 373, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "0cbb825fbbc1e71905628eaa1d182e266145dc1392ce797e68acd749058e4ceb", + "input_payload_sha256": "871440e1c7f04be6b9ad564db83c1f120485f4e07ae6880d3c32d6f35a89ad04", + "new_warp": [ + 700, + 373, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_373": { + "hostee": 545, + "host": 373, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "65fe0a66d0f71ca793fbe03a582c88185f9dbcd6c44e904fee5ebdc5f27ba17a", + "compressed_sha256": "d6080a970659a2cc1905708b58d8902fc8cf38c6d4831841eb2925e06f901995", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9044572627171874, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "2db8978a6698f29650d88a07b6c85cedf7e4c330c15e4d74b99e61f15a763cb1", + "new_warp": [ + 700, + 373, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-545_378": { + "hostee": 545, + "host": 378, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "8791feb2e82daaf0d69cc981540af182454b335c190fc1e6e1d387d1acf37ee8", + "input_payload_sha256": "350d3d1a18335acf01e7f920d6fb354152a4319d7dea9aa45d41caba4ed2842e", + "new_warp": [ + 700, + 378, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "e-545_378": { + "hostee": 545, + "host": 378, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "a174505120b83315ad30a2fc3259ad8f77c4baf6cef1239550c575e89ec076d6", + "compressed_sha256": "7cea6998f6d0b825321f2ef39af23ca47a219988910827cde4f1d0485285a4dd", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2381, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9095033584162593, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "4263781bc673efcefbf2965f12fe71ab682634567c1f19ca0b38d8534e585709", + "new_warp": [ + 700, + 378, + [ + 1, + 2, + 8, + 16, + 13, + 58, + 64, + 128, + 265 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 409, + 67, + 51, + 7 + ] + ] + }, + "b-592_277": { + "hostee": 592, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "4616c1bcf2275b8d275ce3a6c1cc1ebb4712538f45ca1882b467eeaf1289b4da", + "input_payload_sha256": "7754db9a8531ef68d0da9cc53973e45fd5f74485b48bad5857f5ded57f7dc859", + "new_warp": [ + 917, + 277, + [ + 1, + 2, + 4, + 8, + 20, + 36, + 204, + 64, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 327, + 199, + 45, + 30 + ] + ] + }, + "e-592_277": { + "hostee": 592, + "host": 277, + "orientation": "e", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "6c8ce353f5dff0f7645e483fc9877cc99ff11867d11a33609e4951c0808fc1e8", + "input_payload_sha256": "193128354016ef84ea4df0590773434aea09e446e3653301d201a7c1813bf110", + "new_warp": [ + 917, + 277, + [ + 1, + 2, + 4, + 8, + 20, + 36, + 204, + 64, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 327, + 199, + 45, + 30 + ] + ] + }, + "b-624_277": { + "hostee": 624, + "host": 277, + "orientation": "b", + "reconstructed_audit": null, + "retained_source": true, + "source_sha256": "8cc70fb47a312a94a3a15b4d6fabee70bfd59129f2d7d4fa413b5a5695d86ab1", + "input_payload_sha256": "04acfde599cfceadcaa1dd036a4550f113400df137feb6dcf1f86f7d120d20cb", + "new_warp": [ + 1000, + 277, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 71, + 128, + 267 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 399, + 76, + 42, + 25 + ] + ] + }, + "e-624_277": { + "hostee": 624, + "host": 277, + "orientation": "e", + "reconstructed_audit": { + "rc": 0, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "error": [], + "receipt": { + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w.json.gz", + "content_sha256": "79e269c91d335a747bf6a425daca28055ac3772621a1842719e29b9c198424be", + "compressed_sha256": "ae871504186e10078323741def94b02060e48bc488319c0ecc673d49d975d0cf", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 73, + "independent_inputs": 631, + "warps": 73, + "corrections": 38, + "restored_cold": 71, + "zero_buffers": 71, + "entering": 125, + "local_profile": { + "1": 2395, + "2": 640, + "3": 264, + "4": 131, + "5": 26, + "8": 8 + }, + "local_mass": 5185, + "width_inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 631, + "elapsed_seconds": 0.9133302681148052, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." + } + }, + "retained_source": false, + "source_sha256": null, + "input_payload_sha256": "f750338f4e8afb2d28e470a9f957214016a4b7f0f51094c00b198e3bb272b116", + "new_warp": [ + 1000, + 277, + [ + 1, + 2, + 4, + 8, + 19, + 35, + 71, + 128, + 267 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 399, + 76, + 42, + 25 + ] + ] + } +} diff --git a/research/t74-cold-host-restoration/direct/engine.py b/research/t74-cold-host-restoration/direct/engine.py new file mode 100644 index 0000000000..50eaa38a06 --- /dev/null +++ b/research/t74-cold-host-restoration/direct/engine.py @@ -0,0 +1,315 @@ +"""Independent exact verifier for the finite direct-host-restoration domain. + +No optimizer or predecessor Python is imported. GF(2)^9 subspaces are reduced +from literal vectors. Equality at a warp/cut is imposed on the preceding gate; +all gates take joins. A forced vector outside any fixed cap proves infeasibility. +Scalar recovery is a separate rational inverse-substitution computation. +""" +from collections import defaultdict, Counter +from fractions import Fraction +from functools import lru_cache +from itertools import permutations +from bisect import bisect_right, bisect_left +import json + + +def require(p, reason): + if not p: + raise ValueError(reason) + + +@lru_cache(maxsize=100000) +def basis(vectors): + rows=[0]*9 + for x in vectors: + require(isinstance(x,int) and 0<=x<512, 'vector outside GF2^9') + for bit in range(8,-1,-1): + if x & (1<=0 else self.start[q] + + def literal_check(self,w): + """Stored frames obey every lower constraint; separate from scalar map.""" + current=list(self.start);paid=Counter();npre=w.get('prelude_events',0) + for t,e in enumerate(self.events): + if e[0]=='gate': + _,rr,sec,i,frame=e;U=basis(tuple(frame)) + require(subset(self.lower[t],U),('literal below floor',sec,i)) + for q in rr: + require(subset(current[q],U),('literal nonmonotone',q,sec,i)) + if len(U)>len(current[q]):paid[len(U)-len(current[q])]+=1 + current[q]=U + elif e[0]=='warp': + _,q,U,E,sec,i=e;require(current[q]==U,('literal warp equality',q,sec,i));current[q]=E + else: + for q,U in e[1].items():require(current[q]==U,('literal cut equality',q)) + for q in self.live: + require(subset(current[q],self.end[q]),('literal end',q)) + if len(self.end[q])>len(current[q]):paid[len(self.end[q])-len(current[q])]+=1 + levels={int(q):basis(tuple(U)) for q,U in w.get('target_levels',{}).items()} + for q,U0 in zip(w['centers'],w['center_frames']): + U=basis(tuple(U0));served={levels.get(e[1]-self.v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(subset(T,U),'center path nonnested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + require(dict(paid)=={int(k):v for k,v in w['report']['local_profile'].items()},'literal paid profile') + inv=Counter(len(self.end[q])-len(self.start[q]) for q in self.live if q>=2*self.v) + require(dict(inv)=={int(k):v for k,v in w['report']['width_inventory'].items()},'literal inventory') + return dict(paid) + + +def substitute(coeff,e): + if e[0]=='warp': + q,op=e[1:3];out={} + for (r,word),a in coeff.items(): + if r==q:word=word[:-1] if word and word[-1]==op else word+(-op,) + out[r,word]=out.get((r,word),Fraction(0))+a + return {k:a for k,a in out.items() if a} + x=e[1] + if e[0]=='add': + a=Fraction(e[3],e[4]);new=defaultdict(Fraction) + for (r,word),v in list(coeff.items()): + if r==x:new[e[2],word]-=a*v + for key,v in new.items():coeff[key]=coeff.get(key,Fraction(0))+v + else: + a=Fraction(e[2],e[3]) + for key in list(coeff): + if key[0]==x:coeff[key]/=a + return {k:a for k,a in coeff.items() if a} + + +def recovery(w,model): + op=len(w['warps']);start,c,*_=w['warps'][-1] + last=max(i for i,e in enumerate(w['B']) if c in regs(e));coeff={(c,()):Fraction(1)} + bypos=defaultdict(list) + for oi,rec in enumerate(w['warps'],1): + if oi!=op:bypos[rec[0]].append(['warp',rec[1],oi]) + rows=[];boundary_checks=0 + def sample(sec,slot,index): + nonlocal boundary_checks + require(all(not word for q,word in coeff),'nonscalar recovery not in this finite domain') + expr={r:a for (r,_),a in coeff.items()};L=() + for r in expr:L=join(L,model.floor(r,model.positions[sec,index])) + if sec=='B': + require(not any(e[1] in expr for e in bypos[slot]),'participating warp at insertion boundary') + boundary_checks+=1 + rows.append(dict(section=sec,slot=slot,expression={str(r):str(a) for r,a in expr.items()},floor_join=list(L),rank=len(L),additions=len(expr)-(c in expr),scale=expr.get(c)!=1)) + for i in range(start,len(w['B'])): + for e in bypos[i]:coeff=substitute(coeff,e) + coeff=substitute(coeff,w['B'][i]) + if i>=last:sample('B',i+1,i) + for e in bypos[len(w['B'])]:coeff=substitute(coeff,e) + for i,e in enumerate(w['restore']): + coeff=substitute(coeff,e);sample('restore',i+1,i) + return rows,boundary_checks + + +def slot_classes(w,rows): + touch=defaultdict(list);nB=len(w['B']) + for i,e in enumerate(w['B']+w['restore']): + for q in regs(e):touch[q].append((2*i+1,'gate',i)) + for oi,rec in enumerate(w['warps'],1):touch[rec[1]].append((2*rec[0],'warp',oi)) + for q in touch:touch[q].sort() + seen={} + for row in rows: + if row['rank']!=8:continue + at=row['slot'] if row['section']=='B' else nB+row['slot'];cut=2*at+1;keys=[] + for q in sorted(map(int,row['expression'])): + ts=touch[q];i=bisect_left([t[0] for t in ts],cut) + keys.append((q,ts[i-1] if i else None,ts[i] if i=j: + for k in (1,2) if g[0]=='add' else (1,): + if g[k]==h:g[k]=c + out.append(g) + require(unframe(out)==unframe(w['B']),'derived B scalar word') + for sec in ('A','restore'):require(unframe(parent[sec])==unframe(w[sec]),('unchanged scalar section',sec)) + for sec in ('precondition','compensation','cut','ports','centers','center_frames','target_levels','prelude_events'): + require(parent.get(sec)==w.get(sec),('unchanged interface',sec)) + shift=lambda x:x-sum(i>bit&1:y^=G[bit] + return y + require(basis(tuple(map(apply,U)))==basis(tuple(E)),'G(U) != E') + vec=defaultdict(Fraction) + for i in reads:g=B[i];vec[g[1]]+=Fraction(g[3],g[4]) + for g in reversed(parent['precondition']): + if g[0]=='add':vec[g[1]]-=Fraction(g[3],g[4])*vec[g[2]] + elif g[1] in vec:vec[g[1]]/=Fraction(g[2],g[3]) + extra=[dict(target=t,source=c,operator_word=[len(w['warps'])],coefficient=str(a)) for t,a in sorted(vec.items()) if a] + require(w['initial_corrections']==parent['initial_corrections']+extra,'pulled-back initial corrections') + ends=dict(parent['helper_final']);del ends[str(c)];starts=dict(parent['start_extra']);del starts[str(h)] + require(w['helper_final']==ends and w['start_extra']==starts,'changed helper endpoints') + require(w['removed']==parent['removed']+[h],'removed helper list') + bypos=defaultdict(list) + for op,rec in enumerate(w['warps'],1):bypos[rec[0]].append(['warp',rec[1],op]) + forward=list(w['A'][w.get('prelude_events',0):]) + for i in range(len(w['B'])+1): + forward.extend(bypos[i]) + if iw3Zh(b3k|1uyB{l~*e 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­lGW_wH2)qjR?zaEb zgR5ro^23VUf)JgE?J{KFY_yg6dCmOD^z(3iS@-KusNV3Pq~RdQ_GerSv@8qR@0%Cl zf+Y6?BD2nInNqfcpKqViy?nxv8lvS6J}>eVY<)@~aL(gN>W9WaNUg${-8~lB57SL0JDw=aq2s3b@+IU9$n^-3fn|(EzsHof&vY+RrpoMe!#8-aFz2f90q=Xo&FH9C@^6m-58JkK$?t8$z_J zXr1HNGD$|m1ymJxvKy68SO-Y%sZqTjy&zYCc*soVWU&u&Fwr2T$ndwKY2WgZN+ z(C?V-k@S_s>>vLn9<#ECX1}dbNR&95#(xd_iN^_SN)c@qnauN7@ubF+lM()~mr?%m zdrdj>rzH%4Zs__jPGOU&iZ;1A^m6d0+8uUejy?QOh{Uj(GDf(F$qf+E=9>O zRP4aQ`4}1`5hq;}rR;H>CH?Cyxuq#()+M%{!_!cp)k{T+a{Mp|&=(d2;Q*4s)^FjF z^k-7gv^q@$rESr&k25TuElxztuBKf^GT-5iRP#H6l-Vuj!(cCS1Fe2IA#Adst3f^2Xi9ZV^`u
+ZDsj3^Ak0Qnz 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 literal 0 HcmV?d00001 diff --git a/research/t74-cold-host-restoration/hyperplanes/verify.py b/research/t74-cold-host-restoration/hyperplanes/verify.py new file mode 100644 index 0000000000..33c5ee6d56 --- /dev/null +++ b/research/t74-cold-host-restoration/hyperplanes/verify.py @@ -0,0 +1,275 @@ +"""Independent necessary-frame replay of the 992 changed-entry experiments. + +All arithmetic is exact. Joins propagate necessary lower frames along the +register chains; equality pins add their complete subspace to the preceding +gate. No optimization result or claimed infeasibility receipt is trusted. +Only direct, contiguous scalar recovery after the host's final original use is +screened. This is not an exclusion of changed scalar circuits or staged undo. +""" +from __future__ import annotations + +import argparse +import concurrent.futures +import copy +import functools +import gzip +import hashlib +import json +from collections import Counter, defaultdict +from fractions import Fraction +from pathlib import Path + +HERE = Path(__file__).resolve().parent +FULL = tuple(1 << i for i in range(8, -1, -1)) +HOSTEES = (592,593,594,596,600,601,602,604,608,609,610,612,617,624, + 625,626,632,633,634,640,642,644,648,649,650,652,656,657, + 658,660,673,674) + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def basis(vectors): + pivots = {} + for vector in vectors: + while vector: + k = vector.bit_length()-1 + if k in pivots: + vector ^= pivots[k] + else: + pivots[k] = vector + break + for k in sorted(pivots): + for j in pivots: + if j > k and pivots[j] >> k & 1: + pivots[j] ^= pivots[k] + return tuple(pivots[k] for k in sorted(pivots,reverse=True)) + + +@functools.lru_cache(None) +def join(a,b): + return basis(a+b) + + +@functools.lru_cache(None) +def perp(a): + return basis(x for x in range(1,512) if all((x&y).bit_count()%2==0 for y in a)) + + +@functools.lru_cache(None) +def meet(a,b): + return perp(join(perp(a),perp(b))) + + +def regs(gate): + return gate[1:3] if gate[0]=='add' else gate[1:2] + + +def events(word): + result=[] + for i,g in enumerate(word['A']): + result.append(('A',i,g)) + result.append(('cut',None,None)) + warps=defaultdict(list) + for op,rec in enumerate(word['warps'],1): + warps[rec[0]].append((op,rec)) + for i in range(len(word['B'])+1): + for op,rec in warps[i]: + result.append(('Bwarp',i,['warp',rec[1],op,rec[3],rec[4]])) + if i>i&1:x^=u + vec[mask]=x + ans=sorted({basis(x for mask,x in vec.items() if (mask&f).bit_count()%2==0) for f in range(1,32)}) + require(len(ans)==31 and all(len(x)==4 for x in ans),'hyperplane enumeration') + return ans + + +def hosting(word,h,E,c=277): + """Only proof-relevant frame/scalar fields of J's frozen hosting edit. + + Initial corrections and cleanup have no framed gates in the searched + interval. They are deliberately outside this necessary-condition replay. + The original experiment separately certified complete hosted words. + """ + w=copy.deepcopy(word);v=w['report']['v'];B=w['B'] + pos=[i for i,g in enumerate(B) if h in regs(g)] + first=next(i for i in pos if not(B[i][0]=='add' and B[i][2]==h and v<=B[i][1]<2*v)) + reads=[i for i in pos if i=last:samples['B',i]=tuple(coeff) + require(not any(coeff.get(q) for q in other[len(w['B'])]),'terminal non-scalar recovery') + for i,g in enumerate(w['restore']): + step(g);samples['restore',i]=tuple(coeff) + return samples + + +def screen(w): + samples=expressions(w);ev,forced,pins=chains(w);cur=starts(w);hist=Counter() + for t,(sec,idx,g) in enumerate(ev): + if sec=='cut': + for q,U in pins.items():cur[q]=join(cur[q],U) + elif g[0]=='warp':cur[g[1]]=basis(g[4]) + else: + U=forced[t] + for q in regs(g):U=join(U,cur[q]) + for q in regs(g):cur[q]=U + if (sec,idx) in samples: + F=() + for q in samples[sec,idx]:F=join(F,cur[q]) + hist[len(F)]+=1 + return dict(min_rank=min(hist),rank_histogram={str(r):n for r,n in hist.items()}, + scalar_slots=sum(hist.values()),non_scalar_slots=0) + + +def work(item): + h,E=item + return dict(hostee=h,host=277,E=list(E),**screen(hosting(BASE,h,E))) + + +def initialize(word): + global BASE + BASE=word + + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--workers',type=int,default=4);args=ap.parse_args() + require(1<=args.workers<=24,'workers must be in1..24') + pins=json.loads((HERE/'PINS.json').read_text()) + for name,key in [('base-b.json.gz','base_b_sha256'),('EXPECTED.json','expected_sha256')]: + require(hashlib.sha256((HERE/name).read_bytes()).hexdigest()==pins[key],'source hash: '+name) + base=json.loads(gzip.decompress((HERE/'base-b.json.gz').read_bytes())) + expected=json.loads((HERE/'EXPECTED.json').read_text());lo,hi=base_bounds(base) + # Original literal frames give a feasible positive control for every bound. + for sec in ('A','B','restore'): + for i,g in enumerate(base[sec]): + if g[0]=='warp':continue + F=basis(g[-1]);require(join(lo[sec,i],F)==F and meet(hi[sec,i],F)==F,'literal positive control') + jobs=[] + for h in HOSTEES: + first=next(i for i,g in enumerate(base['B']) if h in regs(g) and not(g[0]=='add' and g[2]==h and 112<=g[1]<224)) + jobs.extend((h,E) for E in hyperplanes(hi['B',first])) + require(len(jobs)==992,'case count') + with concurrent.futures.ProcessPoolExecutor(max_workers=args.workers,initializer=initialize,initargs=(base,)) as pool: + actual=list(pool.map(work,jobs,chunksize=4)) + key=lambda x:(x['hostee'],x['E']) + require(sorted(actual,key=key)==sorted(expected['results'],key=key),'exact census differs') + require(all(x['min_rank']==9 for x in actual),'rank9 result') + # A changed result and a corrupted input cannot silently pass this binding. + bad=copy.deepcopy(actual);bad[0]['min_rank']=8 + require(sorted(bad,key=key)!=sorted(expected['results'],key=key),'forged rank control') + corrupted=bytearray((HERE/'base-b.json.gz').read_bytes());corrupted[-1]^=1 + require(hashlib.sha256(corrupted).hexdigest()!=pins['base_b_sha256'],'source corruption control') + print(json.dumps(dict(status='PASS_CHANGED_ENTRY_NECESSARY_FRAME_CENSUS',cases=len(actual), + slots=sum(x['scalar_slots'] for x in actual),minimum_rank_counts=dict(Counter(x['min_rank'] for x in actual)), + controls=['literal_bounds','forged_rank','source_corruption'], + scope='host277, b orientation,32 specified hostees,31 rank4 entries each; contiguous direct recovery only'),sort_keys=True)) + + +if __name__=='__main__':main() diff --git a/research/t74-cold-host-restoration/operator/NOTES.md b/research/t74-cold-host-restoration/operator/NOTES.md new file mode 100644 index 0000000000..4cbb3e26c8 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/NOTES.md @@ -0,0 +1,75 @@ +The inverse-prelude repair works in the pinned scalar/frame grammar on both J +`473 -> 277` hosted words. It does not produce an admitted supplier or a kappa +gain. The constructed host ends at FULL rank 9; the native all-cold transport +explicitly rejects a private cleanup buffer for a FULL-ended helper. + +Run with Python 3.10 or newer, without third-party packages: + +```sh +python3 -B research/t74-cold-host-restoration/operator/verify.py +``` + +Add `--json` for a deterministic receipt on stdout. The command authenticates +all vendored files and input words by SHA256 and Git blob ID against a pinned +provenance manifest before executing either checker. It rebuilds in a temporary +directory and writes nothing into the package. `SOURCE-PINS.json` records the +exact upstream source heads and paths whose Git blobs were checked when this +package was assembled. Neither a Git checkout nor network access is needed. +The two inherited Python sources retain their exact bytes, including CRLF. + +The complete additional recipe is: + +1. Remove the two new initial corrections from host 277, both with operator + word `[73]` and coefficient `1/2`, to targets 167 and 213. +2. At the start of A's prelude, before the old prelude, insert in order + `213 += 277/2` at frame zero and the inverse warp `K_73^-1` on host 277, + from frame zero to frame zero. Increase the prelude count by two. +3. After the entire old restore section, apply + `277 -= 100/2; 277 -= 226; 277 += 54; 277 += 67`, all at FULL. + These four source registers are not written by the old restore section. +4. Add host 277 to `helper_final` at FULL and rederive the inverse-reverse + cleanup using a private zero buffer for every restored helper. The A + prelude is excluded from that cleanup, as in the existing grammar. + +Every original gate and literal frame in A, B, and restore is retained. No +frame solver, objective optimum, or toolkit import is needed to reproduce +this fixture. The inverse warp cancels the changed reference that otherwise +leaves `K_73(x_277)` after the scalar undo. The replacement target read is +obtained by exactly transporting the two identity correction coefficients +through precondition and compensation: the coefficient at target 167 becomes +zero and the coefficient at target 213 remains `1/2`. + +The verifier also checks the algebraically equivalent nonempty correction +word `[73,-73]`. An empty operator word is rejected by the pinned grammar; +the ordinary target read avoids changing that contract and removes eight +redundant warp events compared with the nonempty identity representation. +Both forms pass on all 631 arbitrary input columns in forward and +inverse-transpose orientations. Five semantic mutations per input fail for +the intended target-map or cold-row reason; two empty-word mutations fail the +grammar check. Independent literal GF(2) recount gives the unchanged profile +`{1:2381, 2:650, 3:266, 4:128, 5:26, 8:8}` (mass 5185), width inventory +`{4:25, 5:2, 7:62, 8:77, 9:241}`, and 407 helpers. The constructed fixture +requires 72 zero buffers versus 71 in the hosted input. + +The native exclusion is executed, not inferred from a successful scalar +receipt. The two original hosted inputs pass the pinned native transport; +the two reconstructed fixtures reach and fail its unchanged assertion +`all(len(frames[final[r]]) < h for r in zero_buffers)`. No native canonical +word is emitted for either fixture. Consequently there is no native phase +replay, owner admission, uniform precision certificate, or whole-invoice +claim for these fixtures. + +The inverse prelude is not free in the native invoice. Each literal warp has +rank zero and preserves coefficient norms, but carries one monomial routing +reserve, represented by 16 adapter units in the inherited invoice. Relative +to the hosted input, the normalized recipe has 7 more literal scalar +operations, 3 fewer literal warp events, and one additional zero buffer. +Including buffer allocation/release, that is 9 more scalar macros, 62 more +real-component scalar primitives, and 112 more adapter reserve units under +[the pinned invoice formula](https://github.com/CrocSwap/integer-mult-bounds/blob/4f485de05544884fa0f2edf6063bb9259decad30/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py#L183). +`vendor/invoice_allcold_pr2745.py` retains the complete byte-exact source of +that formula; it is authenticated but never imported or executed. +These are formal event-count differences only; they do not bypass the native +exclusion. The inverse warp itself adds no coefficient precision growth; +the additional scalar gates still require a fresh uniform prefix/precision +bound in any admissible future construction. diff --git a/research/t74-cold-host-restoration/operator/NOTICE b/research/t74-cold-host-restoration/operator/NOTICE new file mode 100644 index 0000000000..e63256437d --- /dev/null +++ b/research/t74-cold-host-restoration/operator/NOTICE @@ -0,0 +1,23 @@ +Anticipatory dirty borrowing and the changed-reference K_G mechanism: +Cinna Davis (@1337isnot1337), PR2226, with substantial OpenAI Codex assistance. +The present finite cancellation experiment builds on that mechanism. + +Hosted input words: Marius-Paul Dumitrean (@mdumitrean), PR2802/J hosting +follow-up at dfbc5ba121d5d23381393f178be8d4ba25ebfa4d. The exact inherited +PR2802 NOTICE and SOURCE-NOTICE are retained under vendor/. + +Exact scalar/frame auditor: PR2679's new/borrow/audit_local.py at +2e2cf56521df8a2b816b2689144765ee00b69a24, prepared for icekylinx with OpenAI +GPT-6 Astra assistance, as stated in its unchanged source header. The +inverse-reverse cleanup rule follows the same package's word_patch.py. + +Native transport and nonexecuted invoice source: PR2745's +new/code/borrow/bw_transport.py and code/invoice_allcold.py at +4f485de05544884fa0f2edf6063bb9259decad30; its source credits the PR2226 +borrowing construction and the native lowering lineage. Source NOTICE is +preserved in vendor/NOTICE-PR2679. Files retain their original byte sequence. + +New finite inverse-prelude fixture, correction normalization, literal +recount, controls, and portable verifier: prepared for Marius-Paul Dumitrean +with substantial OpenAI Codex assistance. No independent human review is +claimed. Apache-2.0. All inherited mathematical qualifications remain. diff --git a/research/t74-cold-host-restoration/operator/SOURCE-PINS.json b/research/t74-cold-host-restoration/operator/SOURCE-PINS.json new file mode 100644 index 0000000000..1d9da4e138 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/SOURCE-PINS.json @@ -0,0 +1,81 @@ +{ + "schema": 1, + "sources": { + "vendor/audit_local_pr2679.py": { + "sha256": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "git_blob": "8224873d0497cf0b4c202f31b145fa273553d978", + "source_head": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "source_path": "research/gmx-t74-borrow43-handoff/new/borrow/audit_local.py", + "source_pr": 2679, + "source_url": "https://github.com/philippeVV/integer-mult-bounds/blob/2e2cf56521df8a2b816b2689144765ee00b69a24/research/gmx-t74-borrow43-handoff/new/borrow/audit_local.py" + }, + "vendor/bw_transport_pr2745.py": { + "sha256": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "git_blob": "08248542b18864c94a5ac050c8669f68519838e1", + "source_head": "4f485de05544884fa0f2edf6063bb9259decad30", + "source_path": "research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py", + "source_pr": 2745, + "source_url": "https://github.com/philippeVV/integer-mult-bounds/blob/4f485de05544884fa0f2edf6063bb9259decad30/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py" + }, + "vendor/NOTICE-PR2679": { + "sha256": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "git_blob": "46411b80b277d7dcd653a6d1999eaf12975b1103", + "source_head": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "source_path": "research/gmx-t74-borrow43-handoff/NOTICE", + "source_pr": 2679, + "source_url": "https://github.com/philippeVV/integer-mult-bounds/blob/2e2cf56521df8a2b816b2689144765ee00b69a24/research/gmx-t74-borrow43-handoff/NOTICE" + }, + "vendor/NOTICE-PR2802": { + "sha256": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "git_blob": "4f946d97736bcc10e56fd3648f0035de3eda63f0", + "source_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-joint-twelve-retired7/NOTICE", + "source_pr": 2802, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-joint-twelve-retired7/NOTICE" + }, + "vendor/SOURCE-NOTICE-PR2802": { + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "source_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-joint-twelve-retired7/SOURCE-NOTICE", + "source_pr": 2802, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-joint-twelve-retired7/SOURCE-NOTICE" + }, + "inputs/hosted-b-473-277.json.gz": { + "sha256": "426bffd3ea874fd3f97ebcf731c43f1f576e8fba1dec8665294d7c1926df0389", + "git_blob": "a596bcd8bd95dba7bd587822d60489e820ea60eb", + "source_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-r10-hosting-leads/J-dim1/out/eh/w-b-473_277.json.gz", + "source_pr": null, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-r10-hosting-leads/J-dim1/out/eh/w-b-473_277.json.gz" + }, + "inputs/hosted-e-473-277.json.gz": { + "sha256": "735051e082013ded857ab03aa4dee1ee4eabc3aeced2cc7490dcc88aba96cad8", + "git_blob": "2fc1a38ed5f6b1df5b8362ce324d33999262acce", + "source_head": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-r10-hosting-leads/J-dim1/out/eh/w-e-473_277.json.gz", + "source_pr": null, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-r10-hosting-leads/J-dim1/out/eh/w-e-473_277.json.gz" + }, + "vendor/invoice_allcold_pr2745.py": { + "sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "git_blob": "68f0d5aa64288b3ecb431cc2a8fdff8a114143cd", + "source_head": "4f485de05544884fa0f2edf6063bb9259decad30", + "source_path": "research/gmx-t74-borrow43-handoff/code/invoice_allcold.py", + "source_pr": 2745, + "source_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/4f485de05544884fa0f2edf6063bb9259decad30/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py", + "usage": "Authenticated nonexecuted source for the formal literal routing-reserve formula; never imported or executed." + } + }, + "expected_minimal_fixtures": { + "b": { + "content_sha256": "d56b89802c70364b98f8c5e655e526bc4a2ce8fe482d4458ab163d3f98c5a165", + "word_sha256": "03795305a6f1f5e32c65faba918d196f0ba022de7d2e6af8e513e613e376f350" + }, + "e": { + "content_sha256": "6418b70961a5399971a239e6b5ad6ccd28630a2a7630efbcd2a5756d5713f4ad", + "word_sha256": "61aa4a689093c8a233632040bfebe5f4873ed45fc82fe597236bd52dae462772" + } + }, + "scope": "Exact finite operator/frame fixture, not an admitted native construction or kappa improvement." +} diff --git a/research/t74-cold-host-restoration/operator/inputs/hosted-b-473-277.json.gz b/research/t74-cold-host-restoration/operator/inputs/hosted-b-473-277.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..a596bcd8bd95dba7bd587822d60489e820ea60eb GIT binary patch literal 72486 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%0Dec*n#$%klMzG}Kpv2Ao%@Ru6! zOMS*fRfGbMnVvN+H{ALDs`PC-cZ#ZFnkxHOQsMv=AtPbdczm6yq4x6O^_8MG_&QIi zl!<(w*9qVEqE9)4$#ORk%T3qpcAvB8rl@0i+Z8%}J5OTq_5O9&Ow`}wW9gH5Ysp%# z?IR198gFFYh_VMH*^WbE+{R(xJA+qT4SO=fh)rwAEW{_2%4NVYQD1#!;lT8=3jOzC zBS8(G0)ZL3*IFY{fa6*5)WF1G&3+(phonvBui33%jvv_Cj*YNu6hAWDD^tqw`dZfm z>3nfCYR>@m9`+=BXWaV$y74? zuVO;~Z5}B=Hn-}?>~|Np-lQ4q8k(#CE8wZ>-fYR6c&VF4bY@KyWHMvjs2a5jO{AU| zQZJ{we6PD)GFW%kAXX;@2wrzfE6_`?I=-DTEc0s=bH*M1dOrWC0#<uW`=h_FL1I z?YdAXqAO}%pO_Sdu}*UNcOw)db+@~QUh zQ*Ez;yoy>z8j~eP222P8=IoC`?Yn&TwRSGan&mZjq{eL~)Kl#qE6JXhA6#n|KhI)w zGp8|eEb6eaJ!YSBnnMT>L1w2(@a+w{BSLw~=q_L#O&YaFZIc z>5CePh#!d{OD1GUCgkLxYk0pOOf11cb4xRH5dh!}plK_D6C3F`Tf7-h+SzLwLFyJz zN$Yqm%|ynVN62vO$*0)^l{>;j8lK1T#y`O`@a|R%f&3E6zOa2@U}y1pCs3D=W|n}n zf=04}MpIANQ%^X%%ubof6RFbyXr7I=&fVX?-)8J>8|N$<_L>Hkv}?J8GUnOmBif$4>LMRs4W#?*V!r z*r?T$1A#QsxtHr4n!?GG_T2_6jn<^8gi=X2rm%c8nZ}To{8BTi=Uls;&5ZwH@Tq3o z9Ruu6hqK+hF=mxC2;Xi4uvtLS`Msj>4U4l7bk0dDOauEsnZs%1!ELD+T)9#Y@Bjp8 zk4YW#@uFJAX>tvS+?YGuxl`TF^WyIkf=VF^c0YiCu+WJ*!}gqjeb&+ZW)KfQ;q4T8tw&|MTMDcwN&J#Kb=%0D^xV~)|>nuwoN#xd=uCK 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 literal 0 HcmV?d00001 diff --git a/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2679 b/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2679 new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2679 @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2802 b/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2802 new file mode 100644 index 0000000000..4f946d9773 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/vendor/NOTICE-PR2802 @@ -0,0 +1,14 @@ + +research/t74-joint-twelve-retired7 + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. + +This package derives from PR2751 (Tekalign, @tekuuu, Apache-2.0, with substantial OpenAI Codex assistance) and retains its +source notices unchanged in SOURCE-NOTICE. It contains the local retired5 construction (five retired-lender aliases 606<-550, +635<-551, 637<-552, 638<-553, 639<-562 with their exact refits, certified frames and stage inputs; RETIRED5-CODE.patch; +evidence/retired5) and adds the retired7 stages: two hostee moves (the PR2226 borrows of warps 30/31 move from lenders 401/403 +onto 564/565) enabling the retired-lender aliases 667<-401 and 669<-403, with their exact refits, certified frames, stage +inputs, compacted owner fill, checker adaptations (RETIRED7-CODE.patch), retired7_controls.py, verify_retired7.py and +evidence/retired7. Re-used mechanism: PR2679's retired-lender alias 653<-563 (Philippe Van Velzen). Frame refit of PR2751's +words included in the certified frames: PR2766 (DavidAriasC). Vendored byte-identical: vendor/audit_local_pr2679.py and +vendor/word_patch_pr2679.py from the pinned PR2679 package. diff --git a/research/t74-cold-host-restoration/operator/vendor/SOURCE-NOTICE-PR2802 b/research/t74-cold-host-restoration/operator/vendor/SOURCE-NOTICE-PR2802 new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/t74-cold-host-restoration/operator/vendor/SOURCE-NOTICE-PR2802 @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/t74-cold-host-restoration/operator/vendor/audit_local_pr2679.py b/research/t74-cold-host-restoration/operator/vendor/audit_local_pr2679.py new file mode 100644 index 0000000000..8224873d04 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/vendor/audit_local_pr2679.py @@ -0,0 +1,501 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1<>=1;i+=1 + return y + +def ginv(cols,h): + # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise + piv={}; + for i in range(h): + a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] + if a:return None + pre.append(b) + return pre # pre[t] = G^{-1}(e_t) + +def gtrans(cols,h): + # transpose: column j of G^T = row j of G + return [sum(((cols[i]>>j)&1)< E (used for B-phase warps and for A-phase prelude warps)""" + inv=ginv(cols,h);require(inv is not None,'G not invertible') + require(all(gmul(cols,inv[t])==1<(Gx, (G+G^-T)x + G^-T z) + GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} + # G^{-T}(z): via columns GiT + def M(vec): + x=vec&((1<>h + gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x + return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) + walg_add(rows[src],row,-c) + return + if e[0]=='warp': + op=e[2];s=(op>0)-(op<0) + if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol + rows[e[1]]=walg_warp(rows[e[1]],op);return + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + walg_add(rows[t],rows[s],q) + else: + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + +def invert_item(e,full): + if e[0]=='warp':return ['warp',e[1],-e[2]] + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def run_borrow(path,out,main,base,w,data,begin): + v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R + require((v,h)==(112,9),'wrong source geometry') + require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') + full=basis([1<=2*v,'correction source must be a remaining helper') + require(s not in entering,'correction source has nonzero entrance frame') + require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') + require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') + # the source is the lender of the operator it is read through + require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') + # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- + end=[full]*v+[basis([x for x in range(1,1<0 else list(to_),list(to_) if op_>0 else list(fr_),h) + require(cur[r_]==basis(fr_),'prelude warp frame mismatch '+str((r_,op_))) + cur[r_]=basis(to_) + else: + for q in registers(e):climb(q,e[-1]) + for e in Aord: + for q in registers(e):climb(q,e[-1]) + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + require(all(cur[v+t]==lev.get(t,()) for t in range(v)),'target centre levels') + for q,U in zip(w['centers'],w['center_frames']): + U=basis(U);require(cur[q]==U,'center frame') + served={lev.get(e[1]-v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(contained(T,U),'center path not nested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + byposition={} + for op,rec in enumerate(warps,1):byposition.setdefault(rec[0],[]).append(op) + B=w['B'];forward=[] # chronological program of the (recorded) non-target word + for e in Aord:forward.append(e) + for p in range(len(B)+1): + for op in byposition.get(p,[]): + _,lender,cols,U,E=warps[op-1] + require(cur[lender]==basis(U),'warp frame mismatch '+str((op,lender,cur[lender],basis(U)))) + cur[lender]=basis(E);forward.append(['warp',lender,op]) + if p> k & 1: + x ^= pivots[k] + if x: + k = x.bit_length() - 1 + for j in pivots: + if pivots[j] >> k & 1: + pivots[j] ^= x + pivots[k] = x + return tuple(pivots[k] for k in sorted(pivots, reverse=True)) + + +def span(b): + s = {0} + for x in b: + s |= {t ^ x for t in s} + return frozenset(s) + + +def rank_of(vs): + return len(basis(vs)) + + +def solve_G(cols, h): + """G given as images of e_i; returns (invertible?, image-of-subspace function).""" + def lin(x): + out = 0 + for i, c in enumerate(cols): + if x >> i & 1: + out ^= c + return out + return lin, rank_of(cols) == h + + +# ---- free operator algebra over the warps ------------------------------------------------------------------ +def add_row(dst, src, c): + for key, value in list(src.items()): + z = dst.get(key, Q(0)) + c * value + if z: + dst[key] = z + elif key in dst: + del dst[key] + + +def warp_row(row, op): + out = {} + for (var, word), value in row.items(): + word = word[1:] if word and word[0] == -op else (op,) + word + out[var, word] = value + return out + + +def is_dyadic(q): + return q.denominator & (q.denominator - 1) == 0 + + +def gate_regs(e): + if e[0] == 'add': + return [e[1], e[2]] + if e[0] == 'scale': + return [e[1]] + raise AssertionError(e[0]) + + +def dual(e): + e = list(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + e[3] = -e[3] + elif e[0] == 'scale': + e[2], e[3] = e[3], e[2] + return e + + +def apply_gate(e, rows, back): + if back: + e = dual(e) + if e[0] == 'scale': + q = Q(e[2], e[3]) + assert q + rows[e[1]] = {j: q * x for j, x in rows[e[1]].items()} + else: + assert e[1] != e[2] + add_row(rows[e[1]], rows[e[2]], Q(e[3], e[4])) + + +def run(word_path, out): + t0 = time.monotonic() + word = read(word_path) + assert word['kind'] == 'BORROW-WORD' + v, h, R0 = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 + n0 = 2 * v + R0 + removed = sorted(word['removed']) + assert all(2 * v <= r < n0 for r in removed) and len(set(removed)) == len(removed) + k = len(removed) + kept = [r for r in range(n0) if r not in set(removed)] + newid = {r: i for i, r in enumerate(kept)} + n = len(kept) + R = R0 - k + assert n == 2 * v + R + Zbase = n0 # builder convention: zero buffer of restored c is register n0 + c + ports = word['ports'] + assert len(set(ports)) == v + full = tuple(1 << i for i in range(h - 1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def R_(r): # register -> new register (int) or ['Z', c] + if isinstance(r, list): + return r + if r >= Zbase: + return ['Z', newid[r - Zbase]] + return newid[r] + + start = [fid([p]) for p in ports] + [0] * (v + R) + for r, frame in word['start_extra'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + start[newid[int(r)]] = fid(frame) + final = [1] * v + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + [1] * R + helper_final = {} + for r, frame in word['helper_final'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + helper_final[newid[int(r)]] = fid(frame) + final[newid[int(r)]] = helper_final[newid[int(r)]] + zero_buffers = sorted(helper_final) # every restored (hyperplane-ended) helper is replaced by a private zero buffer in the FULL cleanup + + def gate(e): + e = copy.deepcopy(e) + # Four-low lifted-target port (PR2436 mechanism): literal A-phase warp after the entry adapters. + if e[0] == 'warp': + assert len(e) == 5 + return ['warp', R_(e[1]), e[2], fid(e[3]), fid(e[4])] + if e[0] == 'add': + e[1], e[2] = R_(e[1]), R_(e[2]) + else: + e[1] = R_(e[1]) + e[-1] = None if e[-1] is None else fid(e[-1]) + return e + + # warps: operator table; op id = position + 1; G given by images of the basis vectors + warps = [] + for i, (pos, lender, G, frm, to) in enumerate(word['warps']): + warps.append({'op': i + 1, 'B_pos': pos, 'lender': newid[lender], 'G_columns': list(G), + 'from_frame': fid(frm), 'to_frame': fid(to)}) + byp = {} + for w_ in warps: + byp.setdefault(w_['B_pos'], []).append(w_) + + def warp_event(r, op, f0, f1): + return ['warp', r, op, f0, f1] + + # compensation (zero frame): initial corrections first, as twisted additions t += c * W(s) + pre = [] + for term in word['initial_corrections']: + q = Q(term['coefficient']) + pre.append(['tadd', newid[term['target']], newid[term['source']], list(term['operator_word']), + q.numerator, q.denominator, 0]) + precondition = pre + [gate(e) for e in word['precondition']] # the formal initial corrections come first (PR2226 order) + compensation = [gate(e) for e in word['compensation']] + A = [gate(e) for e in word['A']] + cut = [gate(e) for e in word['cut']] + B = [] + for p in range(len(word['B']) + 1): + for w_ in sorted(byp.get(p, []), key=lambda x: x['op']): + B.append(warp_event(w_['lender'], w_['op'], w_['from_frame'], w_['to_frame'])) + if p < len(word['B']): + B.append(gate(word['B'][p])) + assert sum(1 for e in B if e[0] == 'warp') == len(warps) + tail = [gate(e) for e in word['restore']] + cleanup = [] + for e in word['cleanup']: + if e[0] == 'warp': + cleanup.append(warp_event(R_(e[1]), e[2], 1, 1)) + assert basis(e[3]) == full + else: + cleanup.append(gate(e)) + centers = [newid[r] for r in word['centers']] + center_frames = [fid(f) for f in word['center_frames']] + levels = {str(t): fid(f) for t, f in word['target_levels'].items()} + + canonical = dict(h=h, v=v, R=R, ports=ports, frames=frames, start=start, final=final, + precondition=precondition, compensation=compensation, A=A, cut=cut, B=B, tail=tail, + cleanup=cleanup, centers=centers, center_frames=center_frames, target_levels=levels, + warps=warps, zero_buffers=zero_buffers, removed=removed, helper_origin=kept[2 * v:], + borrow=dict(k=k, base=word.get('base'), original_helpers=R0)) + # ---- exact scalar replay in the free algebra over the warps (both orientations) ----------------------------------- + nz = len(zero_buffers) + + def regkey(r): + return tuple(r) if isinstance(r, list) else ('L', r) + + def expand_tadd(e): + _, t, s, wordops, a, b, f = e + ev = [warp_event(s, op, 0, 0) for op in reversed(wordops)] + ev.append(['add', t, s, a, b, 0]) + ev += [warp_event(s, -op, 0, 0) for op in wordops] + return ev + + def program(): + yield 'pre', [x for e in precondition + compensation for x in (expand_tadd(e) if e[0] == 'tadd' else [e])] + yield 'A', A + yield 'A', cut + yield 'B', B + yield 'tail', tail + yield 'cleanup', cleanup + + def fullprog(): + return [(part, e) for part, es in program() for e in es] + prog = fullprog() + for back in (False, True): + rows = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for c in zero_buffers: + rows[('Z', c)] = {} + for part, e in prog: + if e[0] == 'warp': + key = ('L', e[1]) if not isinstance(e[1], list) else tuple(e[1]) + rows[key] = warp_row(rows[key], e[2]) + else: + if e[0] == 'add': + src, dst = regkey(e[2]), regkey(e[1]) + a, b = e[3], e[4] + if back: + src, dst, a = dst, src, -a + assert src != dst + add_row(rows[dst], rows[src], Q(a, b)) + else: + key = regkey(e[1]) + a, b = (e[3], e[2]) if back else (e[2], e[3]) + q = Q(a, b) + assert q + rows[key] = {j: q * x for j, x in rows[key].items()} + expected = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for t in range(v): + if back: + expected[('L', t)][(v + t, ())] = Q(-1) + else: + expected[('L', v + t)][(t, ())] = Q(1) + for c in zero_buffers: + expected[('Z', c)] = {} + bad = [key for key in expected if rows[key] != expected[key]] + assert not bad, ('arbitrary-input endpoint (free warp algebra)', back, bad[:8]) + # dyadic primitives + for part, e in prog: + if e[0] == 'add': + assert is_dyadic(Q(e[3], e[4])) + elif e[0] == 'scale': + q = Q(e[2], e[3]) + a = abs(q.numerator) + assert is_dyadic(q) and a and a & (a - 1) == 0 + + wrapped_regs = {r for r in range(2 * v, n) if start[r] != 0 or final[r] != 1} # entering or hyperplane-ended helpers carry wrappers + # ---- frame chains, paid profile, edges, warps ------------------------------------------------------------------- + contains = lambda a, b: basis(frames[a] + frames[b]) == tuple(frames[b]) + cur = start.copy() + paid, edges = Counter(), set() + wsum = {w_['op']: w_ for w_ in warps} + G_of = {} + for w_ in warps: + lin, inv_ = solve_G(w_['G_columns'], h) + assert inv_, ('non-invertible G', w_['op']) + img = basis([lin(x) for x in frames[w_['from_frame']]]) + assert img == tuple(frames[w_['to_frame']]), ('G does not map the from frame onto the to frame', w_['op']) + assert len(frames[w_['from_frame']]) == len(frames[w_['to_frame']]) + G_of[w_['op']] = lin + warp_edges = set() + + def regs_of(e): + return [r for r in gate_regs(e) if not isinstance(r, list)] + + def climb(r, f): + old = cur[r] + assert contains(old, f), ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + paid[degree] += 1 + edges.add((old, f)) + cur[r] = f + + def do_warp(e): + _, r, op, f0, f1 = e + if isinstance(r, list): + assert r[0] == 'Z' + assert f0 == f1 == 1 + return + assert cur[r] == f0, ('warp frame mismatch', r, op, cur[r], f0) + a = abs(op) + lin = G_of[a] + if op > 0: + ok = basis([lin(x) for x in frames[f0]]) == tuple(frames[f1]) + else: + ok = basis([lin(x) for x in frames[f1]]) == tuple(frames[f0]) + assert ok, ('warp G does not carry the frame', op, f0, f1) + cur[r] = f1 + warp_edges.add((1 if op > 0 else -1, a, f0, f1)) + + # zero-frame phase + for e in precondition + compensation: + if e[0] == 'tadd': + assert start[e[2]] == 0 and start[e[1]] == 0 and e[-1] == 0 and e[2] not in set(wrapped_regs) and all(op != 0 for op in e[3]) + for ev in expand_tadd(e): + if ev[0] == 'warp': + do_warp(ev) # frame 0 -> 0: K_G itself is the physical operator + continue + for r in regs_of(e): + assert start[r] == 0 and e[-1] == 0, ('zero-frame precondition on a nonzero entrance', e) + for part in ('A', 'B'): + if part == 'B': + assert all(cur[r] == f for r, f in zip(centers, center_frames)) + assert all(cur[v + t] == levels.get(str(t), 0) for t in range(v)) + for r, frame in zip(centers, center_frames): + served = {levels.get(str(e[1] - v), 0) for e in cut if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert contains(f, old) + if old != f: + paid[len(frames[old]) - len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in (A if part == 'A' else B): + if e[0] == 'warp': + do_warp(e) + else: + for r in regs_of(e): + climb(r, e[-1]) + for e in tail: + for r in regs_of(e): + climb(r, e[-1]) + for r, f in enumerate(final): + climb(r, f) + for e in cleanup: + if e[0] == 'warp': + do_warp(e) + continue + for r in gate_regs(e): + if isinstance(r, list): + assert r[0] == 'Z' and r[1] in set(zero_buffers) and e[-1] == 1 + else: + assert final[r] == 1 and e[-1] == 1, ('cleanup on a non-FULL end', e) + assert all(len(frames[final[r]]) < h for r in zero_buffers) + assert set(zero_buffers) == set(helper_final) + rep = word['report'] + assert dict(paid) == {int(r): c for r, c in rep['local_profile'].items()}, ('paid profile differs', dict(paid), rep['local_profile']) + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + canonical['warp_edges'] = sorted(warp_edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out / 'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + raw = word_path.read_bytes() + (out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(gzip.decompress(raw) if word_path.suffix == '.gz' else raw, mtime=0)) + receipt = dict(status='PASS_BORROW_WORD_FREE_ALGEBRA_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=hashlib.sha256(gzip.decompress(raw) if word_path.suffix == '.gz' else raw).hexdigest(), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=R, original_helpers=R0, removed_helpers=k, + zero_buffers=nz, warps=len(warps), warp_events=sum(e[0] == 'warp' for part, e in prog), + initial_corrections=len(word['initial_corrections']), + scalar_operations=len([1 for p, e in prog if e[0] != 'warp']), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r * z for r, z in paid.items()), + widths=[len(frames[final[r]]) - len(frames[start[r]]) for r in range(2 * v, n)], + frames=len(frames), directed_edges=len(edges), warp_edge_classes=len(warp_edges), + seconds=time.monotonic() - t0, + scope='Fresh exact forward and inverse-transpose replay over a free noncommutative warp algebra on every arbitrary input, native frame chains, dyadic primitives, zero buffers returned to zero. Physical Clifford exactness of every warp is checked by the local replay and the phase recipes.') + (out / 'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2) + '\n') + print(json.dumps({k_: x for k_, x in receipt.items() if k_ != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('word', type=Path) + ap.add_argument('out', type=Path) + a = ap.parse_args() + run(a.word, a.out) diff --git a/research/t74-cold-host-restoration/operator/vendor/invoice_allcold_pr2745.py b/research/t74-cold-host-restoration/operator/vendor/invoice_allcold_pr2745.py new file mode 100644 index 0000000000..68f0d5aa64 --- /dev/null +++ b/research/t74-cold-host-restoration/operator/vendor/invoice_allcold_pr2745.py @@ -0,0 +1,367 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + zero_labels=sorted(w.get('zero_buffers',[]));zero_buffers=len(zero_labels) + assert len(set(zero_labels))==zero_buffers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + zero_clears=zero_peak=warp_events=0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + warp_classes = set(); zlive = set() # BW: PR2226 warps / private zero buffers (rank zero, price zero) + for event in events: + tag = event[0] + assert not zlive or tag in ('scalar','warp','zero_buffer'), 'a child cannot observe a private cleanup buffer' + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'warp': + warp_events+=1 + # BW: rank-zero monomial logical reference change K_G^{+-1} of one register (PR2226): no paid rank, no coefficient work, + # coefficient norms are unchanged by a unit-phase permutation. Frames and exact columns are bound by the hash-checked replay. + _, register, op, f0, f1 = event + assert op and len(w['frames'][f0]) == len(w['frames'][f1]), 'a warp is rank zero' + assert tuple(register) in env, 'warp on an unallocated register' + warp_classes.add((1 if op > 0 else -1, abs(op), f0, f1)) + elif tag == 'zero_buffer': + _, kind, z = event + assert z in zero_labels + zero_clears+=1 # allocation and release each lower to an actual real/imaginary CLEAR + if kind == 'alloc': + assert ('Z', z) not in env and z in ends + env[('Z', z)] = Q(0); zlive.add(z);zero_peak=max(zero_peak,len(zlive)) + else: + assert kind == 'free' and z in zlive + del env[('Z', z)]; zlive.remove(z) + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + # BW: every emitted warp class has an exact rank-zero recipe (lowered, then independently rechecked on all 512 columns) + # and every zero buffer was freed; a word without warps carries neither. + assert not zlive and zero_clears==2*zero_buffers and zero_peak==zero_buffers + assert {op for _, op, _, _ in warp_classes} == {x['op'] for x in w.get('warps', [])} + warp_recipes = read(local_dir/'CLIFFORD-RECIPES.json').get('warps', []) + assert warp_classes == {(x['sign'], x['op'], x['old'], x['new']) for x in warp_recipes} and all(x['rank'] == 0 for x in warp_recipes) + assert {int(k) for k in read(local_dir/'RESIDUAL-ADAPTERS.json').get('warps', {})} == {op for _, op, _, _ in warp_classes} + assert bool(warp_classes) == bool(replay.get('warp_replay', {}).get('warps')) and (not warp_classes or replay['warp_replay']['status'] == 'PASS_EXACT_MONOMIAL_WARP_COLUMNS_ALL_512_BOTH_ORIENTATIONS') + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert warp_events==checks[orientation].get('warp_events',0) + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros+zero_clears, real_component_primitives=real+2*zero_clears, + warp_events=warp_events,literal_scalar_macros=macros,literal_real_component_primitives=real,private_zero_buffer_clears=zero_clears,private_zero_buffer_peak=zero_peak, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + # A rank-zero warp is still an actual unit-phase permutation circuit. + # Charge one complete monomial routing reserve for every literal event. + warp_bound=max(row['warp_events']for row in local.values()) + adapters = 16*(macro_bound+warp_bound+children+n+centres+zero_buffers+2)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n,zero_buffers=zero_buffers, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers'];zero_buffers=max(p['zero_buffers']for p in providers.values()); n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=GEO['stages'],REPLICAS,GEO['pairs'] + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + assert (parent_live,parent_physical,sum(c['replicas'] for c in parent['idle_children']))==(PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE) + assert parent_helpers==PARENT_HELPERS + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==DEFICIT + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+zero_buffers+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=PAYLOAD + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==512 + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix> bit & 1: + x ^= pivots[bit] + if x: + bit = x.bit_length()-1 + for other in pivots: + if pivots[other] >> bit & 1: + pivots[other] ^= x + pivots[bit] = x + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def derive_cleanup(w): + v, n = w['report']['v'], 2*w['report']['v']+w['report']['R'] + restored = set(map(int, w['helper_final'])) + by_position = defaultdict(list) + for op, record in enumerate(w['warps'], 1): + by_position[record[0]].append(['warp', record[1], op]) + forward = list(w['A'][w['prelude_events']:]) + for pos in range(len(w['B'])+1): + forward += by_position[pos] + if pos < len(w['B']): + forward.append(w['B'][pos]) + forward += w['restore'] + buffer = lambda r: r+n if r in restored else r + out = [] + for g in reversed(forward): + if g[0] != 'warp' and v <= g[1] < 2*v: + continue + if g[0] == 'warp': + out.append(['warp', buffer(g[1]), -g[2], FULL]) + elif g[0] == 'add': + out.append(['add', buffer(g[1]), buffer(g[2]), -g[3], g[4], FULL]) + else: + require(g[0] == 'scale', 'unknown cleanup gate') + out.append(['scale', buffer(g[1]), g[3], g[2], FULL]) + return out + + +def build(source): + w = copy.deepcopy(source) + require(str(HOST) not in w['start_extra'], 'host has a nonzero entrance') + require(str(HOST) not in w['helper_final'], 'host already restored') + require(w['warps'][OP-1][1] == HOST, 'operator/lender mismatch') + require(sum(rec[1] == HOST for rec in w['warps']) == 1, 'earlier host operator') + corrections = [c for c in w['initial_corrections'] if c['source'] == HOST] + require(len(corrections) == 2 and all(c['operator_word'] == [OP] for c in corrections), 'new correction shape') + # K^-1 changes these two K corrections into identity corrections. Push that + # target vector through the preceding scalar wrapper to avoid an empty + # operator_word (which the pinned grammar forbids). + delta = defaultdict(Fraction) + for c in corrections: + delta[c['target']] += Fraction(c['coefficient']) + for g in w['precondition']+w['compensation']: + require(g[-1] == [] and 112 <= g[1] < 224, 'wrapper is not a zero-frame target write') + if g[0] == 'add': + delta[g[1]] += Fraction(g[3], g[4])*delta[g[2]] + else: + require(g[0] == 'scale', 'unknown wrapper gate') + delta[g[1]] *= Fraction(g[2], g[3]) + reads = [['add', t, HOST, q.numerator, q.denominator, []] for t, q in sorted(delta.items()) if q] + require(reads == [['add', 213, HOST, 1, 2, []]], 'transported correction changed') + w['initial_corrections'] = [c for c in w['initial_corrections'] if c['source'] != HOST] + w['A'] = reads + [['warp', HOST, -OP, [], []]] + w['A'] + w['prelude_events'] += 2 + require(not any(g[1] in {100, 226, 54, 67} for g in w['restore']), 'terminal recovery sources were changed') + w['restore'] += copy.deepcopy(RECOVERY) + w['helper_final'][str(HOST)] = list(FULL) + w['cleanup'] = derive_cleanup(w) + # Every original literal frame and profile remains byte-for-byte unchanged. + require(w['A'][2:] == source['A'] and w['B'] == source['B'], 'changed original gate/frame') + require(w['restore'][:-4] == source['restore'], 'changed original restoration') + return w + + +def recount(w): + """Literal GF(2) frame/rank accounting independent of the scalar replay.""" + v, h, n = w['report']['v'], w['report']['h'], 2*w['report']['v']+w['report']['R'] + live = set(range(n))-set(w['removed']) + start = {r: basis([w['ports'][r]]) if r < v else () for r in live} + start.update({int(r): basis(f) for r, f in w['start_extra'].items()}) + end = {r: basis(FULL) for r in live} + for t, port in enumerate(w['ports']): + end[v+t] = basis(x for x in range(1, 1 << h) if (x & port).bit_count() % 2 == 0) + end.update({int(r): basis(f) for r, f in w['helper_final'].items()}) + current, paid = dict(start), Counter() + def climb(r, frame): + frame = basis(frame) + old = current[r] + require(basis(old+frame) == frame, 'nonmonotone literal frame') + if old != frame: + paid[len(frame)-len(old)] += 1 + current[r] = frame + def gate(g): + for r in ([g[1], g[2]] if g[0] == 'add' else [g[1]]): + climb(r, g[-1]) + for g in w['A']: + if g[0] == 'warp': + require(current[g[1]] == basis(g[3]), 'literal A warp entrance') + current[g[1]] = basis(g[4]) + else: + gate(g) + levels = {int(t): basis(f) for t, f in w['target_levels'].items()} + require(all(current[v+t] == levels.get(t, ()) for t in range(v)), 'target center levels') + for r, initial in zip(w['centers'], w['center_frames']): + frame = basis(initial) + require(current[r] == frame, 'center entrance frame') + served = {levels.get(g[1]-v, ()) for g in w['cut'] if g[2] == r} + for to in sorted(served, key=lambda x: -len(x)): + require(basis(frame+to) == frame, 'center descent not nested') + if to != frame: + paid[len(frame)-len(to)] += 1 + frame = to + by_position = defaultdict(list) + for record in w['warps']: + by_position[record[0]].append(record) + for pos in range(len(w['B'])+1): + for _, r, columns, frm, to in by_position[pos]: + require(current[r] == basis(frm), 'literal B warp entrance') + current[r] = basis(to) + if pos < len(w['B']): + gate(w['B'][pos]) + for g in w['restore']: + gate(g) + for r in sorted(live): + climb(r, end[r]) + profile = {str(k): z for k, z in sorted(paid.items())} + inventory = {str(k): z for k, z in sorted(Counter(len(end[r])-len(start[r]) for r in live if r >= 2*v).items())} + require(profile == w['report']['local_profile'] == PROFILE, 'literal profile mismatch') + require(inventory == w['report']['width_inventory'] == INVENTORY, 'literal inventory mismatch') + return dict(local_profile=profile, local_mass=sum(k*z for k,z in paid.items()), width_inventory=inventory, + independent_inputs=len(live), helpers=len(live)-2*v, zero_buffers=len(w['helper_final'])) + + +def identity_form(minimal, source): + w = copy.deepcopy(minimal) + require(w['A'].pop(0) == ['add', 213, HOST, 1, 2, []], 'prelude read missing') + w['prelude_events'] -= 1 + for c in source['initial_corrections']: + if c['source'] == HOST: + c = copy.deepcopy(c) + c['operator_word'] = [OP, -OP] + w['initial_corrections'].append(c) + return w + + +def word_bytes(w): + return json.dumps(w, sort_keys=True, separators=(',', ':')).encode() + + +def run_audit(w, name, tmp): + p, receipt = tmp/(name+'.json.gz'), tmp/(name+'.audit.json') + p.write_bytes(gzip.compress(word_bytes(w), mtime=0)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1') + env.pop('PYTHONOPTIMIZE', None) + proc = subprocess.run([sys.executable, '-I', '-B', str(HERE/'vendor/audit_local_pr2679.py'), '--word', str(p), '--output', str(receipt)], + env=env, capture_output=True, text=True, timeout=60) + diagnostic = (proc.stdout+proc.stderr).strip().splitlines()[-1] + result = dict(returncode=proc.returncode, content_sha256=sha(word_bytes(w)), diagnostic=diagnostic) + if proc.returncode == 0: + audit = json.loads(receipt.read_text()) + require(audit['compressed_sha256'] == sha(p.read_bytes()), 'audit does not bind supplied bytes') + require(audit['orientations'] == {'forward':'PASS','dual':'PASS'} and audit['checked_columns'] == 631, 'audit coverage') + result['audit'] = {k: audit[k] for k in ('status','orientations','checked_columns','zero_buffers','corrections','local_profile','local_mass','width_inventory')} + return p, result + + +def native_transport(p, name, tmp, should_pass): + out = tmp/(name+'-native') + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1') + env.pop('PYTHONOPTIMIZE', None) + proc = subprocess.run([sys.executable, '-I', '-B', str(HERE/'vendor/bw_transport_pr2745.py'), str(p), str(out)], + env=env, capture_output=True, text=True, timeout=60) + if should_pass: + require(proc.returncode == 0, 'hosted native transport failed: '+proc.stderr[-2000:]) + receipt = json.loads((out/'SCALAR-FRAME-AUDIT.json').read_text()) + return {k:receipt[k] for k in ('status','live_columns_each_orientation','helpers','zero_buffers','warp_events','scalar_operations')} + require(proc.returncode != 0 and 'assert all(len(frames[final[r]]) < h for r in zero_buffers)' in proc.stderr, + 'native did not reject the FULL buffer at its pinned admission rule: '+proc.stderr[-2000:]) + require(not out.exists(), 'native emitted an inadmissible fixture') + return dict(status='EXPECTED_FULL_BUFFER_REJECTION', rule='all(len(frames[final[r]]) < h for r in zero_buffers)', host=HOST, end_rank=9) + + + +def literal_events(w): + """Count literal events before native center-copy/clear expansion. + + This is a structural count, not an admission or a uniform precision bound. + The native positive controls independently bind its two event totals. + """ + gates = [g for key in ('precondition','compensation','A','B','cut','restore','cleanup') + for g in w[key] if g[0] != 'warp'] + for c in w['initial_corrections']: + q = Fraction(c['coefficient']) + gates.append(['add', c['target'], c['source'], q.numerator, q.denominator, []]) + primitives = 0 + for g in gates: + q = Fraction(g[3], g[4]) if g[0] == 'add' else Fraction(g[2], g[3]) + a, b = abs(q.numerator), q.denominator + require(b & (b-1) == 0, 'non-dyadic literal coefficient') + if g[0] == 'add': + primitives += 2*(3+a.bit_length()-1+a.bit_count()+b.bit_length()-1) + else: + require(a and a & (a-1) == 0, 'non-power-of-two scale') + primitives += 2*(abs(a.bit_length()-b.bit_length())+int(q < 0)) + warps = (2*sum(len(c['operator_word']) for c in w['initial_corrections']) + len(w['warps']) + + sum(g[0] == 'warp' for key in ('A','cleanup') for g in w[key])) + return dict(scalar_operations=len(gates), warp_events=warps, + scalar_real_primitives=primitives, zero_buffers=len(w['helper_final'])) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--json', action='store_true', help='print the complete deterministic receipt') + args = parser.parse_args() + require(__debug__, 'assertions must remain enabled') + pins = authenticate() + result = dict(schema=1, source_pins_sha256=PINS_SHA256, cases={}, controls={}) + with tempfile.TemporaryDirectory(prefix='cold-host-operator-') as work: + tmp = Path(work) + for tag in ('b', 'e'): + source = json.loads(gzip.decompress((HERE/f'inputs/hosted-{tag}-473-277.json.gz').read_bytes())) + w = build(source) + require(sha(word_bytes(w)) == pins['expected_minimal_fixtures'][tag]['content_sha256'], 'rebuilt fixture content changed') + source_counts, counts = recount(source), recount(w) + p, source_audit = run_audit(source, tag+'-source', tmp) + require(source_audit['returncode'] == 0, 'source audit failed') + native_source = native_transport(p, tag+'-source', tmp, True) + p, positive = run_audit(w, tag+'-minimal', tmp) + require(positive['returncode'] == 0, 'normalized fixture audit failed') + native_fixture = native_transport(p, tag+'-minimal', tmp, False) + before, after = literal_events(source), literal_events(w) + require(all(before[k] == native_source[k] for k in ('scalar_operations','warp_events','zero_buffers')), 'literal event count disagrees with native control') + change = {k: after[k]-before[k] for k in before} + require(change == dict(scalar_operations=7,warp_events=-3,scalar_real_primitives=58,zero_buffers=1), 'literal resource delta changed') + change['scalar_macros_including_buffer_clears'] = change['scalar_operations']+2*change['zero_buffers'] + change['real_primitives_including_buffer_clears'] = change['scalar_real_primitives']+4*change['zero_buffers'] + change['monomial_routing_reserve_units'] = 16*(change['scalar_macros_including_buffer_clears']+change['warp_events']+change['zero_buffers']) + change['scope'] = 'Formal literal-event delta only; no native admission or uniform precision/physical invoice.' + identity = identity_form(w, source) + _, identity_audit = run_audit(identity, tag+'-identity', tmp) + require(identity_audit['returncode'] == 0, 'equivalent nonempty identity correction failed') + result['cases'][tag] = dict(source=source_audit, rebuilt=positive, equivalent_identity=identity_audit, + source_recount=source_counts, recount=counts, native_source=native_source, + native_fixture=native_fixture, literal_events_before=before, literal_events_after=after, + formal_resource_delta=change) + for mutant in ('omit-inverse','wrong-inverse-sign','omit-prelude-read','wrong-prelude-sign','omit-undo','empty-operator-word'): + m = copy.deepcopy(w) + if mutant == 'omit-inverse': + m['A'].pop(1); m['prelude_events'] -= 1 + elif mutant == 'wrong-inverse-sign': + m['A'][1][2] = OP + elif mutant == 'omit-prelude-read': + m['A'].pop(0); m['prelude_events'] -= 1 + elif mutant == 'wrong-prelude-sign': + m['A'][0][3] = -1 + elif mutant == 'omit-undo': + m['restore'].pop(-4) + m['cleanup'] = derive_cleanup(m) + else: + m = copy.deepcopy(identity) + for c in m['initial_corrections']: + if c['source'] == HOST: + c['operator_word'] = [] + _, control = run_audit(m, tag+'-'+mutant, tmp) + reason = 'correction operator word' if mutant == 'empty-operator-word' else ('restored cold row' if mutant == 'omit-undo' else 'target map failed') + require(control['returncode'] != 0 and reason in control['diagnostic'], 'control did not fail for the intended reason: '+mutant) + result['controls'][tag+'-'+mutant] = control + result['status'] = 'PASS_FINITE_CANCELLATION_AND_EXPECTED_NATIVE_EXCLUSION' + result['native_admitted'] = False + result['kappa_improvement'] = False + result['scope'] = 'Both hosted words, both equivalent correction forms, every arbitrary input and both orientations pass exact scalar/frame checks; twelve controls reject. FULL-ended restored helper is forbidden by the pinned native buffer contract. No complete supplier, phase replay, physical invoice, or exponent claim.' + if args.json: + print(json.dumps(result, indent=2, sort_keys=True)) + else: + print(result['status']) + print('2 hosted inputs; 2 minimal fixtures; 2 equivalent identity forms; 12 rejected controls; 2 expected native FULL-buffer rejections.') + print('631 arbitrary input columns, forward and inverse-transpose; paid profile and inventory unchanged. No kappa improvement.') + + +if __name__ == '__main__': + main() diff --git a/research/t74-cold-host-restoration/pricing/CERTIFICATES.json b/research/t74-cold-host-restoration/pricing/CERTIFICATES.json new file mode 100644 index 0000000000..d66ce92640 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/CERTIFICATES.json @@ -0,0 +1,1860 @@ +{ + "schema": 1, + "model": { + "m": 73, + "live": 66304, + "calls": 666, + "bin_counts": { + "8": 49728, + "16": 33152, + "32": 33152, + "48": 33152 + }, + "width_alphabet": [ + 4, + 5, + 7, + 8, + 9 + ], + "baseline_local": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "baseline_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 78, + "9": 240 + }, + "baseline_idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "32": 1, + "48": 26558 + }, + "baseline_profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512, + "incumbent_kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "baseline_buffers": 72 + }, + "scope": "Declared bin-count relaxation: each literal hosting induces integer patterns; dropping windows, family and chronological constraints and then integrality enlarges the feasible set. All positive root brackets describe pattern invoices, not admitted physical constructions.", + "cases": [ + { + "case": "baseline", + "inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 78, + "9": 240 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": 0, + "inventory_mass_change": 0, + "roles": 271728, + "helpers": 408, + "private_buffers": 72, + "physical": 66794, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "28391857347671966339531184262156977712177063657781364414836108776795396610114432918951701364743100564045971787696685769/1520969321286527136479518410357047364418739962905037499046140428334160241108208965875687500000000000000000000000000", + "local_lower": "1488657826596629698097244295286511/31250000000000000000000000000", + "moment_lower": "100846349640361645605321789606047829912107948592084007803360417876866371552244773877152316339550304503463230910890977011/1520969321286527136479518410357047364418739962905037499046140428334160241108208965875687500000000000000000000000000", + "moment_lower_minus_W": "-238220249651816199074265838538312185908371598533394877083401789074193913396269267660449695496536769089109022989/1520969321286527136479518410357047364418739962905037499046140428334160241108208965875687500000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "25753540502899048548569279841979695773878010652258905630638031251264206853650731638967534648274245306930705188/1511231151214797476861997155737303039382381155380503384667911710651066063091198156606965962122381661514722484416411", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "343559197/200000000000", + "dual": [ + "571277124014712303982384169571691745975901/5207381785707475000000000000000000000000000", + "571277124014712303982384169571691745975901/2603690892853737500000000000000000000000000", + "571277124014712303982384169571691745975901/1301845446426868750000000000000000000000000", + "658007973603128856839176319441/1000000000000000000000000000000", + "-2400180857771944478743201935215225774127249/43632229734927550000000000000000000000000000", + "-281687708660647780458975635707701075036917/4093743542179320000000000000000000000000000", + "-4648188379473793563579651913019865119613307/48381700760459800000000000000000000000000000", + "-571277124014712303982384169571691745975901/5207381785707475000000000000000000000000000", + "-11673338817820051948506979198726057674603917/94645704675277400000000000000000000000000000" + ], + "idle_lower": "552128744387930546738016208468560776427239005871440736737270460604429265030681841099924746505019323515431/29577877587711510418029822181320736064649488526513522530972101534218539875000000000000000000000000000", + "local_lower": "2381852531482032767903250493594041/50000000000000000000000000000", + "moment_lower": "3922263193102114765049044300584142452850085224889622350499459873790473218932694062259698885182943607866257/59155755175423020836059644362641472129298977053027045061944203068437079750000000000000000000000000000", + "moment_lower_minus_W": "1950866791534945640763562284789045850365717154712311433540821083188694062259698885182943607866257/59155755175423020836059644362641472129298977053027045061944203068437079750000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-105452259001888953554787150529137613533282008362827645056260599091280760122145885685564519344122/29388502163545833239503294641614133296022302983004397322693905624058277913239775890558548364146734645", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 9878 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 17316 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3515 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 1110 + ], + [ + 48, + [], + 26558 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6594 + ] + ], + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512, + "root_bracket": [ + "1717794984118634663827/1000000000000000000000000", + "429448746029658665957/250000000000000000000000" + ] + } + }, + { + "case": "width7-k1", + "inventory": { + "4": 25, + "5": 2, + "7": 63, + "8": 77, + "9": 240 + }, + "local_profile": { + "1": 2382, + "2": 647, + "3": 267, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -5, + "inventory_mass_change": -5, + "roles": 271062, + "helpers": 407, + "private_buffers": 72, + "physical": 66793, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "5991871295658136285404592603340609160514922557061059255250379139137886301365044431779658732208686466503374253179146269/320204067639268870837793349548852076719734729032639473483397984912454787601728203342250000000000000000000000000000", + "local_lower": "23795585215241831514748631736773901/500000000000000000000000000000", + "moment_lower": "42461515302425399494902856470347694064433246552756261585934274133127489074716760721294597723817504579864887218121375007/640408135278537741675586699097704153439469458065278946966795969824909575203456406684500000000000000000000000000000", + "moment_lower_minus_W": "-105699082766929155244026626482125217336394803993713752165850143315399573212867514490276182495420135112781878624993/640408135278537741675586699097704153439469458065278946966795969824909575203456406684500000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "952243988891253650847086725064191147174727963907331100593244534372969128043851481894380022481262478493530438063/53025654428589385153052531780256246995873022995807136304137253005300563617235023038840910951662514439113069628646", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "171866731/100000000000", + "dual": [ + "7204613978617600262829041914430400189277549/65672427356241625000000000000000000000000000", + "7204613978617600262829041914430400189277549/32836213678120812500000000000000000000000000", + "7204613978617600262829041914430400189277549/16418106839060406250000000000000000000000000", + "24841765229267786787661039651921280120671649/37752971317789100000000000000000000000000000", + "-1491546272998543452040111941651143780084807/27114356945129750000000000000000000000000000", + "-6532952605813851925636735110406016986672247/94942623492599800000000000000000000000000000", + "-44406233315802194574272010534216952508994373/462211691725363000000000000000000000000000000", + "-7204613978617600262829041914430400189277549/65672427356241625000000000000000000000000000", + "-46563477628312965162623474524717959470921307/377529713177891000000000000000000000000000000" + ], + "idle_lower": "44163299664198549369752519920922953824632120193821217628477886743634187550446601011656250875111589116849473/2360074203296513550985601576621962346892460229464714837478183473010898354500000000000000000000000000000", + "local_lower": "11897831477958048658677824271645363/250000000000000000000000000000", + "moment_lower": "156482360249390637434240097415293556907719105181172146060474779507153707761718780759897957010658766973870207/2360074203296513550985601576621962346892460229464714837478183473010898354500000000000000000000000000000", + "moment_lower_minus_W": "274018602949690770478950965459361422126743693476321302512639103264950780759897957010658766973870207/2360074203296513550985601576621962346892460229464714837478183473010898354500000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-7405908187829480283214890958361119516939018742603278446287543331485156236753998838125912620915411/586243087551657421639342836770789031881150985538495666632658345688198152534706198568427503973624342893", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 10381 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 16648 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 4015 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 776 + ], + [ + 48, + [], + 26591 + ], + [ + 48, + [ + 9 + ], + 1 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6558 + ], + [ + 48, + [ + 4, + 8, + 9, + 9, + 9, + 9 + ], + 2 + ] + ], + "idle": { + "1": 16648, + "3": 6558, + "5": 10381, + "39": 1, + "48": 26591 + }, + "profile": { + "1": 1603060, + "2": 430902, + "3": 184380, + "4": 85248, + "5": 27697, + "8": 5328, + "48": 26591, + "39": 1 + }, + "rank_mass": 4816512, + "root_bracket": [ + "1718665309439634141257/1000000000000000000000000", + "859332654719817070629/500000000000000000000000" + ] + } + }, + { + "case": "width7-k2", + "inventory": { + "4": 24, + "5": 2, + "7": 64, + "8": 76, + "9": 240 + }, + "local_profile": { + "1": 2382, + "2": 646, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -10, + "inventory_mass_change": -10, + "roles": 270396, + "helpers": 406, + "private_buffers": 72, + "physical": 66792, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "57061839922160656743624890939157618625429401268597397020084986090029046505706978365910113182478841735472167235010407573/3041938642573054272959036820714094728837479925810074998092280856668320482216417931751375000000000000000000000000000", + "local_lower": "11886322602468793929970677374481813/250000000000000000000000000000", + "moment_lower": "403383392184636007981867114512414867575799890134032938919309537021956806210639358195988091394331369003579933500742217089/6083877285146108545918073641428189457674959851620149996184561713336640964432835863502750000000000000000000000000000", + "moment_lower_minus_W": "-2007329691573046684840208839806225880647867789486427711642819115836295115390897698244605668630996420066499257782911/6083877285146108545918073641428189457674959851620149996184561713336640964432835863502750000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "54252153826298559049735374048816915693185615932065613828184300428007976091645883736340693746783687028824304264403/1511231151214797476861997155737303039382381155380503384667911710651066063091198156606965962122381661514722484416411", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "42988463/25000000000", + "dual": [ + "4781470714528344478685612364563224106937081/43584655641931375000000000000000000000000000", + "4781470714528344478685612364563224106937081/21792327820965687500000000000000000000000000", + "4781470714528344478685612364563224106937081/10896163910482843750000000000000000000000000", + "658008454325827343636525793409/1000000000000000000000000000000", + "-11954164438172947239195496662554835623405031/217310615406225250000000000000000000000000000", + "-11962452394601197239195496662554835623405031/173848492324980200000000000000000000000000000", + "-30840882370140071869881866798973897761872067/321013550697951000000000000000000000000000000", + "-4781470714528344478685612364563224106937081/43584655641931375000000000000000000000000000", + "-49730819144620015174890817264070164922494111/403209962509509000000000000000000000000000000" + ], + "idle_lower": "174713541720258561398728101436308947423519118198746392423877036524378287477428729285956157/9313883383659535969574311306050360909406873781082750088250000000000000000000000000000", + "local_lower": "11886400226472904403488228337216091/250000000000000000000000000000", + "moment_lower": "15438693099093756987119368300148584238403442719497421625867012388145820933130803561105907/232847084591488399239357782651259022735171844527068752206250000000000000000000000000", + "moment_lower_minus_W": "2339710163952989879239505994970608739974655079583812388145820933130803561105907/232847084591488399239357782651259022735171844527068752206250000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-62454725764510907687407567433316215948606074863765429113001559776598026322480/57125428817224741614666337104412148217574257160363510316493040808431932637120625027", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [ + 9, + 9 + ], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 10877 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 15984 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 4514 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 444 + ], + [ + 48, + [], + 26625 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6527 + ] + ], + "idle": { + "1": 15984, + "3": 6527, + "5": 10877, + "14": 1, + "48": 26625 + }, + "profile": { + "1": 1602396, + "2": 430236, + "3": 183683, + "4": 85248, + "5": 28193, + "8": 5328, + "14": 1, + "48": 26625 + }, + "rank_mass": 4816512, + "root_bracket": [ + "343907503924579247167/200000000000000000000000", + "429884379905724058959/250000000000000000000000" + ] + } + }, + { + "case": "width7-k4", + "inventory": { + "4": 22, + "5": 2, + "7": 66, + "8": 74, + "9": 240 + }, + "local_profile": { + "1": 2382, + "2": 644, + "3": 264, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -20, + "inventory_mass_change": -20, + "roles": 269064, + "helpers": 404, + "private_buffers": 72, + "physical": 66790, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "1702363458820348107952992297600990471255627/15493886404340187500000000000000000000000000", + "1153939870202555807551837019927897616522213/5259273663347406250000000000000000000000000", + "1153939870202555807551837019927897616522213/2629636831673703125000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-2817016726148781709442591755612388361135149/25638788783871312500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "5003640975807871047779217823440570027547313669003301613816470108200579116740510569375533202200155213999205108042813983519415254933051/265446771236231691995936222358818999740455874529819936692302801390176110091324104500488908388531447046875000000000000000000000000", + "local_lower": "5931691296082275137581700193335769/125000000000000000000000000000", + "moment_lower": "140800219167429263222280258908043365116102899824605575745135775708807707617435695255726133758789333468641358328827798784079820150847267/2123574169889853535967489778870551997923646996238559493538422411121408880730592836003911267108251576375000000000000000000000000000", + "moment_lower_minus_W": "-1242592947585626508183390189714554226590613995872914435783838186186810525532142677198895556179051326641671172201215920179849152733/2123574169889853535967489778870551997923646996238559493538422411121408880730592836003911267108251576375000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "67167186355979811253156226471056985221114270047184564096423685739827595974710414983724084117786558196847090389254914604316170418/1054988878650789495828404816409132322921150372058601826788855424580832771489284712846952807923236173018677682818271034492501215011", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "430222399/250000000000", + "dual": [ + "177878809220420338136533412101748083722983/1618938174339964843750000000000000000000000", + "14676053108621282196512823230781074963038838140524981811/66888435134346273750755508255859375000000000000000000000", + "25144180928969065246657719867462117363999/57299292344670898437500000000000000000000", + "164502206763705942000133603819/250000000000000000000000000000", + "-125447608350390988922124809142634396188531/2280461611275523437500000000000000000000000", + "-152452025865495487643458800583352523093799/2215553965997143750000000000000000000000000", + "-515095994585557804514189958797448251285003/5361472613420406250000000000000000000000000", + "-177878809220420338136533412101748083722983/1618938174339964843750000000000000000000000", + "-769363260879609813237924936176970170828983/6237879026642468750000000000000000000000000" + ], + "idle_lower": "1406917024433622101090373393099380102706722683532865214024241481795888428477890920964829144974293828502269791587363/74637826619485409268254387034578442293928557643402517976984194627793090383433033836328125000000000000000000000", + "local_lower": "11863520129702857097393640189023571/250000000000000000000000000000", + "moment_lower": "3167223333493612615479996713275053883871107048287703444589146768806397627886512893645094909155856163952957622088735911/47768209036470661931682807702130203068114276891777611505269884561787577845397141655250000000000000000000000000000", + "moment_lower_minus_W": "1539461846761699831393012899642858033255280691343732342821634066425300813335398909155856163952957622088735911/47768209036470661931682807702130203068114276891777611505269884561787577845397141655250000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-13869025646501800282819936032818540840137663885979570656050757355182890210228819001404109585161780379177801/3955249842025694971083422222236825035821557186149163780304875545111895539525756002518578550062099548471642488944", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 7 + ], + 444 + ], + [ + 8, + [ + 8 + ], + 49284 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 11987 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 14652 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 5180 + ], + [ + 48, + [], + 26669 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6483 + ] + ], + "idle": { + "1": 15096, + "3": 6483, + "5": 11987, + "32": 1, + "48": 26669 + }, + "profile": { + "1": 1601508, + "2": 428904, + "3": 182307, + "4": 85248, + "5": 29303, + "8": 5328, + "32": 1, + "48": 26669 + }, + "rank_mass": 4816512, + "root_bracket": [ + "3361110538669500587/1953125000000000000000", + "344177719159756860109/200000000000000000000000" + ] + } + }, + { + "case": "width8-k1", + "inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 78, + "9": 240 + }, + "local_profile": { + "1": 2383, + "2": 647, + "3": 267, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -4, + "inventory_mass_change": -4, + "roles": 271062, + "helpers": 407, + "private_buffers": 72, + "physical": 66793, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "1777973745691949195098966067896760942661550360096466812534650988746495919975478869704037905021351792845126032476255811/95060582580407946029969900647315460276171247681564843690383776770885015069263060367230468750000000000000000000000", + "local_lower": "952007224127226404845203042943023/20000000000000000000000000000", + "moment_lower": "806770152064832803543735198489973000210257369631894627688137553268322269613276809282676092252532587017432857144306125133/12167754570292217091836147282856378915349919703240299992369123426673281928865671727005500000000000000000000000000000", + "moment_lower_minus_W": "-646963822358513368710952536347393103706371750223005904806413823015398232688904696579747467412982567142855693874867/12167754570292217091836147282856378915349919703240299992369123426673281928865671727005500000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "17485508712392253208404122603983597397469506762783943373146319540956708991592018826479661281431961274131234969591/3022462302429594953723994311474606078764762310761006769335823421302132126182396313213931924244763323029444968832822", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "1718075881/1000000000000", + "dual": [ + "3826333679404515696058997647278206927737333/34878303415463312500000000000000000000000000", + "3826333679404515696058997647278206927737333/17439151707731656250000000000000000000000000", + "3826333679404515696058997647278206927737333/8719575853865828125000000000000000000000000", + "9298907546338555249753823259916015173425913/14131905429966593750000000000000000000000000", + "-6449168520367155983652189798489672384564563/117237591579930375000000000000000000000000000", + "-4345978174018255108358384741247042363782673/63159684241115300000000000000000000000000000", + "-677462311645978699404659908607736442718419/7051514693418500000000000000000000000000000", + "-3826333679404515696058997647278206927737333/34878303415463312500000000000000000000000000", + "-43136318253210553905553993701324916154124851/349742865780589500000000000000000000000000000" + ], + "idle_lower": "3370417055680510165599142696506513212757682696103660593494454420024498222582373071177446956345104005948741144951897/180201623384178962943935763774678043128110036103530343238311901924575183034195821429321289062500000000000000000", + "local_lower": "23800205641895959110502239503659791/500000000000000000000000000000", + "moment_lower": "48939370261603959054415542891250669305121557971363855906521779489310659162810160395600054879426442531127418682684957971/738105849381597032218360888421081264652738707880060285904125550283059949708066084574500000000000000000000000000000", + "moment_lower_minus_W": "24206549430209342545379297133586370684084338709934639003342652257366546723972406879426442531127418682684957971/738105849381597032218360888421081264652738707880060285904125550283059949708066084574500000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-24206549430209342545379297133586370684084338709934639003342652257366546723972406879426442531127418682684957971/6783773611294879368382393582177397114185253146077042027839299776783034484326363353911070670502708011897482289903794", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 10544 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 16650 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3515 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 1110 + ], + [ + 48, + [], + 26558 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6594 + ] + ], + "idle": { + "1": 16650, + "3": 6594, + "5": 10544, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 430902, + "3": 184416, + "4": 85248, + "5": 27860, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512, + "root_bracket": [ + "429518720196771283521/250000000000000000000000", + "343614976157417026817/200000000000000000000000" + ] + } + }, + { + "case": "width8-k2", + "inventory": { + "4": 24, + "5": 2, + "7": 62, + "8": 78, + "9": 240 + }, + "local_profile": { + "1": 2384, + "2": 646, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -8, + "inventory_mass_change": -8, + "roles": 270396, + "helpers": 406, + "private_buffers": 72, + "physical": 66792, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "28503302514470407903635729910539372452992547865305573586272722863092472829100890911577511595940156806998061251543500183/1520969321286527136479518410357047364418739962905037499046140428334160241108208965875687500000000000000000000000000", + "local_lower": "11890917990407622536352121711283487/250000000000000000000000000000", + "moment_lower": "403384753503386221122448040065781680561825575263558596474695881760856783404297713774066826894331369003579933500742217089/6083877285146108545918073641428189457674959851620149996184561713336640964432835863502750000000000000000000000000000", + "moment_lower_minus_W": "-646010941359906103914655472993239854962738263828872325298080215859101457035319619509105668630996420066499257782911/6083877285146108545918073641428189457674959851620149996184561713336640964432835863502750000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "17459755171889354159855553324141617701695628752131684467515681509705444784738368094840693746783687028824304264403/1511231151214797476861997155737303039382381155380503384667911710651066063091198156606965962122381661514722484416411", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "1718355869/1000000000000", + "dual": [ + "2804779167707991130702545476244792368101197/25566490043538812500000000000000000000000000", + "2804779167707991130702545476244792368101197/12783245021769406250000000000000000000000000", + "2804779167707991130702545476244792368101197/6391622510884703125000000000000000000000000", + "658008128061363895252843605791/1000000000000000000000000000000", + "-6494321824293247432991222864376061540606387/118058345313786375000000000000000000000000000", + "-59919916057399827772188113359776185202053/870809743062900000000000000000000000000000", + "-46474968122929791137208137391857139141754439/483744723675280500000000000000000000000000000", + "-2804779167707991130702545476244792368101197/25566490043538812500000000000000000000000000", + "-1623658848080982949286569150814156349564641/13164384084028500000000000000000000000000000" + ], + "idle_lower": "2096815500811438951550002431839870231899763031710848398009675583568882172202195163462619266176218313/111888472481651738183415040976752857408448318383634512482094941178312500000000000000000000000000", + "local_lower": "475637718903173954115145740950517/10000000000000000000000000000", + "moment_lower": "29674613132339109298780037499706793304814011417483183131932576273498769045863222384171157851799298277/447553889926606952733660163907011429633793273534538049928379764713250000000000000000000000000000", + "moment_lower_minus_W": "14645361904727433992016307474374982209049172269481284353951441045863222384171157851799298277/447553889926606952733660163907011429633793273534538049928379764713250000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-395820592019660378162602904712837357001328980256250928485174082320627632004625887886467521/111172362003513615307239658929139611682416060938716054350357470357636928542190461219406079422189", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 11210 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 15984 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3515 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 1110 + ], + [ + 48, + [], + 26558 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6594 + ] + ], + "idle": { + "1": 15984, + "3": 6594, + "5": 11210, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 430236, + "3": 183750, + "4": 85248, + "5": 28526, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512, + "root_bracket": [ + "53698589652238981731/31250000000000000000000", + "1718354868871647415393/1000000000000000000000000" + ] + } + }, + { + "case": "width8-k4", + "inventory": { + "4": 22, + "5": 2, + "7": 62, + "8": 78, + "9": 240 + }, + "local_profile": { + "1": 2386, + "2": 644, + "3": 264, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -16, + "inventory_mass_change": -16, + "roles": 269064, + "helpers": 404, + "private_buffers": 72, + "physical": 66790, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "28614747681268849467740275558921767193808032072829782757709336949389549048087348904203321827137213049950150715390314597/1520969321286527136479518410357047364418739962905037499046140428334160241108208965875687500000000000000000000000000", + "local_lower": "5936286684021103743963144530137443/125000000000000000000000000000", + "moment_lower": "201692054222662929911804460853686020737609678079390580867975046007124040299808166019762194215230759996653471678960263067/3041938642573054272959036820714094728837479925810074998092280856668320482216417931751375000000000000000000000000000", + "moment_lower_minus_W": "-645534500860602471516506941316163230590921520631805535543913412280953069208527080973784769240003346528321039736933/3041938642573054272959036820714094728837479925810074998092280856668320482216417931751375000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "34893756803275809271162537368441255707617379493611110029400724988159625362623085458042419958919099812341677823618/1511231151214797476861997155737303039382381155380503384667911710651066063091198156606965962122381661514722484416411", + "certifies_no_improvement_at_endpoint": false + }, + "cap": { + "endpoint": "42972903/25000000000", + "dual": [ + "793399753970945634816253015766594316592179/7232098743868975000000000000000000000000000", + "109501112709207866671586261378930662374687/499069262192837500000000000000000000000000", + "691625892412894829774545447651106414620033/1576099161460581250000000000000000000000000", + "658008282620881506298742482329/1000000000000000000000000000000", + "-57123024516967451360807961046391554683113/1038421151918650000000000000000000000000000", + "-2658553769753345251301606297860380878175191/38636420077200440000000000000000000000000000", + "-4181431848287431765666313684821375659122193/43523307661115800000000000000000000000000000", + "-28975751921382652308525256131159099112957/264123473727425000000000000000000000000000", + "-2978447647775873419157944197829373040156907/24148806707156600000000000000000000000000000" + ], + "idle_lower": "11328705957355190514527175480553078257165799212915288523652595320393078364885932792585937205982441262428342668080951918405392230747884391038299/602158115108399205492289569754289205044942014886553484249822920217486466531339656620835482592011119393998398625000000000000000000000000000", + "local_lower": "2374524648009329234063587316226351/50000000000000000000000000000", + "moment_lower": "79850983367659692199622085655985673383860649208802484372698274342915624667045710462350996341764912613594270924257655864850869134008279663163293/1204316230216798410984579139508578410089884029773106968499645840434972933062679313241670965184022238787996797250000000000000000000000000000", + "moment_lower_minus_W": "39365090357700550390008890481260978498726399933297756538715179313257821277175244666203502092994931279393655864850869134008279663163293/1204316230216798410984579139508578410089884029773106968499645840434972933062679313241670965184022238787996797250000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-78730180715401100780017780962521956997452799866595513077430358626515642554350489332407004185989862558787311729701738268016559326326586/22137307599851104666340680332572785365944096207151059517689159992036563506729716901845443852247221450552764859955451219452103673696300884985", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 12542 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 14652 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3515 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 1110 + ], + [ + 48, + [], + 26558 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6594 + ] + ], + "idle": { + "1": 14652, + "3": 6594, + "5": 12542, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 428904, + "3": 182418, + "4": 85248, + "5": 29858, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512, + "root_bracket": [ + "171891511946867820527/100000000000000000000000", + "1718915119468678205271/1000000000000000000000000" + ] + } + }, + { + "case": "width9-k1", + "inventory": { + "4": 25, + "5": 2, + "7": 62, + "8": 77, + "9": 241 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 267, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -3, + "inventory_mass_change": -3, + "roles": 271062, + "helpers": 407, + "private_buffers": 71, + "physical": 66792, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "5986057096371837239195197461785856912797628117880096659428544611111847066493844151154217861093051927400632702450366563/320204067639268870837793349548852076719734729032639473483397984912454787601728203342250000000000000000000000000000", + "local_lower": "11902382527157622732685137515059599/250000000000000000000000000000", + "moment_lower": "10615411147774781394543537898943754136946513330412237123655853885195016870291805827639563591402736443413514868624672797/160102033819634435418896674774426038359867364516319736741698992456227393800864101671125000000000000000000000000000", + "moment_lower_minus_W": "5897397739788529012774700210089533867593522173298734243889377315751719312430437291591402736443413514868624672797/160102033819634435418896674774426038359867364516319736741698992456227393800864101671125000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-318778256204785352041875687031866695545595793151282932102128503554146989861104718464400147915860189992898630962/79538481642884077729578797670384370493809534493710704456205879507950845425852534558261366427493771658669604442969", + "certifies_no_improvement_at_endpoint": true + }, + "cap": { + "endpoint": "429400257/250000000000", + "dual": [ + "9538295445096354538728318970344900822407001/86944759131382625000000000000000000000000000", + "9538295445096354538728318970344900822407001/43472379565691312500000000000000000000000000", + "9538295445096354538728318970344900822407001/21736189782845656250000000000000000000000000", + "658007919819292627464834909451/1000000000000000000000000000000", + "-2956272007666542268189723669878054608179409/53741282139987250000000000000000000000000000", + "-10198443473949896640433589194608057330912193/148213190175154600000000000000000000000000000", + "-75298464218304092881422988501418774427125139/783760952538497000000000000000000000000000000", + "-9538295445096354538728318970344900822407001/86944759131382625000000000000000000000000000", + "-71999811289968999446557120126993507974548579/583763847906591000000000000000000000000000000" + ], + "idle_lower": "129367782680860065234432748297437007087840672887239209456317229874564377660836543466935519252071350371987/6920096878883192645226064497122465721947307635628079163330084810430606500000000000000000000000000000", + "local_lower": "23804747762800468417496300435002407/500000000000000000000000000000", + "moment_lower": "229415052036387216795637110006540852830720711684303552279622116725905644960731171333422408183438209155839/3460048439441596322613032248561232860973653817814039581665042405215303250000000000000000000000000000", + "moment_lower_minus_W": "307651614221102619797936869216723568947961471856903145090510178272731171333422408183438209155839/3460048439441596322613032248561232860973653817814039581665042405215303250000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-615303228442205239595873738433447137895922943713806290181020356545462342666844816366876418311678/63601006539200270348252477360406519664367906986681810848522907965783288232157730891312208184287292589", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [ + 9, + 9 + ], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 10713 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 16648 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3682 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 776 + ], + [ + 48, + [], + 26525 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6625 + ], + [ + 48, + [ + 4, + 8, + 9, + 9, + 9, + 9 + ], + 2 + ] + ], + "idle": { + "1": 16648, + "3": 6625, + "5": 10713, + "14": 1, + "48": 26525 + }, + "profile": { + "1": 1603060, + "2": 431568, + "3": 184447, + "4": 85248, + "5": 28029, + "8": 5328, + "14": 1, + "48": 26525 + }, + "rank_mass": 4816512, + "root_bracket": [ + "214699878407286182703/125000000000000000000000", + "13740792218066315693/8000000000000000000000" + ] + } + }, + { + "case": "width9-k2", + "inventory": { + "4": 24, + "5": 2, + "7": 62, + "8": 76, + "9": 242 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -6, + "inventory_mass_change": -6, + "roles": 270396, + "helpers": 406, + "private_buffers": 70, + "physical": 66790, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "982816657103448662156077040883144133809601/8958702085050562500000000000000000000000000", + "3518197450955375736981024207052355298173873/16034772412376781250000000000000000000000000", + "3518197450955375736981024207052355298173873/8017386206188390625000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-3518197450955375736981024207052355298173873/32069544824753562500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "56951370135720974865646383249617325918800806924159107699470130057534301043154173034026736631281785492520077771163593159/3041938642573054272959036820714094728837479925810074998092280856668320482216417931751375000000000000000000000000000", + "local_lower": "1189550244154220788059232066782711/25000000000000000000000000000", + "moment_lower": "25211615541839800222751357618470874672468951171437124386525201485459737245824884211999847974275421980348387898244451533/380242330321631784119879602589261841104684990726259374761535107083540060277052241468921875000000000000000000000000", + "moment_lower_minus_W": "28072194326408466860448392457559863917546323222802336377745392697089215212393644451974275421980348387898244451533/380242330321631784119879602589261841104684990726259374761535107083540060277052241468921875000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-12139327276284742426139845387052914126506518150401010325511521166308849821575630033286173155450961465037078681744/1511231151214797476861997155737303039382381155380503384667911710651066063091198156606965962122381661514722484416411", + "certifies_no_improvement_at_endpoint": true + }, + "cap": { + "endpoint": "1717406351/1000000000000", + "dual": [ + "8857247817308571711321127913545971556721333/80736791496482375000000000000000000000000000", + "8857247817308571711321127913545971556721333/40368395748241187500000000000000000000000000", + "8857247817308571711321127913545971556721333/20184197874120593750000000000000000000000000", + "16274682849301470501629301702380964903963857/24733264885489812500000000000000000000000000", + "-1802589732062579698981014862488478696336787/32768813583225250000000000000000000000000000", + "-11261109071983610378427489634366095472773707/163656912534012200000000000000000000000000000", + "-10773694844659945084219353776159076838626897/112140443315633000000000000000000000000000000", + "-8857247817308571711321127913545971556721333/80736791496482375000000000000000000000000000", + "-30737269729391821373908607944224046071435287/249213259666489000000000000000000000000000000" + ], + "idle_lower": "125058033066220802562400725653488782298294598570553979363498610447216606954837715743923499015543412978793478355421703/6679715542963558686831342199900769779517616769384335813172960139379554892938054889730000000000000000000000000000", + "local_lower": "594774256321722150013187560111641/12500000000000000000000000000", + "moment_lower": "2214459303133823652424480099090417651613786666262124621341165948840692021298622640343414420144251297871609449674847287/33398577714817793434156710999503848897588083846921679065864800696897774464690274448650000000000000000000000000000", + "moment_lower_minus_W": "6330544676566153532979314454308106354875829612558066203433581983191798683300124820144251297871609449674847287/33398577714817793434156710999503848897588083846921679065864800696897774464690274448650000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-63305446765661535329793144543081063548758296125580662034335819831917986833001248201442512978716094496748472870/3069583305821682882929341360796926495885042586648476316085335765995062985078542304120137658915692999482767764766383", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 8 + ], + 49728 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 11544 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 15984 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3848 + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + 444 + ], + [ + 48, + [], + 26492 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6660 + ] + ], + "idle": { + "1": 15984, + "3": 6660, + "5": 11544, + "48": 26492 + }, + "profile": { + "1": 1602396, + "2": 431568, + "3": 183816, + "4": 85248, + "5": 28860, + "8": 5328, + "48": 26492 + }, + "rank_mass": 4816512, + "root_bracket": [ + "1717405350645851513933/1000000000000000000000000", + "858702675322925756967/500000000000000000000000" + ] + } + }, + { + "case": "width9-k4", + "inventory": { + "4": 22, + "5": 2, + "7": 62, + "8": 74, + "9": 244 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 264, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass_change": -12, + "inventory_mass_change": -12, + "roles": 269064, + "helpers": 404, + "private_buffers": 68, + "physical": 66786, + "duals": { + "incumbent": { + "endpoint": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "dual": [ + "1702363458820348107952992297600990471255627/15493886404340187500000000000000000000000000", + "1153939870202555807551837019927897616522213/5259273663347406250000000000000000000000000", + "1153939870202555807551837019927897616522213/2629636831673703125000000000000000000000000", + "65800797332701031979259345767/100000000000000000000000000000", + "-6649504318178259998087718648800421874897259/120879516123116375000000000000000000000000000", + "-5779144647042348864055234229279066693031531/83987818475017900000000000000000000000000000", + "-14801946674315368957273657548154774880218379/154069348528786500000000000000000000000000000", + "-2817016726148781709442591755612388361135149/25638788783871312500000000000000000000000000", + "-2201330691947096336445533745138298895670397/17848063682798500000000000000000000000000000" + ], + "idle_lower": "1993744506140036629676174938051037567433834206609272138174266646548419759727762713996240145464555998785036828364270387752521592982139/106178708494492676798374488943527599896182349811927974676921120556070444036529641800195563355412578818750000000000000000000000000", + "local_lower": "2970435567577844544101671743340533/62500000000000000000000000000", + "moment_lower": "70400967018443703606558820016907184342042786174606976355179722396354053670821618919217055915019158607437636635481483645322960775283053/1061787084944926767983744889435275998961823498119279746769211205560704440365296418001955633554125788187500000000000000000000000000", + "moment_lower_minus_W": "236138255279182164598867790644506878040955306252025393942622857106456841005220015389587846402347453636635481483645322960775283053/1061787084944926767983744889435275998961823498119279746769211205560704440365296418001955633554125788187500000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-8509486676727285210770010473675923533007398423496410592526949805638084360548469023048210681165674004923801134545777403991902092/351662959550263165276134938803044107640383457352867275596285141526944257163094904282317602641078724339559227606090344830833738337", + "certifies_no_improvement_at_endpoint": true + }, + "cap": { + "endpoint": "858310921/500000000000", + "dual": [ + "8513726393076777959368246229766891081493461/77486944702068625000000000000000000000000000", + "4021933241406597737380623238179807199878660694795688696309/18330645673830170005040491836312500000000000000000000000000", + "4021933241406597737380623238179807199878660694795688696309/9165322836915085002520245918156250000000000000000000000000", + "60974843600043191650867463832796754291201881/92665858260364600000000000000000000000000000", + "-2665418539515100048540300878001167269174633/48454042386974250000000000000000000000000000", + "-12612843744536802255914848757562355123877243/183301963765077400000000000000000000000000000", + "-60814902124424350241142906547230196409805581/633006236141947000000000000000000000000000000", + "-8513726393076777959368246229766891081493461/77486944702068625000000000000000000000000000", + "-57145734584034388607232441021649258275566023/463329291301823000000000000000000000000000000" + ], + "idle_lower": "10066770944701019594116452927978650282943419464610864226735845348986661588167431593832610630723502542123/536115587517711568719261122154969950296008349908295246038087974357609337500000000000000000000000000", + "local_lower": "2376338010779652038780174531697951/50000000000000000000000000000", + "moment_lower": "142186431681988331160011582653343375114245901097200899346470975012749572486870502742404222999386090745889/2144462350070846274877044488619879801184033399633180984152351897430437350000000000000000000000000000", + "moment_lower_minus_W": "22890939750564024879890864776539750567922467373233434805521854432470502742404222999386090745889/2144462350070846274877044488619879801184033399633180984152351897430437350000000000000000000000000000", + "additional_H1_equivalent_per_call_budget_upper": "-6186740473125412129700233723389121775114180371144171569059960657424460200649789999834078579970/5326803685073992977678497686016282630664560596553992686683147371375089187238457159184126658489222547", + "certifies_no_improvement_at_endpoint": true + } + }, + "integer_pattern": { + "pattern_fill": [ + [ + 8, + [ + 7 + ], + 444 + ], + [ + 8, + [ + 8 + ], + 49284 + ], + [ + 16, + [ + 7, + 9 + ], + 33152 + ], + [ + 32, + [ + 9, + 9 + ], + 1 + ], + [ + 32, + [ + 9, + 9, + 9 + ], + 13319 + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + 14652 + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + 1332 + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + 3848 + ], + [ + 48, + [], + 26403 + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + 6749 + ] + ], + "idle": { + "1": 15096, + "3": 6749, + "5": 13319, + "14": 1, + "48": 26403 + }, + "profile": { + "1": 1601508, + "2": 431568, + "3": 182573, + "4": 85248, + "5": 30635, + "8": 5328, + "14": 1, + "48": 26403 + }, + "rank_mass": 4816512, + "root_bracket": [ + "1716620841615405922609/1000000000000000000000000", + "171662084161540592261/100000000000000000000000" + ] + } + } + ], + "claims": { + "width9_batches_rejected_at_incumbent": [ + 1, + 2, + 4 + ], + "width7_k1_extra_net_tax_H1_less_than": "17959/1000000", + "width8_k1_extra_net_tax_H1_less_than": "2893/500000" + } +} diff --git a/research/t74-cold-host-restoration/pricing/NOTES.md b/research/t74-cold-host-restoration/pricing/NOTES.md new file mode 100644 index 0000000000..adac0b2882 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/NOTES.md @@ -0,0 +1,67 @@ +# Exact budgets for the cold-host lead + +This is a conditional cost certificate for ten specified inventories and paid profiles. It does not construct a restored host, prove a literal owner allocation, or claim a new κ. The baseline is PR2802 at `17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd`; the J-hosting source is `dfbc5ba121d5d23381393f178be8d4ba25ebfa4d`. Copied inputs and the arithmetic engine are authenticated before execution. + +Run from any directory with Python 3.12 and no third-party packages: + +```sh +python3.12 -B -S /path/to/pricing/verify_budget_certificates.py +``` + +The default replay writes only to stdout. `run()` returns the same report for the package hook. It checks 20 exact duals, all 1,163 inequalities for each, ten integer pattern invoices and their rational root brackets, source bindings, rank mass, stock, and seven rejecting controls. Floating optimization supplied discovery proposals; neither an optimizer nor its optimality status participates in acceptance. + +## What is priced + +The baseline has 408 helpers, 72 private buffers, 666 calls, 271,728 owner roles, and physical stock 66,794. Both pinned providers have local profile `{1:2382,2:648,3:268,4:128,5:26,8:8}` and inventory `{4:26,5:2,7:62,8:78,9:240}`. The complete rank mass is 4,816,512. The bin inventory is the retained J-model: `{8:49728,16:33152,32:33152,48:33152}`. This finite pattern model drops chronological, family and window constraints; these are not assumed discharged. + +Each nonbaseline case applies one of the following changes `k` times, for `k = 1, 2, 4`: + +| Merged width | Inventory change | Local change per hosting | Private buffers | +|---|---|---|---| +| 9 | `(4,8) → 9` | `−H3` | `72−k` (host loses its cold end) | +| 8 | `(4,8) → 8` | `−H3−H2+H1` | 72 | +| 7 | `(4,8) → 7` | `−H3−H2` | 72 | + +The width-9 row prices the optimistic `−H3` hosting ledger from J’s relaxation, conditional on that declared profile; the copied inputs do not establish a literal word realizing it. Widths 7 and 8 are ideal restored-host invoices; their algebra and frame feasibility are separate obligations. Physical stock is `66304 + helpers + 8 + buffers + 2`. A full-frame *restored* host would retain 72 buffers instead of the width-9 row's 71; this distinction does not improve its moment. + +Every declared change obeys + +`sum(rank * local_delta) = sum(width * inventory_delta)`. + +Consequently the local and leftover-bin rank changes cancel globally. Appending `H1` while keeping the same inventory would violate this invariant and is rejected. An undo's cost must instead be its **net moment change**, including any compensating jumps, source/frame changes and ownership effects. Two scalar undo gates do not automatically cost two rank-one children. + +## Certificate argument + +For a tested rational endpoint `b`, set `h_r(b) = (r/73)^(1-b)`, with `h_0=0`. A pattern `(R,p)` places helper widths `p` inside a rank-`R` bin and leaves cost `h_(R−sum(p))`. The certificate gives one free dual coefficient for each bin type and each helper width. Replay checks, exactly, that their sum for every pattern is at most an outward rational **lower bound** on its idle cost. Multiplying by the fixed bin/role counts therefore lower-bounds the cost of every feasible fractional pattern allocation, hence every integer allocation and every literal allocation represented by this model. + +The local paid cost is added with outward lower bounds. If this total is greater than 66,304, the endpoint is excluded. All child ranks are below 73, so the moment strictly increases with `b`; an excluded point is an upper bound on the root. The checked upper caps are: + +| Case | Exact upper cap on its relaxed complex moment root | +|---|---:| +| Baseline | 0.001717795985 | +| Width 7, one hosting | 0.001718667310 | +| Width 7, two hostings | 0.001719538520 | +| Width 7, four hostings | 0.001720889596 | +| Width 8, one hosting | 0.001718075881 | +| Width 8, two hostings | 0.001718355869 | +| Width 8, four hostings | 0.001718916120 | +| Width 9, one hosting | 0.001717601028 | +| Width 9, two hostings | 0.001717406351 | +| Width 9, four hostings | 0.001716621842 | + +The three width-9 caps are below PR2802's exact conditional κ. Thus **batching one, two or four copies of the stated `−H3` profile cannot win**; this does not exclude a simultaneous construction with additional frame savings or a different inventory. + +Each sparse integer pattern invoice is independently reconstructed and its moment root enclosed in an interval of width `10^-24`. These pattern invoices need not satisfy owner timing and family rules. In particular, their positive width-7/8 values are optimistic room, not lower bounds on an achievable physical result. + +At PR2802's exact κ, dividing remaining moment room by `666*h_1(b)` proves these strict necessary budgets for all additional **net** costs: + +- One ideal width-7 hosting: less than **0.017959 H1-equivalent per call**. +- One ideal width-8 hosting: less than **0.005786 H1-equivalent per call**. + +These are necessary optimistic budgets. They neither permit an unbalanced extra-child invoice nor establish a realizable restoration. Positive omitted costs only reduce the available room. + +## Arithmetic and attribution + +`vendor/base_two_moment.py` is copied byte-for-byte from the frozen `research/frame-domain-ceiling/engines/base_two_moment.py`; its retained source map identifies PR551's exact Git blob. The engine uses rational logarithm series and exponential tail bounds, with outward rounding. Its original docstring, the frame-domain package's notice and source map, and the Apache-2.0 license are retained. `SOURCE-PINS.json` records every copied path, commit, Git blob and SHA-256. The retained engine source blob is checked as well as its SHA-256. + +PR2802 and the J exploration are Marius-Paul Dumitrean's work with the assistance disclosed in those sources. The underlying construction retains Tekalign/PR2751, DavidAriasC/PR2766, Philippe Van Velzen/PR2679 and PR2559, Jeremy Kothe's owner/native lineage, Mason Hale/PR2696, Cinna Davis/PR2226, and the earlier credited sources. The frame-domain package was prepared for chafreaky with OpenAI Codex assistance. This separate exact-dual pricing and replay was prepared for Marius-Paul Dumitrean with substantial OpenAI Codex assistance; it does not change the frozen predecessor files. diff --git a/research/t74-cold-host-restoration/pricing/SOURCE-PINS.json b/research/t74-cold-host-restoration/pricing/SOURCE-PINS.json new file mode 100644 index 0000000000..e820003cf8 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/SOURCE-PINS.json @@ -0,0 +1,99 @@ +{ + "schema": 1, + "files": { + "vendor/base_two_moment.py": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/frame-domain-ceiling/engines/base_two_moment.py", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "size": 1742, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/frame-domain-ceiling/engines/base_two_moment.py", + "retained_original_source": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + } + }, + "vendor/NOTICE-frame-domain-ceiling.md": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/frame-domain-ceiling/NOTICE.md", + "git_blob": "14a51d2f0db5654a1c532ff8f9ddc62b3d0d2be6", + "sha256": "1b01ebf560aaa89efedf7d7d4f1403ffb0442a02080387e5b3cc5905ab4c449d", + "size": 575, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/frame-domain-ceiling/NOTICE.md" + }, + "vendor/SOURCES-frame-domain-ceiling.json": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/frame-domain-ceiling/SOURCES.json", + "git_blob": "b3f0fa35a3f45064aa288649745458a0da0684a2", + "sha256": "9c2d62d522b797f219c4d6753b68bdfa0e5d179dcd3dc9c5226d8b54be46df9a", + "size": 6343, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/frame-domain-ceiling/SOURCES.json" + }, + "vendor/LICENSE": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/frame-domain-ceiling/LICENSE", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "size": 11357, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/frame-domain-ceiling/LICENSE" + }, + "inputs/PR2802-CLAIM.json": { + "source_commit": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_path": "research/t74-joint-twelve-retired7/CLAIM.json", + "git_blob": "2e647189246376ee0ea855f50299f91483012371", + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "size": 2443, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/CLAIM.json" + }, + "inputs/PR2802-PROVIDERS.json": { + "source_commit": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_path": "research/t74-joint-twelve-retired7/inputs/PROVIDERS.json", + "git_blob": "b28e97eead8576399f069775aa72ba1e1078e62b", + "sha256": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "size": 5180, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PROVIDERS.json" + }, + "inputs/PR2802-OWNER-CHECK.json": { + "source_commit": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_path": "research/t74-joint-twelve-retired7/evidence/retired7/OWNER-CHECK.json", + "git_blob": "d6c74e2ba08250c30574c035ac89a5a8f5532196", + "sha256": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "size": 1298, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/OWNER-CHECK.json" + }, + "inputs/PR2802-WORD-base.json.gz": { + "source_commit": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_path": "research/t74-joint-twelve-retired7/inputs/WORD-base.json.gz", + "git_blob": "91bd9c68f209ac29e27cac566ff7a78339788553", + "sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "size": 72444, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD-base.json.gz" + }, + "inputs/PR2802-SOURCE-NOTICE": { + "source_commit": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_path": "research/t74-joint-twelve-retired7/SOURCE-NOTICE", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "size": 2456, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCE-NOTICE" + }, + "inputs/J-relax_host.py": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-r10-hosting-leads/J-dim1/code/relax_host.py", + "git_blob": "b606a1db8725a8c04532eab12f6383aaa6495f99", + "sha256": "0b35a26665aa418d8c2356d816eb26a15d866ba01bdda842adca287d8e90645c", + "size": 3297, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-r10-hosting-leads/J-dim1/code/relax_host.py" + }, + "inputs/J-relax_host7.py": { + "source_commit": "dfbc5ba121d5d23381393f178be8d4ba25ebfa4d", + "source_path": "research/t74-r10-hosting-leads/J-dim1/code/relax_host7.py", + "git_blob": "4328a33efc0d1c9dd390b022b315d8c09a17dc28", + "sha256": "a4389acb604b1df774a84545fac20a1179b15ab629d80f1bb0fa2528cf308ffa", + "size": 3345, + "source_url": "https://github.com/mdumitrean/integer-mult-bounds/blob/dfbc5ba121d5d23381393f178be8d4ba25ebfa4d/research/t74-r10-hosting-leads/J-dim1/code/relax_host7.py" + } + }, + "generated_certificate_sha256": "8448a6136dd09c7f1da1e2a616a6f7059592d0c913f834bf5a926304e6899706" +} diff --git a/research/t74-cold-host-restoration/pricing/inputs/J-relax_host.py b/research/t74-cold-host-restoration/pricing/inputs/J-relax_host.py new file mode 100644 index 0000000000..b606a1db87 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/J-relax_host.py @@ -0,0 +1,57 @@ +"""Owner-fill pattern relaxation (r8 B/G model, r9 relax_r9.py) on the r10 candidate (#2751 + #2766 refit + five +retired-lender aliases). Value map: marginal relaxed endpoint gain of removing ONE helper of width w, with the local +profile losing that helper's mass either as one rank-w entry ('entry', r8 convention, only if local has rank w) or as +w rank-1 entries ('unit', optimistic), and the realized-equals-relaxed check of the current state. +usage: venv-python -I relax_r10.py OUT.json""" +import json, sys, itertools +from collections import Counter +import numpy as np, mpmath as mp +from scipy.optimize import milp, LinearConstraint, Bounds +mp.mp.dps = 60 +M, W, CALLS = 73, 66304, 666 +NB = {8: 49728, 16: 33152, 32: 33152, 48: 33152} +WID = (4, 5, 7, 8, 9) +C_REF = mp.mpf('0.001717409316335491643448458477541172229282') +LOC = {1: 2382, 2: 648, 3: 268, 4: 128, 5: 26, 8: 8} +INV = {4: 26, 5: 2, 7: 62, 8: 78, 9: 240} +IDLE_PUB = {1: 17316, 3: 6594, 5: 9878, 32: 1, 48: 26558} +def root(counts): + f = lambda a: mp.fsum(n * mp.power(mp.mpf(r) / M, 1 - a) for r, n in counts.items() if r) - W + return mp.findroot(f, (mp.mpf('0.0016'), mp.mpf('0.0018')), solver='anderson') +def glob(loc, idle): + c = Counter({r: CALLS * n for r, n in loc.items()}); c.update(idle); return dict(sorted(c.items())) +pats = [(R, p) for R in NB for k in range(0, R // 4 + 1) for p in itertools.combinations_with_replacement(WID, k) if sum(p) <= R] +def solve(inv, a): + h = lambda r: float(mp.power(mp.mpf(r) / M, 1 - a)) if r else 0.0 + c = np.array([h(R - sum(p)) for R, p in pats]); A = []; lo = [] + for R in NB: A.append([1.0 if q == R else 0.0 for q, p in pats]); lo.append(NB[R]) + for w in WID: A.append([float(p.count(w)) for q, p in pats]); lo.append(CALLS * inv.get(w, 0)) + A = np.array(A); lo = np.array(lo, dtype=float) + r = milp(c, constraints=LinearConstraint(A, lo, lo), integrality=np.ones(len(pats)), bounds=Bounds(0, np.inf), + options=dict(mip_rel_gap=0.0, time_limit=300, disp=False)) + assert r.status == 0, r.message + x = np.rint(r.x).astype(int); assert np.array_equal(A @ x, lo) + idle = Counter() + for (R, p), n in zip(pats, x): + if n and R - sum(p): idle[R - sum(p)] += int(n) + return dict(sorted(idle.items())) +def best(loc, inv, a0): + a = a0 + for it in range(6): + idle = solve(inv, a); b = root(glob(loc, idle)) + if abs(b - a) < mp.mpf('1e-16'): break + a = b + return idle, b +# J-dim1: value of hosting k entering width-8 followers in width-4 cold hosts (host -> width 9), with local variants +b_pub = root(glob(LOC, IDLE_PUB)); idle0, b0 = best(LOC, INV, b_pub) +print('base realized', mp.nstr(b_pub, 22), 'relaxed', mp.nstr(b0, 22), flush=True) +out = {} +for k in (1, 2, 4): + for name, dl in (('-H3', {3: -1}), ('-H2-H1', {2: -1, 1: -1}), ('-3H1', {1: -3}), ('-H4+H1', {4: -1, 1: 1})): + inv = dict(INV); inv[4] -= k; inv[8] -= k; inv[9] += k + loc = dict(LOC) + for r, d in dl.items(): loc[r] = loc.get(r, 0) + k * d + idle, b = best(loc, inv, b0) + out[f'{k}:{name}'] = dict(value=mp.nstr(b - b_pub, 8), idle=idle) + print('hostings', k, 'local', name, 'value vs realized', mp.nstr(b - b_pub, 6), 'idle', idle, flush=True) +json.dump(out, open(sys.argv[1], 'w'), indent=1) diff --git a/research/t74-cold-host-restoration/pricing/inputs/J-relax_host7.py b/research/t74-cold-host-restoration/pricing/inputs/J-relax_host7.py new file mode 100644 index 0000000000..4328a33efc --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/J-relax_host7.py @@ -0,0 +1,57 @@ +"""Owner-fill pattern relaxation (r8 B/G model, r9 relax_r9.py) on the r10 candidate (#2751 + #2766 refit + five +retired-lender aliases). Value map: marginal relaxed endpoint gain of removing ONE helper of width w, with the local +profile losing that helper's mass either as one rank-w entry ('entry', r8 convention, only if local has rank w) or as +w rank-1 entries ('unit', optimistic), and the realized-equals-relaxed check of the current state. +usage: venv-python -I relax_r10.py OUT.json""" +import json, sys, itertools +from collections import Counter +import numpy as np, mpmath as mp +from scipy.optimize import milp, LinearConstraint, Bounds +mp.mp.dps = 60 +M, W, CALLS = 73, 66304, 666 +NB = {8: 49728, 16: 33152, 32: 33152, 48: 33152} +WID = (4, 5, 7, 8, 9) +C_REF = mp.mpf('0.001717409316335491643448458477541172229282') +LOC = {1: 2382, 2: 648, 3: 268, 4: 128, 5: 26, 8: 8} +INV = {4: 26, 5: 2, 7: 62, 8: 78, 9: 240} +IDLE_PUB = {1: 17316, 3: 6594, 5: 9878, 32: 1, 48: 26558} +def root(counts): + f = lambda a: mp.fsum(n * mp.power(mp.mpf(r) / M, 1 - a) for r, n in counts.items() if r) - W + return mp.findroot(f, (mp.mpf('0.0016'), mp.mpf('0.0018')), solver='anderson') +def glob(loc, idle): + c = Counter({r: CALLS * n for r, n in loc.items()}); c.update(idle); return dict(sorted(c.items())) +pats = [(R, p) for R in NB for k in range(0, R // 4 + 1) for p in itertools.combinations_with_replacement(WID, k) if sum(p) <= R] +def solve(inv, a): + h = lambda r: float(mp.power(mp.mpf(r) / M, 1 - a)) if r else 0.0 + c = np.array([h(R - sum(p)) for R, p in pats]); A = []; lo = [] + for R in NB: A.append([1.0 if q == R else 0.0 for q, p in pats]); lo.append(NB[R]) + for w in WID: A.append([float(p.count(w)) for q, p in pats]); lo.append(CALLS * inv.get(w, 0)) + A = np.array(A); lo = np.array(lo, dtype=float) + r = milp(c, constraints=LinearConstraint(A, lo, lo), integrality=np.ones(len(pats)), bounds=Bounds(0, np.inf), + options=dict(mip_rel_gap=0.0, time_limit=300, disp=False)) + assert r.status == 0, r.message + x = np.rint(r.x).astype(int); assert np.array_equal(A @ x, lo) + idle = Counter() + for (R, p), n in zip(pats, x): + if n and R - sum(p): idle[R - sum(p)] += int(n) + return dict(sorted(idle.items())) +def best(loc, inv, a0): + a = a0 + for it in range(6): + idle = solve(inv, a); b = root(glob(loc, idle)) + if abs(b - a) < mp.mpf('1e-16'): break + a = b + return idle, b +# J-dim1: restorable variant: host stays cold at width 7 (4 + 8 -> 7), local loses the hostee's 1->3 and 3->6 climbs and its 7->9 end climb +b_pub = root(glob(LOC, IDLE_PUB)); idle0, b0 = best(LOC, INV, b_pub) +out = {} +for k in (1, 2): + for name, dl in (('-H3-H2', {3: -1, 2: -1}), ('-H3-H2+2H1', {3: -1, 2: -1, 1: 2}), ('-H3-H2+2H2', {3: -1, 2: 1}), ('-H3', {3: -1})): + inv = dict(INV); inv[4] -= k; inv[8] -= k; inv[7] += k + loc = dict(LOC) + for r, d in dl.items(): loc[r] = loc.get(r, 0) + k * d + try: idle, b = best(loc, inv, b0) + except AssertionError as ex: print(k, name, 'infeasible relax', ex, flush=True); continue + out[f'{k}:{name}'] = dict(value=mp.nstr(b - b_pub, 8), idle=idle) + print('restorable hostings', k, 'local', name, 'value', mp.nstr(b - b_pub, 6), flush=True) +json.dump(out, open(sys.argv[1], 'w'), indent=1) diff --git a/research/t74-cold-host-restoration/pricing/inputs/PR2802-CLAIM.json b/research/t74-cold-host-restoration/pricing/inputs/PR2802-CLAIM.json new file mode 100644 index 0000000000..2e64718924 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/PR2802-CLAIM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717794984118634663827", + "complex_upper": "0.001717794984118634663828", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": "2751", + "comparison_head": "4cfbb0cc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2751, + "head": "4cfbb0cc", + "exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "comparisons": { + "2751": { + "kappa_source": "evidence/PR2751-CLAIM.json", + "exact_margin": "326698885104162859/500000000000000000000000", + "margin_float": 6.533977702083258e-07 + }, + "2766": { + "kappa_source": "evidence/PR2766-CLAIM.json", + "exact_margin": "538010651632355557/1000000000000000000000000", + "margin_float": 5.380106516323556e-07 + }, + "2767": { + "kappa_source": "evidence/PR2767-OUTER-CLAIM.json", + "exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)", + "margin_float": 5.380106516323556e-07 + } + }, + "new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route", + "local_predecessor": { + "package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)", + "exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "exact_margin": "385667783143020379/1000000000000000000000000", + "margin_float": 3.856677831430204e-07 + } +} diff --git a/research/t74-cold-host-restoration/pricing/inputs/PR2802-OWNER-CHECK.json b/research/t74-cold-host-restoration/pricing/inputs/PR2802-OWNER-CHECK.json new file mode 100644 index 0000000000..d6c74e2ba0 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/PR2802-OWNER-CHECK.json @@ -0,0 +1,65 @@ +{ + "removed": [ + 667, + 669 + ], + "dropped_roles": 1332, + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728, + "calls": 666, + "helpers_per_call": 408, + "windows": 1332, + "window_sha256": "d301aa0d102381aecc3dd746c424d55ea6f4ade9f87b833c8db6d643e205c846", + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "8": 0, + "16": 0, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "root80": "0.0017177949841186346638272299184281789040885843854623122009009272567619811451693129", + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.001717794984118634663827", + "margin_over_candidate": "3.85667783143e-7" +} diff --git a/research/t74-cold-host-restoration/pricing/inputs/PR2802-PROVIDERS.json b/research/t74-cold-host-restoration/pricing/inputs/PR2802-PROVIDERS.json new file mode 100644 index 0000000000..b28e97eead --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/PR2802-PROVIDERS.json @@ -0,0 +1,842 @@ +{ + "gauge44": { + "actual_paid_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ] + }, + "extra": { + "actual_paid_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ] + } +} \ No newline at end of file diff --git a/research/t74-cold-host-restoration/pricing/inputs/PR2802-SOURCE-NOTICE b/research/t74-cold-host-restoration/pricing/inputs/PR2802-SOURCE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/inputs/PR2802-SOURCE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/t74-cold-host-restoration/pricing/inputs/PR2802-WORD-base.json.gz b/research/t74-cold-host-restoration/pricing/inputs/PR2802-WORD-base.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..91bd9c68f209ac29e27cac566ff7a78339788553 GIT binary patch literal 72444 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­lGW_wH2)qjR?zaEb zgR5ro^23VUf)JgE?J{KFY_yg6dCmOD^z(3iS@-KusNV3Pq~RdQ_GerSv@8qR@0%Cl zf+Y6?BD2nInNqfcpKqViy?nxv8lvS6J}>eVY<)@~aL(gN>W9WaNUg${-8~lB57SL0JDw=aq2s3b@+IU9$n^-3fn|(EzsHof&vY+RrpoMe!#8-aFz2f90q=Xo&FH9C@^6m-58JkK$?t8$z_J zXr1HNGD$|m1ymJxvKy68SO-Y%sZqTjy&zYCc*soVWU&u&Fwr2T$ndwKY2WgZN+ z(C?V-k@S_s>>vLn9<#ECX1}dbNR&95#(xd_iN^_SN)c@qnauN7@ubF+lM()~mr?%m zdrdj>rzH%4Zs__jPGOU&iZ;1A^m6d0+8uUejy?QOh{Uj(GDf(F$qf+E=9>O zRP4aQ`4}1`5hq;}rR;H>CH?Cyxuq#()+M%{!_!cp)k{T+a{Mp|&=(d2;Q*4s)^FjF z^k-7gv^q@$rESr&k25TuElxztuBKf^GT-5iRP#H6l-Vuj!(cCS1Fe2IA#Adst3f^2Xi9ZV^`u
+ZDsj3^Ak0Qnz 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 UJM3GC{L4T7AKshzbsE|T0AKCS$^ZZW literal 0 HcmV?d00001 diff --git a/research/t74-cold-host-restoration/pricing/vendor/LICENSE b/research/t74-cold-host-restoration/pricing/vendor/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/vendor/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/t74-cold-host-restoration/pricing/vendor/NOTICE-frame-domain-ceiling.md b/research/t74-cold-host-restoration/pricing/vendor/NOTICE-frame-domain-ceiling.md new file mode 100644 index 0000000000..14a51d2f0d --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/vendor/NOTICE-frame-domain-ceiling.md @@ -0,0 +1,3 @@ +Prepared for chafreaky with OpenAI Codex assistance, Apache-2.0. + +New contribution: complete finite frame domains, a source-bound LP relaxation, and exact rational dual exclusion. PR551 supplies the admitted scalar word. PR548 supplies prior frame lifts, source substitution and owners; PR534 supplies its frame assignment; PR541/544 and PR535/531/484 supply static44 and compiler ancestry. The inherited moment engines retain their original notices. All copied source bytes and original authorship/assistance notices are preserved. No new Lean or all-size proof is claimed. diff --git a/research/t74-cold-host-restoration/pricing/vendor/SOURCES-frame-domain-ceiling.json b/research/t74-cold-host-restoration/pricing/vendor/SOURCES-frame-domain-ceiling.json new file mode 100644 index 0000000000..b3f0fa35a3 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/vendor/SOURCES-frame-domain-ceiling.json @@ -0,0 +1,136 @@ +{ + "source_pr": 551, + "source_commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "files": { + "code/build_frames.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/code/build_frames.py", + "git_blob": "d6df615274e330f89ca707dcdf785173255ad42c" + }, + "code/run.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/code/run.py", + "git_blob": "7630f0c0af3d58216c5443cca5b1f29a4a166c82" + }, + "code/port_frames.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr548/complex-local/code/port_frames.py", + "git_blob": "bd9187bd060ffb8e5fc80596d4f866492fbdef05" + }, + "code/slice.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/code/slice.py", + "git_blob": "f9284db0e133994428e83390b6a80b3945f2f9bb" + }, + "code/apply_syndrome.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr548/complex-local/code/apply_syndrome.py", + "git_blob": "6fd085c5ed7ffbb0ccf34cd80d55e182db19f9a6" + }, + "engines/base_two_moment.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + "engines/moment.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + "data/PR551-EXPECTED.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/EXPECTED.json", + "git_blob": "334adb435cc03d0f144bf5cb1b9b77594e377a7a" + }, + "data/RECIPE.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/data/RECIPE.json", + "git_blob": "0c303e63b1b38fcb4e136c115e6825b99a1fd072" + }, + "data/PR534-WORD.json.gz": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr548/complex-local/inputs/PR534-WORD.json.gz", + "git_blob": "965888339a0ac249031cde058c44d3f40771d303" + }, + "vendor/static44/build.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/build.py", + "git_blob": "de6484973953d9e5dc8109a3492fa8cb69db4529" + }, + "vendor/static44/SOURCE-MANIFEST.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/SOURCE-MANIFEST.json", + "git_blob": "468918ea5832305d225c51457dc73088496328b9" + }, + "vendor/static44/PROOF.md": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/PROOF.md", + "git_blob": "1d43cf78f4a7a394710db7c367a857f317171617" + }, + "vendor/static44/LICENSE": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/LICENSE", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + "vendor/static44/RECIPE.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/RECIPE.json", + "git_blob": "68c751bb56f3f1c7121ba5f269357e78668d7ea6" + }, + "vendor/static44/README.md": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/README.md", + "git_blob": "6aed83ec92333c21d79e96c2cc4da1cb9ecd409a" + }, + "vendor/static44/NOTICE-upstream.md": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/NOTICE-upstream.md", + "git_blob": "f42e0eed8584ad7d472c458aa875c29d1cd5ed86" + }, + "vendor/static44/META-SOURCES.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/META-SOURCES.json", + "git_blob": "8cbd32f8bd6437c1e2f08ac9e49395708a0c78fd" + }, + "vendor/static44/replay.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/replay.py", + "git_blob": "ef5642ccfda5c30d869a3bc7e2aa30ae023e20b1" + }, + "vendor/static44/audit_scalar.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/audit_scalar.py", + "git_blob": "834e8b510388e6b79cbbede33abcd38ac5203e59" + }, + "vendor/static44/gk/gk_word.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/gk/gk_word.py", + "git_blob": "15782ba625e438a3c707718fa51796ec1937018f" + }, + "vendor/static44/gk/gk_common.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/gk/gk_common.py", + "git_blob": "0e5fde920d29106232776eb56347297c0d40fa72" + }, + "vendor/static44/inputs/RAW504.json.gz": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/inputs/RAW504.json.gz", + "git_blob": "903eeb216176a7c5fd6d26f875a63e89a79b37bb" + }, + "vendor/static44/inputs/OLD-RECIPE.json": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/inputs/OLD-RECIPE.json", + "git_blob": "52d4b5f3827b456b1c0eb457462bc3ab7045c509" + }, + "vendor/static44/inputs/BASE535.json.gz": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/static44/inputs/BASE535.json.gz", + "git_blob": "bcc1647b7d4ad8ae3ae2acbb31d3591c0d49467f" + }, + "engines/outer.py": { + "commit": "e7faafc4fec401d24080e5b2df12f964f1cfe123", + "path": "research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + } + } +} diff --git a/research/t74-cold-host-restoration/pricing/vendor/base_two_moment.py b/research/t74-cold-host-restoration/pricing/vendor/base_two_moment.py new file mode 100644 index 0000000000..14a90fa0e7 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/vendor/base_two_moment.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""Maintainer arithmetic cross-check of the pinned PR39 certificate. + +Uses no producer/checker imports. Counts are inputs, not proved by this script. +80-term rational logarithms and 12-term exponentials independently enclose +the two moments. The accompanying written review addresses their realization. +""" +import argparse +from fractions import Fraction as Q +from hashlib import sha256 +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +GRID = 10**30 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + lo = 2*sum((z**(2*j+1)/(2*j+1) for j in range(80)), Q(0)) + return lo, lo+2*z**161/(161*(1-z*z)) + + +def log_bounds(x): + k = 0 + while x > 2: + x /= 2 + k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + # Outward rational rounding keeps later certificates compact. + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + + +def exp_bounds(x): + require(0 <= x < 1, "exponential range") + term = total = Q(1) + for j in range(1, 13): + term *= x/j + total += term + tail = term*x/13/(1-x/14) + return total, total+tail + + +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lower = exp_bounds(saving*l)[0] + upper = exp_bounds(saving*u)[1] + lo += Q(t*count, m*W)*lower + hi += Q(t*count, m*W)*upper + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + diff --git a/research/t74-cold-host-restoration/pricing/verify.py b/research/t74-cold-host-restoration/pricing/verify.py new file mode 100644 index 0000000000..18edb9ee77 --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/verify.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Portable stdout-only entry point; execute the checked source, never bytecode.""" +import json +import pathlib +import sys +sys.dont_write_bytecode = True +path = pathlib.Path(__file__).resolve().with_name('verify_budget_certificates.py') +namespace = {'__name__': 'cold_host_pricing_replay', '__file__': str(path)} +exec(compile(path.read_bytes(), str(path), 'exec'), namespace) +if __name__ == '__main__': + print(json.dumps(namespace['run'](), indent=2)) diff --git a/research/t74-cold-host-restoration/pricing/verify_budget_certificates.py b/research/t74-cold-host-restoration/pricing/verify_budget_certificates.py new file mode 100644 index 0000000000..c20ab5cf1f --- /dev/null +++ b/research/t74-cold-host-restoration/pricing/verify_budget_certificates.py @@ -0,0 +1,246 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Read-only, standard-library replay of ten cold-host pattern bounds. + +No optimizer, solver status, floating point, or cached bytecode is trusted. +Frozen source bytes are authenticated before the arithmetic engine executes. +The declared local profiles are conditional invoices, not new admitted words. +""" +import ast +import collections +import copy +import gzip +import hashlib +import itertools +import json +import pathlib +import sys +import types +from fractions import Fraction as Q +from functools import lru_cache + +sys.dont_write_bytecode = True +HERE = pathlib.Path(__file__).resolve().parent +ENGINE_SHA = 'aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098' +EXPECTED_INPUTS = { + 'vendor/base_two_moment.py', 'vendor/NOTICE-frame-domain-ceiling.md', + 'vendor/SOURCES-frame-domain-ceiling.json', 'vendor/LICENSE', + 'inputs/PR2802-CLAIM.json', 'inputs/PR2802-PROVIDERS.json', + 'inputs/PR2802-OWNER-CHECK.json', 'inputs/PR2802-WORD-base.json.gz', + 'inputs/PR2802-SOURCE-NOTICE', 'inputs/J-relax_host.py', + 'inputs/J-relax_host7.py', +} + +def need(ok, message): + if not ok: + raise ValueError(message) + +def counts(value): + result = {int(r): n for r, n in value.items()} + need(all(type(n) is int and n >= 0 for n in result.values()), 'nonintegral or negative counts') + return {r: n for r, n in result.items() if n} + +def authenticate(overrides=None): + overrides = overrides or {} + pins = json.loads((HERE / 'SOURCE-PINS.json').read_text()) + need(set(pins['files']) == EXPECTED_INPUTS, 'unexpected frozen source inventory') + for rel, record in pins['files'].items(): + path = pathlib.PurePosixPath(rel) + need(not path.is_absolute() and '..' not in path.parts, 'unsafe source path') + raw = overrides.get(rel, (HERE / rel).read_bytes()) + need(hashlib.sha256(raw).hexdigest() == record['sha256'], 'source hash mismatch: ' + rel) + need(len(raw) == record['size'], 'source size mismatch: ' + rel) + blob = hashlib.sha1(b'blob ' + str(len(raw)).encode() + b'\0' + raw).hexdigest() + need(blob == record['git_blob'], 'source Git blob mismatch: ' + rel) + raw = (HERE / 'vendor/base_two_moment.py').read_bytes() + need(hashlib.sha256(raw).hexdigest() == ENGINE_SHA, 'frozen arithmetic source mismatch') + need(hashlib.sha256((HERE / 'CERTIFICATES.json').read_bytes()).hexdigest() + == pins['generated_certificate_sha256'], 'generated certificate hash mismatch') + original = pins['files']['vendor/base_two_moment.py']['retained_original_source'] + need(original == json.loads((HERE / 'vendor/SOURCES-frame-domain-ceiling.json').read_text()) + ['files']['engines/base_two_moment.py'], 'retained engine provenance mismatch') + need(original['git_blob'] == pins['files']['vendor/base_two_moment.py']['git_blob'], + 'retained engine bytes differ from recorded original') + return raw + +def source_constants(name): + # These copied discovery scripts are parsed, never imported or executed. + result = {} + wanted = {'M', 'W', 'CALLS', 'NB', 'WID', 'LOC', 'INV', 'IDLE_PUB'} + tree = ast.parse((HERE / name).read_text()) + for node in tree.body: + if not isinstance(node, ast.Assign) or len(node.targets) != 1: + continue + target = node.targets[0] + names = ([target.id] if isinstance(target, ast.Name) else + [x.id for x in target.elts] if isinstance(target, ast.Tuple) + and all(isinstance(x, ast.Name) for x in target.elts) else []) + if not wanted.intersection(names): + continue + value = ast.literal_eval(node.value) + for key, val in zip(names, [value] if len(names) == 1 else value): + if key in wanted: + result[key] = val + need(set(result) == wanted, 'missing pinned discovery constants') + return result + +def model_from_sources(document): + a = source_constants('inputs/J-relax_host.py') + need(a == source_constants('inputs/J-relax_host7.py'), 'discovery models differ') + claim = json.loads((HERE / 'inputs/PR2802-CLAIM.json').read_text()) + providers = json.loads((HERE / 'inputs/PR2802-PROVIDERS.json').read_text()) + owner = json.loads((HERE / 'inputs/PR2802-OWNER-CHECK.json').read_text()) + word = json.loads(gzip.decompress((HERE / 'inputs/PR2802-WORD-base.json.gz').read_bytes())) + local, inventory, idle = a['LOC'], a['INV'], a['IDLE_PUB'] + for provider in providers.values(): + need(counts(provider['actual_paid_profile']) == local, 'provider paid profile mismatch') + need(dict(collections.Counter(provider['widths'])) == inventory, 'provider inventory mismatch') + removed = set(word['removed']); v = word['report']['v']; literal_inventory = collections.Counter() + for r in range(2 * v, 2 * v + word['report']['R']): + if r not in removed: + end = len(word.get('helper_final', {}).get(str(r), range(9))) + start = len(word.get('start_extra', {}).get(str(r), [])) + literal_inventory[end - start] += 1 + need(dict(literal_inventory) == inventory, 'frozen word inventory mismatch') + need(counts(word['report']['local_profile']) == local, 'frozen word invoice mismatch') + buffers = len(word['helper_final']) + need(buffers == 72, 'baseline restored-helper stock mismatch') + need(owner['owner']['calls'] == a['CALLS'] and owner['owner']['helpers_per_call'] == sum(inventory.values()), + 'owner call/helper counts mismatch') + need(counts(owner['owner']['idle']) == idle, 'owner idle mismatch') + global_profile = collections.Counter({r: a['CALLS'] * n for r, n in local.items()}); global_profile.update(idle) + need(dict(global_profile) == counts(claim['profile']) == counts(owner['profile']), 'baseline global profile mismatch') + model = {'m': a['M'], 'live': a['W'], 'calls': a['CALLS'], 'bin_counts': a['NB'], + 'width_alphabet': list(a['WID']), 'baseline_local': local, + 'baseline_inventory': inventory, 'baseline_idle': idle, + 'baseline_profile': dict(global_profile), 'rank_mass': sum(r*n for r,n in global_profile.items()), + 'incumbent_kappa': str(Q(claim['kappa'])), 'baseline_buffers': buffers} + # Canonical JSON compares integer keys with their serialized decimal keys. + need(json.loads(json.dumps(model)) == document['model'], 'certificate model differs from pinned sources') + need(model['rank_mass'] == 4816512, 'baseline rank mass mismatch') + return model + +class Checker: + def __init__(self, model, engine): + self.model = model; self.engine = engine + self.nb = model['bin_counts']; self.widths = tuple(model['width_alphabet']) + self.n = model['calls']; self.W = model['live']; self.B = Q(model['incumbent_kappa']) + self.patterns = [(R, p) for R in self.nb for k in range(R // min(self.widths) + 1) + for p in itertools.combinations_with_replacement(self.widths, k) if sum(p) <= R] + self.pattern_set = set(self.patterns) + need(len(self.patterns) == 1163, 'pattern census mismatch') + + @lru_cache(None) + def cost(self, b, r): + return self.engine.moment(self.model['m'], 1, [(r, 1)], b) if r else (Q(0), Q(0)) + + def expected_case(self, name): + if name == 'baseline': + width, k = 9, 0 + else: + w, t = name.split('-'); width, k = int(w[5:]), int(t[1:]) + need(width in (7, 8, 9) and k in (1, 2, 4), 'case outside declared scope') + inv = dict(self.model['baseline_inventory']); loc = dict(self.model['baseline_local']) + if k: + inv[4] -= k; inv[8] -= k; inv[width] += k + loc[3] -= k + if width in (7, 8): loc[2] -= k + if width == 8: loc[1] += k + return width, k, inv, loc + + def dual(self, c, inv, loc, cap=False): + b = Q(c['endpoint']); d = list(map(Q, c['dual'])) + need(0 < b < Q(1, 100), 'endpoint outside engine domain') + need(len(d) == len(self.nb) + len(self.widths), 'wrong dual length') + if not cap: need(b == self.B, 'incumbent endpoint changed') + for R, p in self.patterns: + lhs = d[list(self.nb).index(R)] + sum(p.count(w)*d[len(self.nb)+i] for i,w in enumerate(self.widths)) + need(lhs <= self.cost(b, R-sum(p))[0], 'dual constraint violation') + rhs = list(self.nb.values()) + [self.n*inv.get(w, 0) for w in self.widths] + idle = sum(x*y for x,y in zip(rhs, d)) + local = self.n*sum(n*self.cost(b, r)[0] for r,n in loc.items()) + total = idle + local + need(idle == Q(c['idle_lower']) and local == Q(c['local_lower']), 'dual invoice mismatch') + need(total == Q(c['moment_lower']) and total-self.W == Q(c['moment_lower_minus_W']), 'bound margin mismatch') + need((total >= self.W) == c['certifies_no_improvement_at_endpoint'], 'bound conclusion mismatch') + if cap: need(total > self.W, 'cap lacks strict rejection') + allowance = (self.W-total)/(self.n*self.cost(b, 1)[0]) + need(allowance == Q(c['additional_H1_equivalent_per_call_budget_upper']), 'budget mismatch') + return allowance + + def case(self, record): + width, k, inv, loc = self.expected_case(record['case']) + need(counts(record['inventory']) == counts(inv), 'unexpected inventory') + need(counts(record['local_profile']) == counts(loc), 'unexpected or unbalanced local profile') + mass = self.n*sum(r*n for r,n in loc.items()) + sum(R*n for R,n in self.nb.items()) - self.n*sum(r*n for r,n in inv.items()) + need(mass == self.model['rank_mass'], 'rank mass changed') + local_delta = sum(r*n for r,n in loc.items()) - sum(r*n for r,n in self.model['baseline_local'].items()) + inv_delta = sum(r*n for r,n in inv.items()) - sum(r*n for r,n in self.model['baseline_inventory'].items()) + need(record['local_mass_change'] == local_delta == inv_delta == record['inventory_mass_change'], 'local/inventory mass mismatch') + need(record['helpers'] == sum(inv.values()) and record['roles'] == self.n*sum(inv.values()), 'helper/role count mismatch') + buffers = self.model['baseline_buffers'] - (k if width == 9 else 0) + need(record['private_buffers'] == buffers, 'restored-helper stock mismatch') + need(record['physical'] == self.W + sum(inv.values()) + 8 + buffers + 2, 'physical stock mismatch') + allowance = self.dual(record['duals']['incumbent'], inv, loc) + self.dual(record['duals']['cap'], inv, loc, cap=True) + p = record['integer_pattern']; bins = collections.Counter(); roles = collections.Counter(); idle = collections.Counter() + for R, pattern, n in p['pattern_fill']: + need((R, tuple(pattern)) in self.pattern_set and type(n) is int and n > 0, 'invalid integer pattern') + bins[R] += n + roles.update({w: n*pattern.count(w) for w in self.widths}) + if R-sum(pattern): idle[R-sum(pattern)] += n + need(dict(bins) == self.nb, 'bin capacity mismatch') + need(dict(roles) == {w: self.n*inv.get(w,0) for w in self.widths}, 'helper pattern counts mismatch') + need(dict(idle) == counts(p['idle']), 'idle invoice mismatch') + paid = collections.Counter({r: self.n*n for r,n in loc.items()}); paid.update(idle) + need(dict(paid) == counts(p['profile']), 'global invoice mismatch') + need(sum(r*n for r,n in paid.items()) == p['rank_mass'] == self.model['rank_mass'], 'global rank mass mismatch') + lo, hi = map(Q, p['root_bracket']) + need(0 < lo < hi < Q(1, 100) and hi-lo == Q(1, 10**24), 'invalid root bracket') + need(sum(n*self.cost(lo, r)[1] for r,n in paid.items()) < self.W, 'root lower endpoint not accepted') + need(sum(n*self.cost(hi, r)[0] for r,n in paid.items()) > self.W, 'root upper endpoint not rejected') + return allowance + +def run(): + raw = authenticate() + engine = types.ModuleType('cold_host_rational_moment') + engine.__file__ = str(HERE / 'vendor/base_two_moment.py') + exec(compile(raw, engine.__file__, 'exec'), engine.__dict__) + doc = json.loads((HERE / 'CERTIFICATES.json').read_text()) + model = model_from_sources(doc); checker = Checker(model, engine) + cases = {r['case']: r for r in doc['cases']} + expected = {'baseline'} | {f'width{w}-k{k}' for w in (7,8,9) for k in (1,2,4)} + need(len(cases) == len(doc['cases']) and set(cases) == expected, 'case set mismatch') + budgets = {name: checker.case(record) for name, record in cases.items()} + claim = doc['claims'] + need(claim['width9_batches_rejected_at_incumbent'] == [1,2,4], 'batch claim mismatch') + for k in (1,2,4): need(budgets[f'width9-k{k}'] < 0, 'width9 batch not rejected') + need(Q(claim['width7_k1_extra_net_tax_H1_less_than']) == Q(17959,1000000), 'rank7 budget claim changed') + need(Q(claim['width8_k1_extra_net_tax_H1_less_than']) == Q(2893,500000), 'rank8 budget claim changed') + need(budgets['width7-k1'] < Q(17959,1000000), 'rank7 budget not proved') + need(budgets['width8-k1'] < Q(2893,500000), 'rank8 budget not proved') + fixture = cases['width8-k1'] + controls = { + 'unbalanced_H1_undo': lambda d: d['local_profile'].__setitem__('1', d['local_profile']['1']+1), + 'unbound_dual_price': lambda d: d['duals']['incumbent']['dual'].__setitem__(0, str(Q(d['duals']['incumbent']['dual'][0])+1)), + 'omitted_private_buffer': lambda d: d.__setitem__('private_buffers', d['private_buffers']-1), + 'forged_rejection': lambda d: d['duals']['incumbent'].__setitem__('certifies_no_improvement_at_endpoint', True), + 'fractional_pattern_count': lambda d: d['integer_pattern']['pattern_fill'][0].__setitem__(2, '1/2'), + 'false_root_bracket': lambda d: d['integer_pattern'].__setitem__('root_bracket', ['1/1000', str(Q(1,1000)+Q(1,10**24))]), + } + rejected = {} + for name, mutate in controls.items(): + d = copy.deepcopy(fixture); mutate(d) + try: checker.case(d) + except (ValueError, TypeError) as ex: rejected[name] = str(ex) + else: raise ValueError('control incorrectly accepted: '+name) + try: authenticate({'vendor/base_two_moment.py': raw+b'\n'}) + except ValueError as ex: rejected['changed_engine_before_execution'] = str(ex) + else: raise ValueError('changed engine accepted') + return {'status': 'PASS_EXACT_COLD_HOST_PRICING', 'cases': len(cases), 'patterns_per_dual': len(checker.patterns), + 'exact_duals': 2*len(cases), 'integer_pattern_root_brackets': len(cases), + 'rank_mass': model['rank_mass'], 'negative_controls': rejected, + 'scope': 'Exact conditional bounds for declared profiles and inventory; no literal owner-fill or new kappa claim.'} + +if __name__ == '__main__': + print(json.dumps(run(), indent=2)) diff --git a/research/t74-cold-host-restoration/verify.py b/research/t74-cold-host-restoration/verify.py new file mode 100644 index 0000000000..f68bfbd866 --- /dev/null +++ b/research/t74-cold-host-restoration/verify.py @@ -0,0 +1,60 @@ +"""Authenticate and replay the scoped cold-host restoration package.""" +from __future__ import annotations + +import argparse +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile + +PACKAGE = Path(__file__).resolve().parent + + +def authenticate(): + manifest = json.loads((PACKAGE / 'MANIFEST.json').read_text()) + if manifest.get('schema') != 'sha256-package-files-v1': + raise ValueError('unknown manifest schema') + for name, expected in manifest['files'].items(): + path = Path(name) + if path.is_absolute() or '..' in path.parts or str(path) != name: + raise ValueError('noncanonical manifest path') + content = (PACKAGE / path).read_bytes() + if hashlib.sha256(content).hexdigest() != expected['sha256'] or len(content) != expected['bytes']: + raise ValueError('package input changed: ' + name) + return len(manifest['files']) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--workers', type=int, default=4) + parser.add_argument('--part', choices=('all','operator','direct','hyperplanes','pricing'), default='all') + args = parser.parse_args() + if not 1 <= args.workers <= 24: + raise ValueError('workers must be between 1 and 24') + count = authenticate() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', OPENBLAS_NUM_THREADS='1', + OMP_NUM_THREADS='1', MKL_NUM_THREADS='1', NUMEXPR_NUM_THREADS='1') + env.pop('PYTHONOPTIMIZE', None) + parts = ['operator','direct','hyperplanes','pricing'] if args.part == 'all' else [args.part] + # -B disables cache writes, not reads. A fresh cache namespace ensures + # imports use the authenticated source even beside a stale matching .pyc. + with tempfile.TemporaryDirectory(prefix='cold-host-replay-') as cache: + for part in parts: + command = [sys.executable, '-I', '-S', '-B', '-X', + 'pycache_prefix=' + cache, + str(PACKAGE / part / 'verify.py')] + if part in ('direct','hyperplanes'): + command += ['--workers',str(args.workers)] + result = subprocess.run(command, env=env, check=False) + if result.returncode: + raise SystemExit(result.returncode) + print(json.dumps({'status':'PASS_COLD_HOST_RESTORATION_SCOPED_PACKAGE', + 'authenticated_files':count,'parts':parts, + 'claim':'No new kappa; algebra/frame fixture, scoped direct-undo obstruction and exact pattern budgets.'},sort_keys=True)) + + +if __name__ == '__main__': + main()