diff --git a/research/p104-abcd-n18-funding-obstruction/LICENSE b/research/p104-abcd-n18-funding-obstruction/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/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/p104-abcd-n18-funding-obstruction/NEXT.md b/research/p104-abcd-n18-funding-obstruction/NEXT.md new file mode 100644 index 0000000000..56cc29b65b --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/NEXT.md @@ -0,0 +1,7 @@ +# Next boundary + +Portable/root publication checks remain separate from the original completed +qualification. Preserve the frozen request and scientific results. A future +route needs an explicit changed hypothesis and complete new source bill before +new science; do not rerun the excluded n18 invariant family with new seeds. +Do not extend the n18 statement to all n or other compiler/tail parameters. diff --git a/research/p104-abcd-n18-funding-obstruction/PAYLOAD-INVENTORY.json b/research/p104-abcd-n18-funding-obstruction/PAYLOAD-INVENTORY.json new file mode 100644 index 0000000000..4cccff0603 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/PAYLOAD-INVENTORY.json @@ -0,0 +1,177 @@ +{ + "files": { + "LICENSE": { + "bytes": 11357, + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + "NEXT.md": { + "bytes": 401, + "sha256": "dbc8ee9736bb6fe310baa9737742fe40b29929ab721a14e8c242cc0f63a02db7" + }, + "PROOF.md": { + "bytes": 4339, + "sha256": "742dfaeba01e5e736e195eaaef57b893c8f37184274389fdd7eb98cb245f4352" + }, + "PROVENANCE.json": { + "bytes": 1121, + "sha256": "349370bb927225a537c713ae00367fd7bf4e231c3ed16ce947d5ece6bdddc554" + }, + "README.md": { + "bytes": 7906, + "sha256": "cc436ad71229c7fcf4b28a98269f2bbf2d79c1cfa3769105e633aae74d4d3a19" + }, + "SOURCES.json": { + "bytes": 1311, + "sha256": "ea209825ae83121b3a7d64ec3daaf5d45eb89fe2f580d2c952dc0b585317e59e" + }, + "TASK.json": { + "bytes": 6886, + "sha256": "ee97d289ee253cebe7987d1bf70150c2e6bd7ab4e04118cfeda8c7915d7b9c35" + }, + "VERIFY.json": { + "bytes": 871, + "sha256": "bc2432a4b0b22971242ed7405c8679055d299f4158852dbc7fd0a5c910975289" + }, + "capsule/outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz": { + "bytes": 469619, + "sha256": "59768da554e11b11fae52d07f520f50684cc7a9ee0bec2873edbcd6b63814837" + }, + "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/CONTRACT.md": { + "bytes": 7213, + "sha256": "d93c5f566e92cb2cda102e0e5b351d78f042cbad59c6e7746e740cd6d20a4b45" + }, + "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json": { + "bytes": 5207, + "sha256": "bb2f90809704593e9f94da7f1006327af2177f9e64dc5181d549ca2c79fc50fa" + }, + "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/REQUEST.json": { + "bytes": 5638, + "sha256": "affa58572a019b90640961b57c2f93934ca3dc623192565f44892b635e62c5ce" + }, + "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/check.py": { + "bytes": 24907, + "sha256": "eea5e3f7625d3736e462843c07da328fa53648e1652851be1e0c89b2d24b4654" + }, + "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py": { + "bytes": 2935, + "sha256": "3caf6e41df983c4763f735bc1f1712e168ce5f2332283c4faa6509ef70e68444" + }, + "capsule/outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py": { + "bytes": 3857, + "sha256": "720153b7491acede2c66bdc2dfd3174653195fa3222ec3589d0671c406a5bad8" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json": { + "bytes": 3074, + "sha256": "5c3061c48cfc2a408cafe3e23f1050db0cc529179758b918547e9ed06bd3147a" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json": { + "bytes": 298, + "sha256": "d9f284021cb5f2757b05cbf5f979f5ba7cf7372993d65a2e060002aca7841fa8" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json": { + "bytes": 2528, + "sha256": "3c4d8db5a9695924027f5801901b55cefe0cdc5ea07450aaf396de7e5887e608" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py": { + "bytes": 1534, + "sha256": "14f28d0358c11d55683984f1037c23d58f7d8c9d69b8e23503545b0519246ab4" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json": { + "bytes": 16834, + "sha256": "6427e2c402d74b7c2aabb0ecbc2d3d5dce7fb6dcacdf368734d84be413415c78" + }, + "capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md": { + "bytes": 10027, + "sha256": "aaa4f1ea63e8d40da80f11e7dd649bd7848342e8e5bf5ae7dc6bcbc045c41967" + }, + "capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json": { + "bytes": 460, + "sha256": "6f10f298199b909eefdc371e61eed4cc5d9c8297245a830b75c7204197871d23" + }, + "capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json": { + "bytes": 6475, + "sha256": "8fc281dbc1a4e5868fb1085005eec5813ad2c34a628b8679a36f593790c49ced" + }, + "capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json": { + "bytes": 12153, + "sha256": "f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json": { + "bytes": 11625, + "sha256": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json": { + "bytes": 11625, + "sha256": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json": { + "bytes": 205424, + "sha256": "f5e65eed4d2ab3a7154bcdb631cdc48cef8c7ed7f8edad7a5481766b5055e5d8" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz": { + "bytes": 105115, + "sha256": "b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json": { + "bytes": 3179, + "sha256": "efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f" + }, + "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json": { + "bytes": 3752, + "sha256": "6926686ffb0af350f49dea191ce7b7160d8c8fada52fca15bb64895216cc01fa" + }, + "guidance/AGENTS.md": { + "bytes": 5963, + "sha256": "fbee67ab9e0ae4629a35fd9dba69c8f7e29e4a15392eb2d0f75d8768ffb65f40" + }, + "guidance/CONTRIBUTING.md": { + "bytes": 7505, + "sha256": "fcd1a8d0e52342a23b8ffa9e905e85ccc539fb084145ef016dfc93cedfb3d924" + }, + "guidance/docs/research/agent-procedure.md": { + "bytes": 30555, + "sha256": "a4893459ee74cfa5df69f6b1c8eccd8a04e1b95a5b0ca2b8d1840765356c34c5" + }, + "guidance/pull_request_template.md": { + "bytes": 1505, + "sha256": "6fffbdcc80d32daa5d6940b21f4c0e61df7e5f588a120374269ff28dac26c562" + }, + "guidance/research-package-guide-historical.md": { + "bytes": 21060, + "sha256": "d731952a85d1f9d95341ffc3ee0095a97dfbe6226c9dfc70bfee4a3b0727791d" + }, + "original-evidence/GUARD-RECEIPT.json": { + "bytes": 710, + "sha256": "3d93667a76c3b805adbbd86394d75a1bc40ece545b9acc5eef717391f03901a1" + }, + "original-evidence/GUARD-STDOUT.log": { + "bytes": 485, + "sha256": "720410f74180ad06cb583d86903e467b28d576dad4cfd71af59cac07806c0e38" + }, + "original-evidence/PAIR-RECEIPT.json": { + "bytes": 514, + "sha256": "52b9072cfa1929b5e4458000bc7a2555f8f95bb665fc04788261ad3fc746ba2f" + }, + "original-evidence/RESULT-normal.json": { + "bytes": 17370, + "sha256": "b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036" + }, + "original-evidence/RESULT-optimized.json": { + "bytes": 17370, + "sha256": "b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036" + }, + "original-evidence/STDERR-normal.txt": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "original-evidence/STDERR-optimized.txt": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "verify.py": { + "bytes": 6592, + "sha256": "eca1da6b6b564039085cd7ea64aa40856dc52833e58efabba597be7271738735" + } + }, + "schema": "p104-abcd-funding-portable-inventory/v1" +} diff --git a/research/p104-abcd-n18-funding-obstruction/PROOF.md b/research/p104-abcd-n18-funding-obstruction/PROOF.md new file mode 100644 index 0000000000..b9c8ac3aa3 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/PROOF.md @@ -0,0 +1,72 @@ +# Mathematical claim and exact verification boundary + +Let C be either33/10000or6600001/2000000000, t=1-C, u=1/5. +Use the exact source PR5580head6efa248cf456d6101d757e9d09ba29711d18a13a, +original18-call controller and retained cutoff17/floor18/decay97/100. +All helper targets, queries, whole idles, main banks and p7=14stay fixed. +Only nonnegative real p1,...,p6on the two invariant plane vary. + +The four signed exchange coordinate equations and their explicit inverse +are in the frozen capsule paper FUNDING-PLANE.md. They preserve rank mass5915 +and tag mass3458, where tag6=2and all other tags1. The affine inverse proves +that every profile in the plane lies in the signed ABCD closure. Nonnegative +profiles form the five-vertex simplex described in that paper. Finite checks +of origin and four coordinate directions establish the affine coefficient +identities; nonnegative-profile coverage is the accompanying algebraic proof, +not a finite sample or optimizer claim. + +Define R(p)=sum(p_r*r^t), S(p)=sum(p_r*r^(t+u)) over ranks1..6, +G=R(p0)-R(p), DeltaS=S(p)-S(p0). Complete raw surplus equals +18*(G-B18(C)), so the necessary alpha<1 requires G>B18(C). +B18strict lower bounds come from the authenticated previous25-control root +certificate f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de. +They apply to complete source moments and do not assume a particular source +delta ratio at the goal. The true reserve strengthens the raw requirement. + +For lambda799/10and the rational mu,nu in the result, all six ranks satisfy +r^(t+u)+lambda*r^t>=mu*r+nu*tag_r. Exact lower slacks at1,2are zero; +the other four are strictly positive. Multiplying by nonnegative p_r and +using the invariants yields S(p)+lambda*R(p)>=5915mu+3458nu. +The independently reproduced outward upper bound sigma_upper on the source +dual slack therefore proves DeltaS>=lambda*G-sigma_upper. Consequently +raw feasibility requires DeltaS>lambda*B18_lower-sigma_upper. + +The retained source gamma law is +M_P(t+u)/(17^u*M_T(t)), and delta is18|T|/(17^C*M_T(t)). +The current pricing.run formula, its actual verify.main/common.closure +callsite, exact retained archive/33member manifest, strictification module +and retained source PROOF are authenticated as source text. They are not +executed. The inherited analytic compiler framework remains a premise. +The exponent t+u>=1and strict rank conditions apply at source and both goals. + +The new source moment recount proves gamma(C0)>.965atC0=.0030818905: +use complete source P/T, the credited positive-C interval_math.power(r,C0), +exact outward10^24mesh, and integer-bisected fifth roots with +lo^5<=r<=hi^5for every used rank<=145. The source author interval is not +used as proof. This finite tail-moment extension is explicitly new; the +positive-C transcendental enclosure algorithm is credited reused work. + +At either goal let Delta=C-C0>0, K=17^(1/5), L=4.3177. +Since source paid ranks<=72, exp(-Delta*ln r)>=1-Delta*L implies +P_s(C)>=(1-Delta*L)*P_s(C0). Target moments decrease, T(C)<=T(C0). +Thus the complete gamma headroom W(C)=.97*K*T(C)-P_s(C) obeys +W(C)<=K*T(C0)*(.97-(1-Delta*L)*gamma(C0)). +The coarse bracket is positive; K<1.763andT(C0)<=242010give +W(C)/18<1.763*242010/18*(.97-.965*(1-Delta*4.3177)). +The result establishes this is strictly below the required DeltaS lower +bound at both points, contradicting simultaneous necessary raw/gamma tests. +The implication covers all nonnegative real invariant profiles and therefore +all integral or physically forward-realizable subsets in this exact scope. + +Finite rational sums certify the coarse log brackets. Cubic-lower and +quadratic-upper alternating exponential Taylor bounds reproduce the dual +outward endpoints; exact integer fifth powers certify all root brackets. +No float comparison, numerical optimizer, negative-C engine call or finite +search supplies the all-profile argument. Rational arithmetic supports the +stated analytic inequalities; this is not a proof-kernel formalization. + +The27controls are individually labelled in original-evidence/RESULT-normal.json. +Twenty-five are rejected. Two weaker-gamma sensitivity inputs lose strict +separation and are correctly classified inconclusive. Domain/point/sign +sanities do not establish physical source correctness. No n17, all-n, +changed-compiler, changed-tail or larger-family exclusion follows. diff --git a/research/p104-abcd-n18-funding-obstruction/PROVENANCE.json b/research/p104-abcd-n18-funding-obstruction/PROVENANCE.json new file mode 100644 index 0000000000..89aae1bf1f --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/PROVENANCE.json @@ -0,0 +1,18 @@ +{ + "actual_base": "32890bc5de034ab8fc93ac88ead7279a6a416d04", + "base_policy": "Exact available older canonical base; preserve absent unrelated tree references; no fetch, invented source bytes or unsupported head history pins.", + "guidance": "Exact base AGENTS, CONTRIBUTING, procedure and PR template; historical d277 package-guide explicitly labelled because32890guide object absent locally.", + "new_kappa": null, + "observed_canonical_main": "5e0052ca0aa3036a3afa8b0438927377c8d97d53", + "original_guard_elapsed_seconds": 0.7055592560063815, + "original_guard_sampled_rss_bytes": 50593792, + "original_request_sha256": "affa58572a019b90640961b57c2f93934ca3dc623192565f44892b635e62c5ce", + "original_result_sha256": "b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036", + "preparer_commit": false, + "preparer_external_writes": false, + "preparer_scientific_execution": false, + "registered_export_replay_status": "UNRUN_BY_PREPARER", + "schema": "p104-abcd-funding-portable-provenance/v1", + "source_head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "source_snapshot_utc": "2026-10-25T20:48:16Z" +} diff --git a/research/p104-abcd-n18-funding-obstruction/README.md b/research/p104-abcd-n18-funding-obstruction/README.md new file mode 100644 index 0000000000..6d8a108aab --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/README.md @@ -0,0 +1,139 @@ +# Scoped funding obstruction for the original n18 P104 ABCD family + +At C=.0033 and C=.0033000005, no nonnegative real paid profile in the signed +ABCD affine relaxation satisfies both necessary raw alpha<1 and gamma<.97 +with the original PR5580 n18 caller, cutoff17, floor18 and tail offset1/5. +This is a scoped mathematical obstruction with exact finite verification, +conditional on the retained source/controller and charged-compiler framework. +It is not a construction, new kappa, all-n obstruction or changed-route ceiling. + +The affine domain is exactly p1,...,p6>=0 with +sum(r*p_r)=5915, p1+p2+p3+p4+p5+2*p6=3458, fixedp7=14. Source helpers +{4:83,5:5,8:15,9:424} and every query/whole-idle/main coefficient stay fixed. +It includes signed reverse exchanges and arbitrary real pooling, so the +separator covers all integer and forward-realizable profiles in that domain. +Raw-profitable whole examples alone would not exclude partial mixtures; +the six-coefficient Farkas inequality covers the entire invariant plane. + +## Evidence and precise inequality + +The exact source is Ali Romman's PR5580 head +`6efa248cf456d6101d757e9d09ba29711d18a13a`. The complete source has66852paid +jobs,12814targets, paid rank mass241250 and target rank mass242010. Its local +paid profile is {1:2211,2:459,3:494,4:94,5:164,6:18,7:14}. No nonlocal line +is discarded. The raw author RESULT, historical derived serialization, +explicit curator revision, source text Git objects, binary WORD and retained +33-file closure are authenticated. Literal current pricing.run and its actual +closure callsite bind the gamma/delta formulas and retained parameters. + +The independently established source ratio is gamma(C0)>.965 at +C0=.0030818905. This lower bound is recomputed from complete source moments; +the author gamma quote is not accepted as its proof. Only the credited +qualified positive-C interval engine is reused. The new finite extension +certifies integer-bisected fifth roots by lo^5<=r<=hi^5, all ranks<=145. +Exact outward rounding to denominator10^24 keeps source summation bounded. + +For lambda=799/10, the exact rational dual proves +DeltaS>=lambda*G-sigma_upper for every nonnegative invariant profile. +The existing source-bound current B18 lower bounds make raw alpha<1 require +G>B18. Explicit source-to-goal transport bounds the available gamma headroom. + +| C | Required DeltaS strictly greater than | Available DeltaS strictly less than | +|---|---:|---:| +| .0033 | 228.36752123200990441786 | 140.05875521742568639125 | +| .0033000005 | 228.36810050287430728456 | 140.05880459876904242500 | + +The decimals describe exact rational bounds retained in the result. Source +gamma(C0) is not silently reused as gamma(C); transport uses paid rank<=72, +ln72<4.3177, 17^(1/5)<1.763 and target monotonicity. PROOF.md develops the +implication; the exact arithmetic and original contract remain in capsule/. + +The original guarded normal/-O pair passed in0.705559256seconds with +50,593,792bytes sampled peak descendant RSS under150seconds/512MiB. +Complete scientific output bytes matched, with zero excluded fields. +There are27classified controls:25rejections and2deliberately inconclusive +weakened-gamma sensitivities. The latter prevent a lost separator from +being reported as an exclusion. Sanity controls are labelled separately +from real accounting, source and certificate mutations. + +## Reproduction and portability + +```sh +python3 -B scripts/research_package.py --package research/p104-abcd-n18-funding-obstruction +``` + +VERIFY.json registers normal and optimized wrappers serially. Each wrapper +executes the unchanged original checker in an isolated private child, +timeout60seconds and512MiB address space, authenticating package/request +bytes before and after. Both original complete outputs and pair/guard +receipts are preserved, not regenerated in place. The wrapper requires +complete equality to original scientific SHA256 +`b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036`. + +Direct Git-free replay, including read-only packages and an empty PATH: + +```sh +/usr/bin/python3 -I -O -B research/p104-abcd-n18-funding-obstruction/verify.py +``` + +Expected marker: PASS_P104_ABCD_N18_FUNDING_OBSTRUCTION. +The portable wrapper and export remain UNRUN_BY_PREPARER. Their eventual +root receipts are separate evidence from the already completed original run. +No source constructor, native/outer/supplier package, optimizer or contact +search is run. All scientific inputs are internal committed capsule files. + +## Limits and overlap + +The weaker necessary alpha<1 condition suffices for this negative result; +the actual source reserve1e-10 only strengthens it. This package excludes +neither another n, changed tail parameters/compiler, changed helper targets, +new primitives nor a larger exchange family. The n17 delta paper is separate. +A raw controller optimum is not a funding optimum over controller counts. +No full source admission or formal proof-kernel/human acceptance is claimed. + +PR5577's original A/B/C pooled raw ceiling is an earlier different family; +PR5580's D opens raw possibility, motivating this joint funding discriminator. +PR5580's own lower source claim is not challenged. Physical frame optimization +in5575 and input/output basis work in5125 remain separate constructive work; +this package supplies no contacts, inventory or constructive search. +The retained20:48:16UTC curator snapshot found unchanged5580head, successful +hosted CI and no higher complete claim. It is not an exhaustive novelty claim +or a statement about later upstream changes. Root refreshes overlap before +submission; no feed or external write was performed during packaging. + +## Sources, credit and publication history + +A: Ali Romman PR5545. B/C: thu-nmrc PR5551 coupled-contact construction and +peer proof. D: Ali Romman PR5580. Preserve GamingPuzzled5569, +DreamingOfClouds5561, zxv/Cao Yifan interval/compiler pricing, Jacob Alan +Sussman productive recursion, Cinna Davis controller, and all retained native, +precision, geometry and analytic contributors. The qualified positive-C +power engine is reused with explicit credit, not independently reinvented. +Signed-affine/dual development and bounded independent qualification were +prepared for Chris R/Clear1nsight with substantial OpenAI Codex/Astra assistance. +Apache-2.0. No new construction or paid-profile improvement is supplied. + +Publication uses the available exact canonical32890bc5base. The later +5e0052cacanonical checkpoint and exact5580source head are recorded separately. +Pending source bytes are retained inside this committed package rather than +requiring unmerged Git objects. SOURCES.json declares only reachable base +catalogue/selected-record provenance. Source-history checks and a committed +read-only Git-free export are required separately before publication. +The base guidance/template are preserved; the package-guide file is an +explicit historical d277copy because that document's32890blob is absent +locally. No missing source byte is invented or lazily fetched. + +## Open next questions + +- Which explicit changed assumption would evade this obstruction? First name + a changed n, tail tuple, helper contract or exchange primitive, then derive + its complete paid/target moments. The present certificate cannot price or + fund that new route; a changed raw gain alone is insufficient. +- Can independent human or formal review accept the affine/Farkas and analytic + transport implications? First inspect PROOF.md, all six rational slacks, + exact source-law bindings and the two inconclusive sensitivities. No such + acceptance is supplied by finite replay. +- Does an independently supplied physical candidate meet the full compiler, + ordinary, native and precision conjunction? First map its actual source + objects and complete bill to applicable proof obligations. Constructive + work and its ownership must remain separate from this negative certificate. diff --git a/research/p104-abcd-n18-funding-obstruction/SOURCES.json b/research/p104-abcd-n18-funding-obstruction/SOURCES.json new file mode 100644 index 0000000000..4edddf5ffd --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/SOURCES.json @@ -0,0 +1,25 @@ +{ + "base_commit": "32890bc5de034ab8fc93ac88ead7279a6a416d04", + "complete_original_result_sha256": "b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036", + "files": [ + { + "git_blob": "fc3d4ba105e1f097d0d7d051a308281e86ab1446", + "path": "certificates/selected-result.json", + "sha256": "66974efdced4083c00025f97d95d83909a226cdf801edb9301c195c6641f6903", + "usage": "provenance" + }, + { + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "path": "docs/research/agent-task-catalog.json", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72", + "usage": "provenance" + } + ], + "original_request_sha256": "affa58572a019b90640961b57c2f93934ca3dc623192565f44892b635e62c5ce", + "runtime_source_policy": "All scientific input bytes including pending source/archive and inherited engine are internal authenticated capsule files; no external or unmerged Git object dependency.", + "schema_version": 1, + "scientific_input_manifest": "capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json", + "scope": "Original n18 signed-ABCD invariant family at two exact points and fixed source tail tuple; no new kappa.", + "source_head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "source_pr": 5580 +} diff --git a/research/p104-abcd-n18-funding-obstruction/TASK.json b/research/p104-abcd-n18-funding-obstruction/TASK.json new file mode 100644 index 0000000000..d57b0513b0 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/TASK.json @@ -0,0 +1,115 @@ +{ + "actual_scope": "Scoped necessary funding obstruction for all nonnegative signed-ABCD invariant paid profiles at original n18 and exactly .0033/.0033000005 with retained source tail/compiler route.", + "ai_assistance": "Substantial OpenAI Codex/Astra assistance for signed affine/Farkas proof, exact independent qualification and portable packaging; credited existing positive-C interval engine reused unchanged.", + "author": "Chris R (Clear1nsight), with substantial OpenAI Codex assistance", + "base_commit": "32890bc5de034ab8fc93ac88ead7279a6a416d04", + "bottleneck_link": "Raw profile improvements do not fund kappa if every raw-profitable member violates the retained gamma headroom.", + "budget_minutes": null, + "coordination_snapshot": "capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json", + "evidence": "original-evidence complete normal/-O results, pair and guard receipts; portable replay remains separate and unrun by preparer.", + "open_questions": [ + { + "blocked_by": "No changed route or physical candidate is supplied.", + "first_step": "Name the changed hypothesis and derive its complete paid/target moment bill before a new bounded qualification.", + "question": "Which explicit changed hypothesis evades the original n18 invariant-family obstruction?", + "why_it_matters": "The negative result closes this retained route, not other n/tail/helper/primitive contracts." + }, + { + "blocked_by": "A separate independent review is outside this submission.", + "first_step": "Review PROOF.md, six rational coefficient slacks, source-law bindings and sensitivity boundaries.", + "question": "Can independent human or formal review accept the all-profile and transport implications?", + "why_it_matters": "Exact finite verification does not itself provide proof-kernel or human acceptance." + } + ], + "original_card": { + "acceptance_gate": "An unchanged histogram is not a kappa gain; record any separate runtime or proof benefit explicitly.", + "allowed_variations": [ + "One existing scalar simplification and one proposed frame-path change." + ], + "bottleneck_link": "A legal change to the histogram, not addition count alone, is the bridge to an exponent gain.", + "existing_checks": [ + { + "evidence": "research/staged544-a2-graph-rewrite/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "scope": "PR #3998: consecutive A2 scalar contraction", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "389268a6b5e0373a3125d5c6fcd6995f4ea324f5", + "status": "author-checked" + }, + { + "evidence": "research/staged544-separated-a2/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "scope": "PR #4019: separated A2 sites with unchanged recursive histogram", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "f408e09df300b575235f7f77f81948071397e16d", + "status": "author-checked" + }, + { + "evidence": "research/staged544-a2-composition-audit/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "scope": "PR #4112: composition audit", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "205b7380656ba4b6316a8a493b1a3c679b8f7a0e", + "status": "author-checked" + }, + { + "evidence": "research/staged544-a1858-contraction-audit/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "scope": "PR #4152: A1858 contraction audit", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "caaa14cde5962adc372fdca71f63d0f29e73c8b2", + "status": "author-checked" + } + ], + "first_experiment": "Identify an actual paid transition to remove and construct a legal replacement frame itinerary, charging restoration, source windows and changed helpers. Compare complete before/after histograms. Stop if only scalar count changes; report that benefit honestly, without expanding the same scalar-only census.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read the A2 and separated-A2 constructions and their composition/contraction audits. Scalar contractions can preserve the complete recursive histogram; fewer ADDs alone do not justify further scans.", + "scope": "Source-binding orientation only; no scientific replay, theorem acceptance or supplier admission. Budget any heavy replay separately." + }, + "id": "scalar-to-moment", + "methods": [ + "Derive the changed legal frame itinerary and exact child histogram.", + "Prove a scoped obstruction showing why that scalar gain cannot change the paid contract." + ], + "overlap_terms": [ + "scalar simplification", + "paid profile", + "R439", + "3998", + "4019", + "4112", + "4152", + "staged544-a2-graph-rewrite", + "staged544-separated-a2", + "staged544-a2-composition-audit", + "staged544-a1858-contraction-audit" + ], + "question": "Can a changed frame itinerary remove a paid transition beyond the already covered scalar A2 contractions?", + "scope_change_triggers": [ + "Submitting only another scalar count as completion of a paid-profile task." + ], + "starting_points": [ + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "research/staged544-a2-graph-rewrite/README.md", + "research/staged544-separated-a2/README.md", + "research/staged544-a2-composition-audit/README.md", + "research/staged544-a1858-contraction-audit/README.md" + ] + }, + "outcome": "negative-result", + "priority_revision": 7, + "schema_version": 1, + "scope_change_reason": "Directed qualification of joint raw/tail feasibility after D opens raw possibility beyond the original A/B/C ceiling; no constructive frame search is performed.", + "scope_key": "p104-5580-n18-signed-abcd-original-tail-two-point-funding-obstruction", + "scope_status": "changed", + "stop_rule": "Two source-pinned points, original n18 and invariant ABCD plane only; no new kappa, all-n/changed-route claim or constructive search.", + "task_id": "scalar-to-moment", + "work_kind": "scoped-ceiling" +} diff --git a/research/p104-abcd-n18-funding-obstruction/VERIFY.json b/research/p104-abcd-n18-funding-obstruction/VERIFY.json new file mode 100644 index 0000000000..baaf26425b --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/VERIFY.json @@ -0,0 +1,28 @@ +{ + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "checks": "Authenticate complete capsule/original request; reproduce unchanged exact n18 source gamma and two-point all-profile Farkas certificate;25rejections+2inconclusive sensitivities; complete original bytes; no new kappa.", + "timeout_seconds": 70 + }, + { + "argv": [ + "{python}", + "-O", + "-B", + "{package}/verify.py" + ], + "checks": "Authenticate complete capsule/original request; reproduce unchanged exact n18 source gamma and two-point all-profile Farkas certificate;25rejections+2inconclusive sensitivities; complete original bytes; no new kappa.", + "timeout_seconds": 70 + } + ], + "inputs": [], + "python": "3.12", + "requirements": [], + "schema_version": 1, + "status": "ready" +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz new file mode 100644 index 0000000000..3084088544 Binary files /dev/null and b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz differ diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/CONTRACT.md b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/CONTRACT.md new file mode 100644 index 0000000000..29ad224302 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/CONTRACT.md @@ -0,0 +1,121 @@ +# One finite n18 signed-ABCD necessary funding qualification + +Prepared 26 October 2026. **STATIC_ONLY_NOT_RUN_BY_PREPARER**. Root alone +may execute one frozen normal/-O pair under the existing serial 150 second, +512 MiB guard, each child at most 60 seconds. No automatic rerun or resource +increase. Existing attempts and all frozen input bytes must be preserved. + +The source is Ali Romman's PR5580 head +`6efa248cf456d6101d757e9d09ba29711d18a13a`. The original 18-call route, +104 ports, b=8 controller, cutoff17, floor18, offset1/5 and decay97/100 +are retained. The two points are exactly 33/10000 and 6600001/2000000000. +No all-n funding or universal compiler conclusion is requested. The n17 +delta paper is separate and is not promoted by this n18 certificate. + +## Custody and source invoice + +The raw author RESULT, historical derived RESULT and curator's explicit +raw-derived custody revision are independently hash-bound. Every captured +text Git blob and binary WORD Git blob is checked, and raw author RESULT +bytes must equal the capture. The existing root result +`f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de` +and its request/pair are authenticated, including its 25 classified +controls. It supplies the already-qualified current B18 strict lower +bounds at both declared points, valid for the retained source/controller +bill; no author delta ratio is substituted for those moment bounds. + +The literal WORD's MOVE dimensions and declared helper endpoint ranks are +recounted structurally, then checked against the current root card and raw +author RESULT. This is a cost census, not a row interpreter, ownership or +chronological chart legality proof. The complete 18-call invoices are +rebuilt from local P={1:2211,2:459,3:494,4:94,5:164,6:18,7:14} and +H={4:83,5:5,8:15,9:424}, 15 charged queries, both 7/8 whole-idle sides, +and all main targets. Exact source totals are 66852 paid jobs, 12814 +targets, paid rank mass241250 and target rank mass242010. The maximum paid +rank is72 and maximum target rank145. The latest retained curator manifest +20261025T204816Z records this unchanged source head and hosted CI success, +with no higher complete claim captured. That checkpoint is a snapshot, +not a claim about future upstream state. + +## Explicit finite engine extension + +Only the already-qualified `successor-price-gate/sources/interval_math.py` +positive-C `power(r,C0)` routine is reused, with C0=6163781/2000000000. +Its engine qualification input/result/pair and exact code are frozen. +This is disclosed reuse, not an independently implemented power engine. +No negative-C calls, outer predicates, supplier package, native engine or +full source pricing package are executed. + +The new finite extension computes fifth-root brackets by integer bisection +on a denominator10^12 mesh for exactly the source ranks and cutoff17, +all at most145. Every computed lo/hi pair must satisfy +`lo^5 <= r <= hi^5` by exact rational/integer multiplication. Multiplying +those positive brackets by the retained positive-C power bounds certifies +each r^(6/5-C0). The complete paid tail lower divided by the cutoff fifth +root upper and complete target moment upper independently proves +gamma(C0)>193/200. The author gamma quote is authenticated source text +but is never used as the proof of this lower bound. +The reused engine's endpoints are first rounded outward by exact integer +floor/ceiling to denominator10^24. Enclosure and mesh width are checked; +this avoids a cross-rank denominator product without any float decision. + +The exact retained closure archive is independently joined to current +SOURCES.json by its archive hash, 33-file export manifest, sizes and every +member hash. Its strictification.verify.tail_certificate gamma/delta +formulas, original pr5545 PROOF route, current verify.main closure/run +callsite, and literal current pricing.run parameters and formulas are +bound by explicit static source checks. The source code is read only. +Only the separately qualified positive-C interval engine is imported. + +## All-profile dual and transported headroom + +The mathematical input is Astra's frozen signed-ABCD funding-plane paper. +The exact affine maps/inverse are verified as affine coefficient identities +using origin and four independent directions. The five simplex vertices +are also checked. Every nonnegative profile on the invariant plane has +sum(r*p_r)=5915 and sum(p1..p5)+2p6=3458, fixedp7=14. The source helpers, +rank7 and all nonlocal terms cancel only because those coefficients are +fixed. No finite enumeration is presented as an all-profile proof. + +Independent N32 rational atanh sums certify the paper's coarse log bounds. +Cubic lower/quadratic upper alternating exponential polynomials and exact +fifth-power tests reproduce every six-rank outward endpoint, lambda799/10, +mu/nu, all six slacks (including exact zeros at1,2), and the source dual +slack upper bound. Multiplying by arbitrary nonnegative profile entries +is the paper Farkas argument. The resulting lower bound on required local +tail increase is lambda*B18_lower-sigma_upper. + +The headroom transport retains different source and goal points. Paid +rank<=72 gives P_s(C)>=(1-(C-C0)*4.3177)*P_s(C0); targets decrease with C. +Independent rational log bounds prove ln72<4.3177, and 1.763^5>17. With +the independently certified gamma(C0)>.965 and target mass242010, +the available local tail increase is strictly below +`1.763*242010/18*(.97-.965*(1-(C-C0)*4.3177))`. +The checker requires this positive upper bound to lie strictly below the +required lower bound at both points. This proves a scoped necessary +funding obstruction, conditional on the retained source/controller and +paper analytic implications, and does not establish a new kappa. + +## Controls and boundary + +27 classified controls are declared: 12 real source/accounting mutations +(query, idle, main target, helper, p7, predecessor comparison, source C0, +cutoff, floor, tau, caller and the retained gamma formula callsite), two invariant mutations, two power-bound +mutations, and per-point dual sign sanity, gamma premise sanity, required +gain denominator mutation, rank6 slack mutation and weakened gamma +sensitivity. The weakened-gamma controls must return **inconclusive** +because the headroom no longer separates; they must never yield a false +family exclusion. A source-ratio-reused-at-goal label sanity is also +declared. Sanities are identified and are not counted as physical/source +semantic validation. No ownership, compiler, native, source constructive +contacts or ordinary funding predicates are inferred from these controls. + +Credit: A is Ali Romman's PR5545, B/C the PR5551 coupled-contact work and +peer proof, D Ali Romman's PR5580; the retained source controller, native, +precision and compiler work remains credited to its authors. Astra's paper +supplies the signed affine relaxation and rational Farkas separator. This +qualification supplies exact custody joins, source moment recount, finite +fifth-root extension, and reproducible two-mode checks with OpenAI Codex +assistance. No original frozen artifact is edited. No source constructor, +contact/basis/frame search, native replay, external post or selected-record +promotion is part of this request. diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json new file mode 100644 index 0000000000..ff0f16e954 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json @@ -0,0 +1,41 @@ +{ + "capture": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json", + "checkpoint": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json", + "closure": "outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz", + "engine": "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py", + "engine_inputs": "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json", + "engine_pair": "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json", + "engine_result": "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json", + "files": { + "outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz": "59768da554e11b11fae52d07f520f50684cc7a9ee0bec2873edbcd6b63814837", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json": "5c3061c48cfc2a408cafe3e23f1050db0cc529179758b918547e9ed06bd3147a", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json": "d9f284021cb5f2757b05cbf5f979f5ba7cf7372993d65a2e060002aca7841fa8", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json": "3c4d8db5a9695924027f5801901b55cefe0cdc5ea07450aaf396de7e5887e608", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py": "14f28d0358c11d55683984f1037c23d58f7d8c9d69b8e23503545b0519246ab4", + "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json": "6427e2c402d74b7c2aabb0ecbc2d3d5dce7fb6dcacdf368734d84be413415c78", + "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md": "aaa4f1ea63e8d40da80f11e7dd649bd7848342e8e5bf5ae7dc6bcbc045c41967", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json": "6f10f298199b909eefdc371e61eed4cc5d9c8297245a830b75c7204197871d23", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json": "8fc281dbc1a4e5868fb1085005eec5813ad2c34a628b8679a36f593790c49ced", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json": "f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json": "f5e65eed4d2ab3a7154bcdb631cdc48cef8c7ed7f8edad7a5481766b5055e5d8", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz": "b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json": "efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json": "6926686ffb0af350f49dea191ce7b7160d8c8fada52fca15bb64895216cc01fa" + }, + "paper": "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json", + "paper_proof": "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md", + "preparation_status": "STATIC_ONLY_NOT_RUN_BY_PREPARER", + "prior_pair": "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json", + "prior_request": "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json", + "prior_result": "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json", + "prior_root_result_sha256": "f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de", + "revision": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json", + "schema": "finite-n18-funding-plane-inputs/v1", + "source_derived": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json", + "source_head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "source_moment_extension": "Reuse qualified C-positive power engine at C0 only; exact outward24decimal mesh then integer-certified fifth-root intervals; no negative-C call.", + "source_raw": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json", + "word": "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz" +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/REQUEST.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/REQUEST.json new file mode 100644 index 0000000000..a925d89b8f --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/REQUEST.json @@ -0,0 +1,81 @@ +{ + "C0": "6163781/2000000000", + "caller": 18, + "cutoff": 17, + "decay": "97/100", + "execution_owner": "root only after accepting frozen request", + "expected_controls": 27, + "expected_inconclusive_sanity_controls": 2, + "files": { + "outputs/continuous-kappa-process-20261026/admission-map/pr5580-native-nomination/sources/pr5545-source-closure.tar.gz": "59768da554e11b11fae52d07f520f50684cc7a9ee0bec2873edbcd6b63814837", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/CONTRACT.md": "d93c5f566e92cb2cda102e0e5b351d78f042cbad59c6e7746e740cd6d20a4b45", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/INPUTS.json": "bb2f90809704593e9f94da7f1006327af2177f9e64dc5181d549ca2c79fc50fa", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/check.py": "eea5e3f7625d3736e462843c07da328fa53648e1652851be1e0c89b2d24b4654", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py": "3caf6e41df983c4763f735bc1f1712e168ce5f2332283c4faa6509ef70e68444", + "outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py": "720153b7491acede2c66bdc2dfd3174653195fa3222ec3589d0671c406a5bad8", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json": "5c3061c48cfc2a408cafe3e23f1050db0cc529179758b918547e9ed06bd3147a", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json": "d9f284021cb5f2757b05cbf5f979f5ba7cf7372993d65a2e060002aca7841fa8", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json": "3c4d8db5a9695924027f5801901b55cefe0cdc5ea07450aaf396de7e5887e608", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py": "14f28d0358c11d55683984f1037c23d58f7d8c9d69b8e23503545b0519246ab4", + "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json": "6427e2c402d74b7c2aabb0ecbc2d3d5dce7fb6dcacdf368734d84be413415c78", + "outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md": "aaa4f1ea63e8d40da80f11e7dd649bd7848342e8e5bf5ae7dc6bcbc045c41967", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json": "6f10f298199b909eefdc371e61eed4cc5d9c8297245a830b75c7204197871d23", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json": "8fc281dbc1a4e5868fb1085005eec5813ad2c34a628b8679a36f593790c49ced", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json": "f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json": "f5e65eed4d2ab3a7154bcdb631cdc48cef8c7ed7f8edad7a5481766b5055e5d8", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz": "b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json": "efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json": "6926686ffb0af350f49dea191ce7b7160d8c8fada52fca15bb64895216cc01fa" + }, + "floor": 18, + "forbidden": [ + "Any source construction/physical contact/native/outer/supplier package execution", + "Any contact/frame/basis optimizer, feed/search, external posting or publication", + "New kappa, all-n funding exclusion, changed compiler route or higher-C theorem", + "Frozen input mutation, automatic retry or resource increase" + ], + "goals": [ + "33/10000", + "6600001/2000000000" + ], + "guard_command": [ + "python3", + "-B", + "outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py", + "--name", + "funding-plane-qualification", + "--seconds", + "150", + "--memory-mib", + "512", + "--cwd", + "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453", + "--", + "python3", + "-B", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py" + ], + "memory_mib": 512, + "modes": [ + "normal", + "optimized" + ], + "new_kappa": null, + "no_automatic_rerun": true, + "per_child_seconds": 60, + "physical_witness": false, + "preparation_status": "STATIC_ONLY_NOT_RUN_BY_PREPARER; AST/JSON/custody preparation only", + "schema": "bounded-n18-funding-plane-qualification/v1", + "scientific_scope": [ + "Exact raw/derived/capture/closure source custody and literal formula/callsite binding; structural source invoice recount", + "New finite fifth-root extension to credited positive-C engine; independent gamma(C0)>.965 source moment bound", + "Exact two-point signed-ABCD invariant-plane Farkas separator and explicit source-to-goal headroom transport" + ], + "source_gamma_independent_lower_target": "193/200", + "source_head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "stop_after_one_pair": true, + "tail_offset": "1/5", + "total_seconds": 150 +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/check.py b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/check.py new file mode 100644 index 0000000000..33e496a5a9 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/check.py @@ -0,0 +1,365 @@ +#!/usr/bin/env python3 +"""Finite n18 ABCD funding separator, for one root-owned guarded execution. + +Exact Fractions throughout. Credits: source and paper authors in CONTRACT.md; +positive-C power algorithm is the retained, qualified interval_math.py engine. +The finite integer fifth-root extension is new and explicitly certified here. +Apache-2.0; substantial OpenAI Codex assistance. +""" +import base64 +from copy import deepcopy +from fractions import Fraction as Q +import gzip +import hashlib +import importlib.util +import io +import json +from pathlib import Path +import tarfile + +B=Path(__file__).resolve().parent +ROOT=B.parents[2] +HEAD='6efa248cf456d6101d757e9d09ba29711d18a13a' +PRIOR='f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de' +P0={1:2211,2:459,3:494,4:94,5:164,6:18,7:14} +H0={4:83,5:5,8:15,9:424} +C0=Q(6163781,2000000000) +GOALS=(Q(33,10000),Q(6600001,2000000000)) + + +def need(condition,message): + if not condition:raise ValueError(message) + + +def sha(raw):return hashlib.sha256(raw).hexdigest() +def blob(raw):return hashlib.sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest() +def hist(h):return {int(r):Q(n) for r,n in h.items() if Q(n)} +def show(h):return {str(r):str(n) for r,n in sorted(h.items()) if n} +def mass(h):return sum((r*n for r,n in h.items()),Q(0)) +def bounds(h):return [str(h[0]),str(h[1])] + + +def outward_mesh(interval): + # Exact rounding prevents a cross-rank denominator product in source sums. + unit=10**24;a,b=interval + lo=Q((a*unit).__floor__(),unit);hi=Q(-((-b*unit).__floor__()),unit) + need(lo<=a<=b<=hi and hi-lo= 1, 'tail moment exponent at least one')" in verify, + 'retained strictification.tail_certificate gamma/delta formula and applicability') + need('Cutoff 17, floor 18, tail offset' in proof and '1/5' in proof and + 'All completion, splitting, capacity, compiler-grid, BIT-stock and 58 outer' in proof, + 'retained source PROOF declares original charged compiler route') + need("with closure() as root:" in current_verify and + "L = load(root/'research/p104-productive-controller/local.py', 'local')" in current_verify and + 'L.ROOT = root' in current_verify and 'result = P.run(local, native, caller, physical)' in current_verify and + "pins=json.loads((HERE/'SOURCES.json').read_bytes())['retained_source']" in current_common, + 'current verify.main joins exact retained closure to current pricing.run') + + +def affine(a,b,c,d): + return {1:2211-a+b+c,2:459-2*b-c+d,3:494+b-2*d,4:94-c+d,5:164-a+c,6:18+a,7:14} + + +def inverse(p): + return (p[6]-18,p[3]+2*p[4]+2*p[5]+2*p[6]-1046,p[5]+p[6]-182,p[4]+p[5]+p[6]-276) + + +def invariant(p,tag=None,rank_mass=5915,tag_mass=3458): + if tag is None:tag={r:1+(r==6) for r in range(1,7)} + need(set(p)==set(range(1,8)) and all(x>=0 for x in p.values()) and p[7]==14,'nonnegative six-rank profile and fixed p7') + need(sum(r*p[r] for r in range(1,7))==rank_mass and + sum(tag[r]*p[r] for r in range(1,7))==tag_mass,'two affine invariants with rank6 tag weight two') + need(affine(*inverse(p))==p,'explicit signed ABCD affine inverse') + + +def log_rank(r): + # Independent finite atanh sum; no real logarithm routine. + # For u in [1,2], z in [0,1/3], ln u = 2 sum z^(2j+1)/(2j+1). + def unit(u): + z=(u-1)/(u+1);need(0<=z<=Q(1,3),'finite log domain') + s=2*sum((z**(2*j+1)/Q(2*j+1) for j in range(32)),Q(0)) + tail=2*z**65/(65*(1-z*z)) + return s,s+tail + k=r.bit_length()-1 + a,b=unit(Q(r,2**k));l,u=unit(Q(2)) + return a+k*l,b+k*u + + +def fifth_bracket(r): + # Integer bisection at fixed rational mesh, with explicit fifth-power proof. + need(type(r) is int and 1<=r<=145,'finite fifth-root rank range') + scale=10**12;low=0;high=3*scale + while high-low>1: + mid=(low+high)//2 + if mid**5<=r*scale**5:low=mid + else:high=mid + lo,hi=Q(low,scale),Q(high,scale) + need(lo**5<=r<=hi**5 and hi-lo==Q(1,scale),'certified integer fifth-root enclosure') + return lo,hi + + +def rational_goal_bounds(c,paper): + need(c in GOALS,'two predeclared goal points only') + result={} + for r in range(1,7): + l,u=map(Q,paper['log_brackets'][str(r)]);actual=log_rank(r) + need(l<=actual[0]<=actual[1]<=u,'independently certified inherited rational log brackets') + qlo,qhi=map(Q,paper['fifth_root_brackets'][str(r)]) + need(qlo**5<=r<=qhi**5 and 00 for r in range(3,7)), + 'six dual coefficient inequalities, rank1/rank2 exact and rank6 tag2') + sigma=sum((P0[r]*(v[r]['tail'][1]+lam*v[r]['raw'][1]) for r in range(1,7)),Q(0))-5915*mu-3458*nu + b18=Q(prior_point['B18_current_tight'][0]) + required=lam*b18-sigma + need(C017 and log_rank(72)[1]0,'positive structural MOVE rank');p[r]=p.get(r,0)+1 + live=set(word['live']) + for owner in range(735): + if owner not in live and owner-112 not in live: + r=dims[word['final'][owner]]-dims[word['initial'][owner]];need(r>0,'positive structural helper rank');h[r]=h.get(r,0)+1 + need(word['public']==735 and len(word['program'])==25140 and p==hist(prior['current_local_paid']) and + h==hist(prior['current_helpers']),'independent source structural rank census agrees with qualified current card') + paid,targets=full_invoice(p,h);source_scope(source,paid,targets,p,h) + paper=load('paper');need(paper['source_funding_input']['C0']==str(C0),'paper source C0') + need(paper['two_invariants']['rank_mass_first_six']==5915 and paper['two_invariants']['tag_mass']==3458 and + paper['two_invariants']['tag_weights']=={str(r):1+(r==6) for r in range(1,7)},'paper invariant declaration') + invariant(P0) + # Because these maps are affine, origin and four independent coordinate + # directions prove the displayed inverse/invariants as coefficient identities. + for args in ((0,0,0,0),(1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1)): + v=affine(*args);need(inverse(v)==args,'affine coefficient inverse');invariant(v) + for r in range(2,7): + v={k:Q(0) for k in range(1,8)};v[7]=14 + # r6 has tag2, hence a distinct simplex endpoint. + denom=r-(2 if r==6 else 1);v[r]=Q(2457,denom);v[1]=3458-(2 if r==6 else 1)*v[r] + invariant(v) + spec=importlib.util.spec_from_file_location('credited_positive_C_interval_math',ROOT/pins['engine']) + engine=importlib.util.module_from_spec(spec);spec.loader.exec_module(engine) + # New finite tail extension: every rank is evaluated only at positive C0; + # multiply credited r^(1-C0) enclosures by independently certified r^(1/5). + ranks=sorted(set(paid)|set(targets)|{17}) + need(max(ranks)<=145 and 0=1 and all(1-c+Q(1,5)>=1 for c in GOALS) and 1<17<18<145, + 'retained strictification tail-exponent/rank applicability at source and both goals') + power={r:outward_mesh(engine.power(r,C0)) for r in ranks};roots={r:fifth_bracket(r) for r in ranks} + p_tail=(sum((n*power[r][0]*roots[r][0] for r,n in paid.items()),Q(0)), + sum((n*power[r][1]*roots[r][1] for r,n in paid.items()),Q(0))) + target=(sum((n*power[r][0] for r,n in targets.items()),Q(0)), + sum((n*power[r][1] for r,n in targets.items()),Q(0))) + gamma=(p_tail[0]/(roots[17][1]*target[1]),p_tail[1]/(roots[17][0]*target[0])) + need(Q(193,200)=Q(points[i]['necessary_tail_increment_per_FULL_strict_lower']),'weakened-gamma boundary loses separation') + controls['weakened_gamma_no_false_exclusion_'+str(i)]={'outcome':'inconclusive_as_required','strength':'analytic sensitivity sanity','available_headroom':str(avail)} + controls['source_ratio_reused_at_goal']=rejected(lambda:need(C0==GOALS[0],'C0 differs from goal; transport required'), + 'analytic point-label sanity only, not a source mutant') + controls['retained_gamma_formula_callsite']=rejected(lambda:bind_formula(pricing.replace('E.moment(P,t+u)','E.moment(P,t)'),strict,proof,current_verify,current_common), + 'real current compiler callsite formula mutation; code read only') + result={'schema':'finite-n18-abcd-funding-separator/v1','status':'PASS_SCOPED_N18_ABCD_NECESSARY_FUNDING_OBSTRUCTION', + 'reviewed_head':HEAD,'prior_25_control_result_sha256':PRIOR,'source_C0':str(C0), + 'retained_compiler_guard_binding':{'source_archive_sha256':sha(archive),'source_archive_commit':declared['commit'], + 'current_pricing_Git_blob':text['research/p104-event-contact-step/pricing.py']['sha'], + 'strictification_module_sha256':sha(payload['research/higher-moment-strictification/verify.py']), + 'source_PROOF_sha256':sha(payload['research/p104-full-frame-contact/PROOF.md']), + 'gamma':'M_P(1-C+1/5)/(17^(1/5)*M_T(1-C))','delta':'18*|T|/(17^C*M_T(1-C))', + 'applicability':'1-C+1/5 >=1, retained cutoff17=1-Delta L and target monotonicity. Not a proof-kernel theorem.', + 'source_census_scope':'Structural MOVE dimensions and declared helper endpoint dimensions only; source physical legality, caller semantics, native and compiler theorems inherited.', + 'physical_witness':False,'new_kappa':None,'selected_promotion':False,'n17_funding_claim':False,'all_n_funding_claim':False, + 'compiler_universal_claim':False,'source_gamma_author_interval_used_as_proof':False, + 'credit':'Ali Romman PR5580/A; thu-nmrc PR5551 B/C; source controller/compiler/precision/native predecessors; Astra ABCD dual paper; Clear1nsight qualification; OpenAI Codex assistance.'} + print(json.dumps(result,sort_keys=True,separators=(',',':'))) + + +if __name__=='__main__':main() diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py new file mode 100644 index 0000000000..883a36e83b --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +"""One root-only frozen normal/-O n18 funding-plane qualification pair.""" +import hashlib +import json +from pathlib import Path +import subprocess +import sys +import tempfile + +B=Path(__file__).resolve().parent +ROOT=B.parents[2] + + +def need(condition,message): + if not condition:raise ValueError(message) + + +def main(): + raw_request=(B/'REQUEST.json').read_bytes();request=json.loads(raw_request) + need(request['schema']=='bounded-n18-funding-plane-qualification/v1','request schema') + need(request['modes']==['normal','optimized'] and request['total_seconds']==150 and + request['memory_mib']==512 and request['per_child_seconds']==60,'frozen serial resource contract') + for name,expected in request['files'].items(): + need(hashlib.sha256((ROOT/name).read_bytes()).hexdigest()==expected,'frozen request byte '+name) + names=['RESULT-normal.json','RESULT-optimized.json','STDERR-normal.txt','STDERR-optimized.txt','PAIR-RECEIPT.json'] + need(not any((B/name).exists() for name in names),'preserve existing attempted pair; no automatic rerun') + for mode,flags in [('normal',[]),('optimized',['-O'])]: + with tempfile.TemporaryDirectory(prefix='funding-plane-bytecode-') as cache: + with (B/('RESULT-'+mode+'.json')).open('xb') as out,(B/('STDERR-'+mode+'.txt')).open('xb') as err: + child=subprocess.run([sys.executable,'-I','-X','pycache_prefix='+cache,*flags,'-B',str(B/'check.py')], + cwd=ROOT,stdout=out,stderr=err,timeout=60) + need(child.returncode==0 and (B/('STDERR-'+mode+'.txt')).stat().st_size==0,'mode failed '+mode) + result=json.loads((B/('RESULT-'+mode+'.json')).read_bytes()) + need(result['status']=='PASS_SCOPED_N18_ABCD_NECESSARY_FUNDING_OBSTRUCTION','scientific marker '+mode) + controls=result['mutation_controls'] + need(len(controls)==27 and all(v['outcome'] in ('rejected','inconclusive_as_required') for v in controls.values()) and + sum(v['outcome']=='inconclusive_as_required' for v in controls.values())==2,'27 classified controls '+mode) + left,right=((B/('RESULT-'+mode+'.json')).read_bytes() for mode in ('normal','optimized')) + need(left==right,'complete scientific normal/-O bytes differ') + receipt={'schema':'exact-pair-equality/v2','modes':2,'complete_output_equal':True,'scientific_fields_excluded':0, + 'result_sha256':hashlib.sha256(left).hexdigest(),'request_sha256':hashlib.sha256(raw_request).hexdigest(), + 'scope':'Finite necessary funding obstruction for all nonnegative real invariant ABCD profiles at original n18 and two fixed points, retained cutoff17/floor18/tau1/5/.97 only. No physical contacts or new kappa.'} + with (B/'PAIR-RECEIPT.json').open('x') as stream:stream.write(json.dumps(receipt,sort_keys=True,indent=2)+'\n') + print(json.dumps(receipt,sort_keys=True,separators=(',',':'))) + + +if __name__=='__main__':main() diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py new file mode 100644 index 0000000000..84af5ed235 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 +"""Serial local research executor with sampled descendant RSS and timeout.""" +import argparse +import fcntl +import hashlib +import json +import os +from pathlib import Path +import signal +import subprocess +import sys +import time + + +def tree_memory(root_pid): + records = {} + for p in Path('/proc').iterdir(): + if not p.name.isdecimal(): + continue + try: + info = (p/'stat').read_text().rsplit(')', 1)[1].split() + records[int(p.name)] = (int(info[1]), int(info[21]) * os.sysconf('SC_PAGE_SIZE')) + except (OSError, ValueError, IndexError): + continue + todo = [root_pid] + seen = set() + while todo: + pid = todo.pop() + if pid in seen: + continue + seen.add(pid) + todo.extend(p for p,(parent,_) in records.items() if parent == pid) + return sum(records.get(p,(0,0))[1] for p in seen), len(seen) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--name', required=True) + ap.add_argument('--seconds', type=float, default=150) + ap.add_argument('--memory-mib', type=int, default=1024) + ap.add_argument('--cwd', type=Path) + ap.add_argument('command', nargs=argparse.REMAINDER) + args = ap.parse_args() + command = args.command[1:] if args.command[:1] == ['--'] else args.command + if not command or args.seconds <= 0 or not (0 < args.memory_mib <= 1024): + ap.error('command, positive timeout, and memory <= 1024 MiB required') + workspace = Path(__file__).resolve().parents[1] + out = workspace/'runs'/args.name + out.mkdir(exist_ok=False) + cwd = (args.cwd or workspace).resolve() + lock = (workspace/'coordination'/'heavy.lock').open('w') + fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB) + started = time.monotonic() + env = dict(os.environ) + env.update(PYTHONDONTWRITEBYTECODE='1', OMP_NUM_THREADS='1', OPENBLAS_NUM_THREADS='1', MKL_NUM_THREADS='1') + peak = 0 + samples = 0 + cause = None + with (out/'stdout.log').open('wb') as log: + proc = subprocess.Popen(command, cwd=cwd, stdout=log, stderr=subprocess.STDOUT, env=env, start_new_session=True) + try: + while proc.poll() is None: + rss, count = tree_memory(proc.pid) + peak = max(peak, rss) + samples += 1 + if rss > args.memory_mib * 1024**2: + cause = 'memory_limit' + elif time.monotonic() - started > args.seconds: + cause = 'timeout' + if cause: + os.killpg(proc.pid, signal.SIGTERM) + try: + proc.wait(timeout=2) + except subprocess.TimeoutExpired: + os.killpg(proc.pid, signal.SIGKILL) + break + time.sleep(0.1) + code = proc.wait() + except BaseException: + try: + os.killpg(proc.pid, signal.SIGKILL) + except ProcessLookupError: + pass + proc.wait() + raise + receipt = {'schema':'serial-research-run/v1','command':command,'cwd':str(cwd), + 'exit_code':code,'termination':cause,'elapsed_seconds':time.monotonic()-started, + 'sampled_peak_descendant_rss_bytes':peak,'rss_samples':samples, + 'memory_limit_mib':args.memory_mib,'timeout_seconds':args.seconds, + 'python':sys.version,'log_sha256':hashlib.sha256((out/'stdout.log').read_bytes()).hexdigest(), + 'scope':'Fresh command execution only; scientific claim determined by reviewed output.'} + (out/'RECEIPT.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps(receipt)) + return 0 if code == 0 and not cause else 1 + + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json new file mode 100644 index 0000000000..60a33c22f7 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-INPUTS.json @@ -0,0 +1,28 @@ +{ + "schema": "p104-focused-review-inputs/v1", + "base": "32890bc5de034ab8fc93ac88ead7279a6a416d04", + "reviewed_head": "18968423711fd902aaee1099979497d55603e1dc", + "predecessor": "e2a6cce2f9db5a2c5f9714f4b9e5292dd3a10581", + "captured_utc": "2026-10-25T10:37:35.432621+00:00", + "files": { + "outputs/p104-contact-reassessment-20261025/sources/contact/PROOF.md": "1961e8b8be133cee19ec2523f6ba40da02905444a8c9601e97f66627b1129b32", + "outputs/p104-contact-reassessment-20261025/sources/contact/SOURCES.json": "42a7f956bf450c15a92449e285bd2b355159cc99e78bc1d815a4b902221ab89f", + "outputs/p104-contact-reassessment-20261025/sources/contact/TASK.json": "ae1aff13f641c94a977599c1946dd0ff678daae51aad83662aa7056626e0dee6", + "outputs/p104-contact-reassessment-20261025/sources/contact/README.md": "19fec538e0eae59eeef90099ab220bef820467272410533fc95ee6236f44c4cd", + "outputs/p104-contact-reassessment-20261025/sources/contact/construct.py": "b95eeb2c21c9e2d97d9a441483aa398e38eba65ecec57241bce77cd1234682d0", + "outputs/p104-contact-reassessment-20261025/sources/contact/VERIFY.json": "4543e838e81dff7cceb7f539a94eedbd891ed5330518e55e997ba93ec4f51356", + "outputs/p104-contact-reassessment-20261025/sources/contact/pricing.py": "f74461d08c1cfdb9d500ac4f0da11f1b2d66a149bb342145b9aab9df703017a9", + "outputs/p104-contact-reassessment-20261025/sources/contact/RESULT.json": "b1dc682a4d9db5a726fbdf5c05c081f3c9ff9816829e5d8c900db1904a1f98c1", + "outputs/p104-contact-reassessment-20261025/sources/contact/verify.py": "24074e4e954cf455b207ff346c7d983d51c06e1fa967747bc98e8f24f5bd1f80", + "outputs/p104-contact-reassessment-20261025/sources/contact/WORD.json.gz": "a1e416add9d2bb44fce923111ebc50513e5d845e56aabe214f2f0bc7d5f2b45d", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/caller.py": "300d40043953e4f6aecfde8f2d1004b8ad6dc5a79ec3c7666c9908c2466c91c8", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/CONTROLLER.json": "a84f6bbd547379597464e56c420cc665f96bc43a9a1351eed4b7cd0fce3cc4b9", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/local.py": "878734dfd64c4b9d362d0ae476cc5c2a19fe93e48b7378763b23f3e0dd0a5a71", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/price.py": "e46c1264c4acb037bae4df36ccdf3386980ef3d178aa7f0607dbd3f3333ed139", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/PROOF.md": "f4c4e400092954562252df6c4dd157a9b4c1642252168ce72738cdbecfc5ad41", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/WORD.json.gz": "e5e955d7c9d5ea5dfea49c0e093037df577aa43813dcad5427ebca41a4ad35ec", + "outputs/p104-contact-reassessment-20261025/sources/predecessor/RESULT.json": "03e9f8424b9166899d3ae3b188d9defb851162a3183ecab237fb783d78216782", + "outputs/economic-sensitivity-feasibility-20261025/interval_math.py": "14f28d0358c11d55683984f1037c23d58f7d8c9d69b8e23503545b0519246ab4", + "swarm-price-plane-20261023T112711Z/coordination/run_guarded.py": "720153b7491acede2c66bdc2dfd3174653195fa3222ec3589d0671c406a5bad8" + } +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json new file mode 100644 index 0000000000..1dda421219 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-PAIR.json @@ -0,0 +1,8 @@ +{ + "schema": "exact-pair-equality/v1", + "complete_output_equal": true, + "scientific_fields_excluded": 0, + "modes": 2, + "result_sha256": "3c4d8db5a9695924027f5801901b55cefe0cdc5ea07450aaf396de7e5887e608", + "request_sha256": "37830fbb3d9bd4ffdc556e2d2943ded8f3edb03df00c146f82d98284b9075c6a" +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json new file mode 100644 index 0000000000..05cb6fa035 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/ENGINE-QUALIFICATION-RESULT.json @@ -0,0 +1 @@ +{"C_probe":"33/10000","all_remaining_edits_moment_at_target":{"lower_decimal_outward":"-47.1189445262094885178259","upper_decimal_outward":"-47.1189445262094885178246"},"all_remaining_edits_raw_ceiling_interval":["3106074473/1000000000000","1553037237/500000000000"],"broader_relaxation_physical_witness":false,"broader_relaxed_local_profile":{"8":1,"9":654},"broader_relaxed_moment_at_target":{"lower_decimal_outward":"470.055147407095922827173","upper_decimal_outward":"470.055147407095922827175"},"ceiling_monotonicity":"after division by6^t, rank1 dominates only adverse rank5 derivative; paired high tails positive","changed_endpoint":"pass","coefficients_including_zeros":552049,"compiler_integer_threshold_only_checked":337848000000000,"complete_paid_after":{"1":45264,"2":10026,"3":7002,"4":2016,"5":1926,"6":306,"7":234,"9":18,"16":416,"24":416,"32":416,"40":416,"48":416,"56":416,"64":416,"72":208},"complete_paid_before":{"1":45282,"2":10026,"3":7002,"4":2016,"5":1944,"6":288,"7":234,"9":18,"16":416,"24":416,"32":416,"40":416,"48":416,"56":416,"64":416,"72":208},"complete_targets":{"4":918,"5":648,"7":432,"8":2196,"9":5292,"17":416,"25":416,"33":416,"41":416,"49":416,"57":416,"65":416,"73":208,"145":208},"controls":{"intervening_source_read":"rejected","one_operand_only":"rejected","target_loss_reverses_credit":"explicit full target equality checked","wrong_sign":"rejected"},"current_moment_at_target":{"lower_decimal_outward":"-64.2349800489874753468198","upper_decimal_outward":"-64.2349800489874753468185"},"funding_scope":"complete native/precision/compiler theorem and58outer obligations not independently admitted here","independent_normalized_endpoint_rows":743,"local_paid_after":{"1":2428,"2":557,"3":389,"4":112,"5":107,"6":17,"7":13,"9":1},"local_paid_before":{"1":2429,"2":557,"3":389,"4":112,"5":108,"6":16,"7":13,"9":1},"native_phase_and_allwidth":"inherited chart identity; not freshly replayed","new_events":25310,"new_kappa":null,"one_1plus5_to6_edit_gain_at_target":{"lower_decimal_outward":"0.00888683048950051237227098","upper_decimal_outward":"0.00888683048950051237227100"},"owned_returns":"pass","remaining_global_edit_inventory":1926,"remaining_identical_local_contacts_upper":107,"required_global_edits_at_target":7229,"required_identical_contacts_per18sites":402,"reviewed_head":"18968423711fd902aaee1099979497d55603e1dc","schema":"p104-focused-contact-audit/v1","source_endpoint":"pass","source_events":25311,"source_windows":{"341":[16799,16800],"345":[16798,16799]},"stop":true} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py new file mode 100644 index 0000000000..b06ce47be8 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-price-gate/sources/interval_math.py @@ -0,0 +1,45 @@ +"""Reused F4 rational interval engine; algorithm is not independently reimplemented.""" +from pathlib import Path +from fractions import Fraction as F +from decimal import Decimal, localcontext +import hashlib,json,sys +B=Path(__file__).resolve().parent +P=B/'capsule-f4/invoice.json' +def require(c,m): + if not c: raise ValueError(m) +def ln_unit(u): + z=(u-1)/(u+1); require(0<=z<=F(1,3),'log domain') + n=24; s=2*sum((z**(2*j+1)/F(2*j+1) for j in range(n)),F(0)) + tail=2*z**(2*n+1)/(F(2*n+1)*(1-z*z)) + return s,s+tail +L2=ln_unit(F(2)) +def ln_rank(r): + k=r.bit_length()-1; a,b=ln_unit(F(r,2**k)) + return a+k*L2[0],b+k*L2[1] +def exp_minus(x): + require(0<=x<1,'alternating exponential domain') + s=F(1); term=F(1); low=high=None + for k in range(1,13): + term*= -x/k; s+=term + if k==11: low=s + if k==12: high=s + return low,high +def power(r,c): + if c==0 or r==1: return F(r),F(r) + a,b=ln_rank(r) + return r*exp_minus(c*b)[0],r*exp_minus(c*a)[1] +def moment(h,c): + values={int(r):power(int(r),c) for side in h.values() for r in side} + low=high=F(0) + for side,sign in [('productive',1),('paid',-1)]: + for r,n in h[side].items(): + a,b=values[int(r)] + low+=n*(a if sign==1 else -b);high+=n*(b if sign==1 else -a) + return low,high +def dec(x,rounding): + with localcontext() as ctx: + ctx.prec=24;ctx.rounding=rounding + return str(Decimal(x.numerator)/Decimal(x.denominator)) +def interval(a,b): + return {'lower_decimal_outward':dec(a,'ROUND_FLOOR'),'upper_decimal_outward':dec(b,'ROUND_CEILING')} +def ceil(x): return -(-x.numerator//x.denominator) diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json new file mode 100644 index 0000000000..fbb91b05ee --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE-ARITHMETIC.json @@ -0,0 +1,429 @@ +{ + "schema": "abcd-joint-raw-tail-paper-dual/v1", + "status": "PAPER_DUAL_CONDITIONAL_ON_PINNED_INPUT_BOUNDS_NOT_ROOT_QUALIFIED", + "scope": "All nonnegative real six-rank profiles in signed ABCD affine closure, fixed p7=14, fixed n18 source104/b8 controller and helper targets, cutoff17 floor18 offset1/5 decay.97. Includes signed reverse exchanges and arbitrary pooling.", + "source_files": { + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c", + "outputs/continuous-kappa-process-20261026/successor-strategy/new5580-reassessment/TRANSFER-ARITHMETIC.json": "ce5012989710292c7fbd2ad25ebb1570580349ae130bcf534710fe5de64dde45" + }, + "log_brackets": { + "1": [ + "0", + "0" + ], + "2": [ + "6931/10000", + "1733/2500" + ], + "3": [ + "5493/5000", + "10987/10000" + ], + "4": [ + "6931/5000", + "1733/1250" + ], + "5": [ + "8047/5000", + "3219/2000" + ], + "6": [ + "17917/10000", + "17919/10000" + ] + }, + "fifth_root_brackets": { + "1": [ + "1", + "1" + ], + "2": [ + "22973967/20000000", + "28717459/25000000" + ], + "3": [ + "124573093/100000000", + "62286547/50000000" + ], + "4": [ + "131950791/100000000", + "16493849/12500000" + ], + "5": [ + "68986483/50000000", + "137972967/100000000" + ], + "6": [ + "35774227/25000000", + "143096909/100000000" + ] + }, + "fifth_power_residuals": { + "1": [ + "0", + "0" + ], + "2": [ + "139205491268192312827413865393/3200000000000000000000000000000000000", + "425325588957042356609529231299/9765625000000000000000000000000000000" + ], + "3": [ + "1157816291433009572097546992251307/10000000000000000000000000000000000000000", + "1446751042564566992429649877507/312500000000000000000000000000000000000" + ], + "4": [ + "117148863172157370868663099665049/10000000000000000000000000000000000000000", + "42680899742459670744651744249/305175781250000000000000000000000000" + ], + "5": [ + "8273896816697807698001086587357/312500000000000000000000000000000000000", + "1547184479649344374528514621529607/10000000000000000000000000000000000000000" + ], + "6": [ + "226283940266227401691561340093/9765625000000000000000000000000000000", + "1864766624306539346710164340763549/10000000000000000000000000000000000000000" + ] + }, + "two_invariants": { + "rank_mass_first_six": 5915, + "tag_weights": { + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 2 + }, + "tag_mass": 3458, + "p7_fixed": 14 + }, + "inverse_exchange_counts": { + "a": "p6-18", + "b": "p3+2p4+2p5+2p6-1046", + "c": "p5+p6-182", + "d": "p4+p5+p6-276" + }, + "simplex_coordinate_form": { + "p1": "1001+p3+2p4+3p5+2p6", + "p2": "2457-2p3-3p4-4p5-4p6", + "nonnegative_free_coordinates": [ + "p3", + "p4", + "p5", + "p6" + ], + "weighted_upper_constraint": "2p3+3p4+4p5+4p6<=2457" + }, + "probe": { + "exchange_counts": { + "A": 268, + "B": 82, + "C": 194, + "D": 152 + }, + "profile": { + "1": 2219, + "2": 253, + "3": 272, + "4": 52, + "5": 90, + "6": 286, + "7": 14 + }, + "integer_feasibility_only": true, + "funding_claim": false + }, + "source_funding_input": { + "C0": "6163781/2000000000", + "author_gamma_lower": "967392647519607666245315102667/1000000000000000000000000000000", + "weaker_sufficient_lower_for_root_qualification": "193/200", + "source_target_rank_mass": 242010, + "source_paid_maximum_rank": 72, + "log72_upper": "43177/10000", + "cutoff17_fifth_root_upper": "1763/1000", + "author_source_bound_independently_validated_by_this_worker": false, + "headroom_transport": "W(C)/18 <= (1.763*242010/18)*(.97-gamma0_lower*(1-(C-C0)*4.3177)); this is a new analytic bound, not reuse of gamma(C0) as gamma(C)." + }, + "points": [ + { + "C": "33/10000", + "six_rank_power_bounds": { + "1": { + "raw": [ + "1", + "1" + ], + "tail": [ + "1", + "1" + ], + "exp_neg": [ + "1", + "1" + ] + }, + "2": { + "raw": [ + "31178595452195925652577/15625000000000000000000", + "19954307714210729/10000000000000000" + ], + "tail": [ + "716296023025099273476757462959/312500000000000000000000000000", + "573037013656230327417611/250000000000000000000000" + ], + "exp_neg": [ + "31178595452195925652577/31250000000000000000000", + "19954307714210729/20000000000000000" + ] + }, + "3": { + "raw": [ + "5978285129656251661304589/2000000000000000000000000", + "14945717875351083/5000000000000000" + ], + "tail": [ + "744733469437185296235101066823777/200000000000000000000000000000000", + "930917158891795372780401/250000000000000000000000" + ], + "exp_neg": [ + "1992761709885417220434863/2000000000000000000000000", + "4981905958450361/5000000000000000" + ] + }, + "4": { + "raw": [ + "3888419257424413152577/976562500000000000000", + "4977180014210729/1250000000000000" + ], + "tail": [ + "513079996756783938193338838407/97656250000000000000000000000", + "82092855600209618305921/15625000000000000000000" + ], + "exp_neg": [ + "3888419257424413152577/3906250000000000000000", + "4977180014210729/5000000000000000" + ] + }, + "5": { + "raw": [ + "15915243683949208693639/3200000000000000000000", + "4973515417333601/1000000000000000" + ], + "tail": [ + "1097936687843619458407179081637/160000000000000000000000000000", + "686210678549760158764167/100000000000000000000000" + ], + "exp_neg": [ + "15915243683949208693639/16000000000000000000000", + "4973515417333601/5000000000000000" + ] + }, + "6": { + "raw": [ + "5964625073518373418917217/1000000000000000000000000", + "59646292168710363/10000000000000000" + ], + "tail": [ + "213379851349937979359110615166259/25000000000000000000000000000000", + "8535200042653359461567967/1000000000000000000000000" + ], + "exp_neg": [ + "1988208357839457806305739/2000000000000000000000000", + "19882097389570121/20000000000000000" + ] + } + }, + "lambda": "799/10", + "mu": "25258441555634188466294803462959/312500000000000000000000000000", + "nu": "22808444365811533705196537041/312500000000000000000000000000", + "dual_rank_lower_slacks": { + "1": "0", + "2": "0", + "3": "426464178874833201418744236257/200000000000000000000000000000000", + "4": "21924482732693442115049470127/1562500000000000000000000000000", + "5": "755862410236276315403323687121/20000000000000000000000000000000", + "6": "17137899948574431914464519379/25000000000000000000000000000000" + }, + "dual_rank_lower_slacks_decimal_floor": { + "1": "0E-20", + "2": "0E-20", + "3": "0.00213232089437416600", + "4": "0.01403166894892380295", + "5": "0.03779312051181381577", + "6": "0.00068551599794297727" + }, + "baseline_dual_slack_strict_upper": "2718153533266175248881702134737/312500000000000000000000000000", + "baseline_dual_slack_upper_decimal_ceiling": "8.69809130645176079643", + "B18_current_strict_lower": "22697771413256967946048477/7650000000000000000000000", + "necessary_tail_increment_per_FULL_strict_lower": "642283653465027856175238692662367/2812500000000000000000000000000", + "necessary_tail_increment_lower_decimal_floor": "228.36752123200990441786", + "available_tail_increment_per_FULL_strict_upper_from_author_gamma_lower": "333591842160054301342395266551616040775181092147/4000000000000000000000000000000000000000000000", + "available_tail_increment_upper_decimal_ceiling": "83.39796054001357533560", + "available_tail_increment_per_FULL_upper_if_source_gamma_exceeds_0965": "112047004173940549113/800000000000000000", + "available_tail_increment_coarse_upper_decimal_ceiling": "140.05875521742568639125", + "separation_gap_even_with_0965_source_gamma_lower": "248368404416018113199848067662367/2812500000000000000000000000000", + "separation_gap_decimal_floor": "88.30876601458421802661", + "probe": { + "raw_gain_per_FULL": [ + "53120334193875666044151/15625000000000000000000", + "425453287935838305073491/125000000000000000000000" + ], + "raw_gain_decimal_outward": [ + "3.39970138840804262682", + "3.40362630348670644059" + ], + "tail_numerator_increment_per_FULL": [ + "26813231948867220570575546965189251/100000000000000000000000000000000", + "6703430287466911521571662607356091/25000000000000000000000000000000" + ], + "tail_increment_decimal_outward": [ + "268.13231948867220570575", + "268.13721149867646086287" + ] + } + }, + { + "C": "6600001/2000000000", + "six_rank_power_bounds": { + "1": { + "raw": [ + "1", + "1" + ], + "tail": [ + "1", + "1" + ], + "exp_neg": [ + "1", + "1" + ] + }, + "2": { + "raw": [ + "748286290593346186778619582778022700163/375000000000000000000000000000000000000", + "798172308291823271693238761/400000000000000000000000000" + ], + "tail": [ + "5730368182214648571542614200098687279598552207/2500000000000000000000000000000000000000000000", + "22921480538305794840096444696228299/10000000000000000000000000000000000" + ], + "exp_neg": [ + "748286290593346186778619582778022700163/750000000000000000000000000000000000000", + "798172308291823271693238761/800000000000000000000000000" + ] + }, + "3": { + "raw": [ + "47826281010976645600371706408452614025197/16000000000000000000000000000000000000000", + "597828714685658172830919147/200000000000000000000000000" + ], + "tail": [ + "5957867752224527693203145416988863473053970224321/1600000000000000000000000000000000000000000000000", + "37236686335217838007967168502815409/10000000000000000000000000000000000" + ], + "exp_neg": [ + "47826281010976645600371706408452614025197/48000000000000000000000000000000000000000", + "199276238228552724276973049/200000000000000000000000000" + ] + }, + "4": { + "raw": [ + "93322062113495061145094915278022700163/23437500000000000000000000000000000000", + "199087200430443271693238761/50000000000000000000000000" + ], + "tail": [ + "4104639971208935030896213280337693400821226311/781250000000000000000000000000000000000000000", + "3283714221732466326374254444881089/625000000000000000000000000000000" + ], + "exp_neg": [ + "93322062113495061145094915278022700163/93750000000000000000000000000000000000", + "199087200430443271693238761/200000000000000000000000000" + ] + }, + "5": { + "raw": [ + "127321949369131328180698585942652215847/25600000000000000000000000000000000000", + "198940616533258795623554209/40000000000000000000000000" + ], + "tail": [ + "8783493495680439096305183927256816063441396101/1280000000000000000000000000000000000000000000", + "27448427119902970211028389301068103/4000000000000000000000000000000000" + ], + "exp_neg": [ + "127321949369131328180698585942652215847/128000000000000000000000000000000000000", + "198940616533258795623554209/200000000000000000000000000" + ] + }, + "6": { + "raw": [ + "47717000545394939211509316733227710037441/8000000000000000000000000000000000000000", + "2385851684611086868967456667/400000000000000000000000000" + ], + "tail": [ + "1707038809270082360003735309429386541569592833107/200000000000000000000000000000000000000000000000", + "341408001400289398079731070639142303/40000000000000000000000000000000000" + ], + "exp_neg": [ + "15905666848464979737169772244409236679147/16000000000000000000000000000000000000000", + "795283894870362289655818889/800000000000000000000000000" + ] + } + }, + "lambda": "799/10", + "mu": "606202596914811152186861935879576336699269656621/7500000000000000000000000000000000000000000000", + "nu": "547403085188847813138064120423663300730343379/7500000000000000000000000000000000000000000000", + "dual_rank_lower_slacks": { + "1": "0", + "2": "0", + "3": "10235038825503321335960935718037628068840198083/4800000000000000000000000000000000000000000000000", + "4": "526185485070215469023168404986221588294013613/37500000000000000000000000000000000000000000000", + "5": "18140649318380731986857452885614694564366442899/480000000000000000000000000000000000000000000000", + "6": "411183349851605184966970690784280307680880601/600000000000000000000000000000000000000000000000" + }, + "dual_rank_lower_slacks_decimal_floor": { + "1": "0E-20", + "2": "0E-20", + "3": "0.00213229975531319194", + "4": "0.01403161293520574584", + "5": "0.03779301941329319163", + "6": "0.00068530558308600864" + }, + "baseline_dual_slack_strict_upper": "21745138123305236507664056987560677423151227401/2500000000000000000000000000000000000000000000", + "baseline_dual_slack_upper_decimal_ceiling": "8.69805524932209460307", + "B18_current_strict_lower": "907912936923305368931369/306000000000000000000000", + "necessary_tail_increment_per_FULL_strict_lower": "5138282261314671913902816362111953903191638953391/22500000000000000000000000000000000000000000000", + "necessary_tail_increment_lower_decimal_floor": "228.36810050287430728456", + "available_tail_increment_per_FULL_strict_upper_from_author_gamma_lower": "16679602008758878231529589467175241406074643243/200000000000000000000000000000000000000000000", + "available_tail_increment_upper_decimal_ceiling": "83.39801004379439115765", + "available_tail_increment_per_FULL_upper_if_source_gamma_exceeds_0965": "5602352183950761697/40000000000000000", + "available_tail_increment_coarse_upper_decimal_ceiling": "140.05880459876904242500", + "separation_gap_even_with_0965_source_gamma_lower": "1986959157842368459340316362111953903191638953391/22500000000000000000000000000000000000000000000", + "separation_gap_decimal_floor": "88.30929590410526485956", + "probe": { + "raw_gain_per_FULL": [ + "2124813688194990127917197629439159/625000000000000000000000000000000", + "17018134084282081174278999787315219/5000000000000000000000000000000000" + ], + "raw_gain_decimal_outward": [ + "3.39970190111198420466", + "3.40362681685641623486" + ], + "tail_numerator_increment_per_FULL": [ + "214505854894654965930603079956964602860781385737123/800000000000000000000000000000000000000000000000", + "53627442125822113272708985452005160421252751028443/200000000000000000000000000000000000000000000000" + ], + "tail_increment_decimal_outward": [ + "268.13231861831870741325", + "268.13721062911056636355" + ] + } + } + ], + "conclusion": "If the pinned B18 transfer and even the weaker source gamma(C0)>.965 input are independently qualified, every signed-real ABCD profile fails joint raw alpha and gamma feasibility at both specified C points with the retained n18 funding route. n17 independently fails delta for fixed targets. No global family/funding/controller exclusion is claimed.", + "root_next_step": "Qualify six-rank rational dual, source-input gamma>.965 at C0 (or independently goal headroom), complete invoices, and all input custody under a frozen guarded request before promoting this conditional paper separator.", + "scientific_engine_execution": false, + "source_constructor_execution": false, + "optimizer_execution": false, + "contact_search_execution": false +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md new file mode 100644 index 0000000000..2a3f004064 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/successor-strategy/abcd-family/FUNDING-PLANE.md @@ -0,0 +1,271 @@ +# Joint raw-price and tail-price gate for every signed ABCD profile + +Status: **paper dual with pinned input hypotheses; not root-qualified**. +This note keeps the original n=18 caller, cutoff 17, floor 18, offset 1/5 +and tail decay .97. It does not change the compiler route. It extends the +full-witness failures in `PROOF-AND-BUDGET.md` to all nonnegative real +profiles reachable in the signed ABCD affine relaxation, including partial +mixtures and reverse exchanges. + +At both C=.0033 and C=.0033000005, a rational dual separates the necessary +raw and gamma inequalities, conditional on the pinned current B18 bound +and the very weak source input `gamma(.0030818905)>.965`. The captured +author interval is stronger, but this worker has not independently +validated that source moment interval. Root must qualify the source input +(or directly bound the goal-point headroom) before promoting this result. +No moment engine, numerical optimizer, constructor, native calculation or +contact search was executed here. + +## The signed affine closure is exactly a four-dimensional simplex + +The four exchange vectors on paid ranks 1 through 6 preserve two quantities: + +``` +sum(r*p_r, r=1..6) = 5915, +p1+p2+p3+p4+p5+2p6 = 3458. +``` + +Paid rank seven stays p7=14, and all targets/nonlocal terms stay fixed. +These invariants are sufficient for membership in the real signed affine +closure. Indeed recover the unique signed exchange counts by + +``` +a = p6-18, +c = p5+p6-182, +d = p4+p5+p6-276, +b = p3+2p4+2p5+2p6-1046. +``` + +Substitution gives the remaining two coordinates + +``` +p1 = 1001+p3+2p4+3p5+2p6, +p2 = 2457-2p3-3p4-4p5-4p6. +``` + +Thus nonnegative profiles are precisely + +``` +p3,p4,p5,p6 >= 0, +2p3+3p4+4p5+4p6 <= 2457. +``` + +Here p1 is automatically at least 1001. This explicit inverse proves that +the four exchange vectors span the full invariant affine plane, without +assuming forward realizability of the recovered signed counts. + +The five vertices, listing only nonzero ranks 1 through 6, are + +| Vertex | Profile | +|---|---| +|V2|{1:1001,2:2457}| +|V3|{1:4459/2,3:2457/2}| +|V4|{1:2639,4:819}| +|V5|{1:11375/4,5:2457/4}| +|V6|{1:4459/2,6:2457/4}| + +The raw-optimum vertex is V6. Minimizing the tail moment subject to a raw +constraint is a different linear program; its solution need not be V6. +The dual below covers the entire simplex directly. + +## Exact linear feasibility formulation + +Put `t=1-C`, `s=t+1/5`, and define the local six-rank moments + +``` +R(p) = sum(p_r*r^t, r=1..6), +S(p) = sum(p_r*r^s, r=1..6). +``` + +Let p0 be the current source six-rank profile +`(2211,459,494,94,164,18)`, and write +`G=R(p0)-R(p)` and `DeltaS=S(p)-S(p0)`. +Rank seven and all nonlocal terms cancel in these differences. + +The complete raw gap for the changed n18 invoice is `18*(G-B18(C))`. +Even the weaker necessary condition alpha<1 therefore requires +`G>B18(C)`. The actual alpha reserve 10^-10 only strengthens this requirement. + +Let T(C) be the complete source target moment at exponent t, and P0s(C) +the complete source paid moment at exponent s. The gamma requirement is + +``` +DeltaS < W(C)/18, +W(C) = .97*17^(1/5)*T(C) - P0s(C). +``` + +Both constraints are linear in the candidate paid histogram. A failed +whole witness does not prove infeasibility; the following dual does. + +## A rational six-rank Farkas inequality + +Set `lambda=799/10`. Define tag_r=1 for r=1,...,5 and tag_6=2. +For each stated C, the arithmetic JSON supplies rational `mu,nu` such that + +``` +r^s + lambda*r^t >= mu*r + nu*tag_r for r=1,...,6. +``` + +The construction uses only elementary rational bounds. For the inherited +logarithm brackets `(l_r,u_r)`, put + +``` +Elo(r)=1-C*u_r+(C*u_r)^2/2-(C*u_r)^3/6, +Ehi(r)=1-C*l_r+(C*l_r)^2/2. +``` + +Taylor's theorem gives `Elo<=exp(-C ln r)<=Ehi`; both bounding polynomials +are decreasing on the tiny argument range here. Thus +`r*Elo<=r^t<=r*Ehi`. Rational fifth-root brackets are: + +| r | q_lo | q_hi | +|---|---:|---:| +|1|1|1| +|2|1.14869835|1.14869836| +|3|1.24573093|1.24573094| +|4|1.31950791|1.31950792| +|5|1.37972966|1.37972967| +|6|1.43096908|1.43096909| + +Every bracket is certified by the exact integer-power inequalities +`q_lo^5<=r<=q_hi^5`; the rational residuals are retained in the JSON. +Consequently `r*q_lo*Elo<=r^s<=r*q_hi*Ehi`. +No negative-C engine evaluation or newly evaluated logarithm is involved. + +Let `F2lo` be the lower bound on `2^s+lambda*2^t`. Set + +``` +mu = F2lo-(1+lambda), +nu = 1+lambda-mu. +``` + +This makes the rank-one inequality exact and the lower rank-two inequality +exact. The remaining four lower slacks are strictly positive: + +| C | rank3 | rank4 | rank5 | rank6 | +|---|---:|---:|---:|---:| +|.0033|>.00213232089437416600|>.01403166894892380295|>.03779312051181381577|>.00068551599794297727| +|.0033000005|>.00213229975531319194|>.01403161293520574584|>.03779301941329319163|>.00068530558308600864| + +Multiply these six inequalities by any nonnegative p_r and use the two +invariants: + +``` +S(p)+lambda*R(p) >= 5915mu+3458nu. +``` + +Define the source's dual slack +`sigma0=S(p0)+lambda*R(p0)-(5915mu+3458nu)`. +Upper bounds on the six powers give a rational `sigma_upper>=sigma0`. +Rearranging proves for every profile in the real signed closure + +``` +DeltaS >= lambda*G-sigma_upper. +``` + +Inserting the existing strict B18 lower bound yields: + +| C | sigma_upper | Necessary DeltaS if alpha<1 | +|---|---:|---:| +|.0033|<8.69809130645176079643|>228.36752123200990441786| +|.0033000005|<8.69805524932209460307|>228.36810050287430728456| + +This is an all-profile lower bound. It does not assume that the candidate +uses nonnegative exchange counts, has the raw-optimal profile, or lies on +the line between the source and that optimum. + +## Bound the available tail headroom without reusing a source-point ratio + +The retained source interval is at `C0=.0030818905`, not at the goal. +It reports +`gamma0 > .967392647519607666245315102667` for the original n18 invoice. +For a deliberately weaker sufficient input, require only `gamma0>.965`. + +Let `Delta=C-C0>0`, `K=17^(1/5)`, and `L=4.3177>ln72`. +The source's maximum paid rank is 72, so + +``` +P0s(C) >= (1-Delta*L)*P0s(C0). +``` + +Its fixed targets have decreasing moments in C, so `T(C)<=T(C0)`. +With `gamma0=P0s(C0)/(K*T(C0))`, these imply + +``` +W(C) <= K*T(C0)*(.97-(1-Delta*L)*gamma0). +``` + +Because `K<1.763` (check `1.763^5>17`), `T(C0)<=242010`, and the +displayed upper bracket using gamma0=.965 is positive, + +``` +W(C)/18 < (1.763*242010/18)*(.97-.965*(1-Delta*4.3177)). +``` + +This is an explicit analytic transport inequality. It neither identifies +gamma(C) with gamma(C0) nor treats the source's own alpha/delta values as +goal-point values. + +| C | Available DeltaS upper, gamma0>.965 | Necessary DeltaS lower | Separation gap | +|---|---:|---:|---:| +|.0033|140.05875521742568639125|228.36752123200990441786|>88.30876601458421802661| +|.0033000005|140.05880459876904242500|228.36810050287430728456|>88.30929590410526485956| + +Using the full author lower interval instead gives respective available +upper bounds 83.39796054001357533560 and 83.39801004379439115765. +The deliberately weaker .965 bound already separates the constraints. + +Therefore, **if the pinned B18 bounds and the source input gamma0>.965 are +independently qualified**, no nonnegative real signed-ABCD profile satisfies +both raw alpha<1 and gamma<.97 at either stated point with the original +n18 route. All integer profiles and forward-order realizable profiles are +subsets of that real relaxation, so they are also excluded in that scope. + +For n17 the fixed target invoice alone gives delta>.975 at both points, +as proved in the companion budget. Hence no ABCD mixture changes that +n17 obstruction. This note does **not** exclude another controller count, +different tail parameters, changed helper targets, a new primitive, a +changed ordinary/compiler route or a different exchange family. A raw +controller optimum does not imply a funding optimum over controller counts. + +## The supplied partial probe + +The proposed probe `(a,b,c,d)=(268,82,194,152)` is nonnegative and gives + +``` +P={1:2219,2:253,3:272,4:52,5:90,6:286,7:14}. +``` + +This is an integer histogram feasibility statement, not a physical edit. +At C=.0033 its raw gain is strictly between 3.39970138840804262682 and +3.40362630348670644059 per FULL, so it clears the raw threshold. Its tail +numerator increase is between 268.13231948867220570575 and +268.13721149867646086287 per FULL, which exceeds even the weak available +headroom bound above. The tested point gives the same conclusion. This +probe is illustrative; it is not used to prove the all-profile exclusion. + +## Smallest root qualification needed + +Freeze the source inputs and the two existing price-transfer points, then +qualify this finite certificate under root's guarded serial executor: + +1. Verify source custody, original n18 P/T invoices, max paid rank 72, + target rank mass 242010, source C0, cutoff 17 and offset 1/5. +2. Independently establish gamma(C0)>.965 on that source invoice, or + establish directly that W(C)/18<140.05875522 and <140.05880460 at the + two goal points. Reading the author interval is not this qualification. +3. Check the affine inverse and both invariants symbolically; check every + fifth-power bracket, inherited log bound, Taylor-domain condition, + rational dual slack, source slack upper bound and strict separation. +4. Include controls for wrong sign of lambda, missing tag6=2, a corrupted + fifth-root bracket, omitted rank-seven/nonlocal cancellation, wrong + source/goal C, wrong B18 denominator, discarded target/idle, and the + source gamma silently reused as a goal value. A control increasing + available headroom above the necessary bound must be classified as + inconclusive, not a false exclusion. + +No executable checker or execution request is supplied by this paper-only +worker. `FUNDING-PLANE-ARITHMETIC.json` contains the exact finite fractions +and provenance needed to prepare that frozen request. Physical G1a remains +prospective and ownership-gated; broad frame or helper-basis searches are +not authorized by this funding calculation. diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json new file mode 100644 index 0000000000..dd23dfc446 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/PAIR-RECEIPT.json @@ -0,0 +1,9 @@ +{ + "complete_output_equal": true, + "modes": 2, + "request_sha256": "8fc281dbc1a4e5868fb1085005eec5813ad2c34a628b8679a36f593790c49ced", + "result_sha256": "f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de", + "schema": "exact-pair-equality/v2", + "scientific_fields_excluded": 0, + "scope": "Finite exact two-point strict-single-use isolated-tail aggregate budget and optimistic inventory witnesses only; no physical contacts or new kappa." +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json new file mode 100644 index 0000000000..1c7d3f32c9 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/REQUEST.json @@ -0,0 +1,78 @@ +{ + "custody_revision_sha256": "efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f", + "execution_owner": "root only after accepting frozen request", + "files": { + "outputs/continuous-kappa-process-20261026/ceiling-qualification/RESULT-normal.json": "882369dbec747ac4fe4c324501dddca7e67240e773bb6782e29bd91dde25b5a7", + "outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py": "720153b7491acede2c66bdc2dfd3174653195fa3222ec3589d0671c406a5bad8", + "outputs/continuous-kappa-process-20261026/successor-price-gate/INPUTS.json": "6a6c0156ea60d4872ea85e80eeca8dc5f337758a1e860f3b73bb4f0dd5ce881a", + "outputs/continuous-kappa-process-20261026/successor-price-gate/PAIR-RECEIPT.json": "1d99144de9f6d9411baeea842fcb0d3524ac2dbdc8e946c841b57ef430ed3805", + "outputs/continuous-kappa-process-20261026/successor-price-gate/REQUEST.json": "d85ca5055168c84ca64a6c9b37dcc52fc61028134bfc6787fafc104a0b44cbe0", + "outputs/continuous-kappa-process-20261026/successor-price-gate/RESULT-normal.json": "6ad37711165765c2f4f3fb9690e78b3db8b1fb6e8b91ff883b2f1286129f8335", + "outputs/continuous-kappa-process-20261026/successor-price-gate/sources/WORD.json.gz": "12224e9a13a49c830b304338a8d31610fb43da15d1a650537733c27f7864310f", + "outputs/continuous-kappa-process-20261026/successor-strategy/PRICE-GATE-STATIC-REVIEW.md": "ee9f625f1144f355f9b2823a9059bf510c401ce5fae19aa17459d1d4dced6d47", + "outputs/continuous-kappa-process-20261026/successor-strategy/STATIC-AGGREGATE-ARITHMETIC.json": "39cf08dbc5c94991e6a502aef15197af129b4f2a6b2519fba9936c45ba1d811d", + "outputs/continuous-kappa-process-20261026/successor-strategy/new5580-reassessment/REASSESSMENT.md": "59d5d5caa3d1826742dc13d39bfdfea68a2bd034cadfde431a30ea29b92ed2bc", + "outputs/continuous-kappa-process-20261026/successor-strategy/new5580-reassessment/TRANSFER-ARITHMETIC.json": "ce5012989710292c7fbd2ad25ebb1570580349ae130bcf534710fe5de64dde45", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/CONTRACT.md": "7349f356aa9f3a40c3275ed58ed8d00c9d073b855e7594c34d4f5e0cc4d3ffbf", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/CUSTODY-ACKNOWLEDGEMENT.md": "80b75e5eca49887a3b7df490545033cf933904e6d2de6d8a8d96f917aced6770", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/INPUTS.json": "d5f7a48c27d255d5ec7ae0879374a60496b6170722840a62a149fdb7a4a84115", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/check.py": "72ed80cc0ee09ce66d1a6707ff1282d8ad087bea352374fc108533d26380d4bd", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/finite.py": "9fde3f5859014d42eb256ad3a24863564cbc8a606981b8ed65129891c3b5d9a9", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/run_pair.py": "31c75545fae95f8882a65167dfe0b32ad007f970babf23b58f9f713738af8c26", + "outputs/continuous-kappa-process-20261026/tail-count-qualification/REQUEST.json": "eaf2ff223e3f9d1be0a94da4001356ef2c33d358a43bd82a1917ec4036f15e3d", + "outputs/continuous-kappa-process-20261026/tail-count-qualification/check.py": "f20d3b40adecdd983308fd9336d2b21b0a148a90989db31ed9e3202e1f2517e1", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5579-SOURCE-CAPTURE.json": "f3aa921bb17b2909ba0d56beb6f805e154ae91c085919108cf8be501d7e41fb7", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-INVARIANT-BINDING.json": "e50aafde1a0533d9fd52759aca6b2f35e684987514a8201860fc905526275503", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json": "f5e65eed4d2ab3a7154bcdb631cdc48cef8c7ed7f8edad7a5481766b5055e5d8", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCES.json": "bdacaa7ec193d809dce886360d102fe5f73c970265d9c2676bef3710c46db3b2", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz": "b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/SOURCE-CUSTODY.json": "a2bf8474cf6cf035b6ce2924cd53549d0919ecfb133767b1a1a54620258e6c78", + "outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json": "efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f" + }, + "forbidden": [ + "source constructor/price or interval engine/native or row replay", + "contact search/candidate inventory", + "physical146/147 contacts or new kappa", + "larger-C theorem/global gD concavity", + "historical request execution or modification" + ], + "guard_command": [ + "python3", + "-B", + "outputs/continuous-kappa-process-20261026/guarded/coordination/run_guarded.py", + "--name", + "tail-count-qualification-5580", + "--seconds", + "150", + "--memory-mib", + "512", + "--cwd", + "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453", + "--", + "python3", + "-B", + "outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/run_pair.py" + ], + "memory_mib": 512, + "modes": [ + "normal", + "optimized" + ], + "new_kappa": null, + "no_automatic_rerun": true, + "per_child_seconds": 60, + "physical_witness": false, + "preparation_status": "STATIC_ONLY; no scientific checker/constructor/engine/source census run by preparer", + "schema": "bounded-tail-count-qualification-5580/v1", + "scientific_scope": [ + "exact captured source bytes and structural MOVE/helper/field/scalar-signature census only", + "complete paid/target/controller bill; inherited source semantics and all-controller proof", + "finite rational g9/gD coefficients and coarse/tight two-point B/J transfer", + "strict-single-use optimistic146/n17 and147/n18 multiset invoices, slacks and25 classified controls" + ], + "source_head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "stop_after_one_pair": true, + "total_seconds": 150 +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json new file mode 100644 index 0000000000..78dfa84a29 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/tail-count-qualification-5580/RESULT-normal.json @@ -0,0 +1 @@ +{"analytic_premises":"Balanced concavity/max-g_r and PR5554 all-controller reduction remain paper arguments; derivative/Taylor implications use finite rational coefficients and exp(-x)>=1-x. No proof-kernel acceptance.","credit":"Ali Romman PR5580/5544/5545 and active construction; zxv PR5554; GamingPuzzled PR5472/5569; DreamingOfClouds PR5561/5553; thu-nmrc PR5551; Matarener; Clear1nsight audits; retained native/compiler/precision predecessors. OpenAI Codex assistance.","current_helpers":{"4":"83","5":"5","8":"15","9":"424"},"current_local_paid":{"1":"2211","2":"459","3":"494","4":"94","5":"164","6":"18","7":"14"},"finite_log_terms":32,"g9_second_derivative_rational_bounds":["-28658948852487947/1250000000000000","-3513078689914961/156250000000000"],"g9_slope_bounds":["61817/10000","7731/1250"],"gD_concavity_domain":["0","17/5000"],"gD_second_derivative_positive_at_C1_lower":"140159/12500000","gD_second_derivative_rational_bounds":["-896869925757513/625000000000000","-853519686057043/625000000000000"],"gD_slope_bounds":["847/2500","851/2500"],"historical_outputs_modified_by_this_certificate":false,"historical_request_executed_by_this_certificate":false,"local_paid_delta":{"2":"1","3":"-2","4":"1"},"mutation_controls":{"146_idle_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"146_main_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"146_query_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"147_idle_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"147_main_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"147_query_charge":{"outcome":"rejected","strength":"accounting mutation: complete current witness polynomial"},"alter_author_complete_paid":{"outcome":"rejected","strength":"source/accounting mutation: all complete coefficients"},"alter_author_helper_credit":{"outcome":"rejected","strength":"source/accounting mutation: structural helper census"},"change_protected_source_ports":{"outcome":"rejected","strength":"source structural-field mutation; no row/native inference"},"controller146_fixed18_33/10000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"controller146_fixed18_6600001/2000000000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"corrupt_current_word":{"outcome":"rejected","strength":"custody mutation"},"global_H1_146_33/10000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"global_H1_146_6600001/2000000000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"global_H1_147_33/10000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"global_H1_147_6600001/2000000000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"global_gD_concavity":{"outcome":"rejected","strength":"analytic-domain sanity: actual rational endpoint sign, not a source mutant"},"insufficient145_33/10000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"insufficient145_6600001/2000000000":{"outcome":"rejected","strength":"budget mutation: coarse current-source accounting gate"},"omit_query_from_author_bill":{"outcome":"rejected","strength":"source/accounting mutation: charged query"},"omit_target_loss":{"outcome":"rejected","strength":"accounting mutation: uncharged target loss"},"overdraw_rank4":{"outcome":"rejected","strength":"accounting mutation: unavailable old paid job"},"physical_contact_label":{"outcome":"rejected","strength":"label sanity only; no physical validation"},"reuse_helper_target":{"outcome":"rejected","strength":"accounting mutation: target double-credit"},"reuse_paid_job":{"outcome":"rejected","strength":"accounting mutation: paid removal double-credit"}},"new_kappa":null,"old_root_price_pair_sha256":"1d99144de9f6d9411baeea842fcb0d3524ac2dbdc8e946c841b57ef430ed3805","old_root_price_result_sha256":"6ad37711165765c2f4f3fb9690e78b3db8b1fb6e8b91ff883b2f1286129f8335","optimistic_multiset_witnesses":{"146":{"FULL_count":17,"complete_paid":{"1":"39043","16":"416","2":"7803","24":"416","3":"8398","32":"416","40":"416","48":"416","5":"1904","56":"416","6":"306","64":"416","7":"238"},"complete_targets":{"137":"208","17":"416","25":"416","33":"416","4":"2295","41":"416","49":"416","5":"1683","57":"416","65":"416","8":"255","9":"4726"},"groups":[{"count":94,"new_paid":0,"new_target":5,"paid_rank":4,"paid_start":0,"target_rank":9,"target_start":0},{"count":52,"new_paid":0,"new_target":4,"paid_rank":5,"paid_start":0,"target_rank":9,"target_start":94}],"local_helpers":{"4":"135","5":"99","8":"15","9":"278"},"local_paid":{"1":"2211","2":"459","3":"494","5":"112","6":"18","7":"14"},"main_banks":{"137":"208","17":"416","25":"416","33":"416","41":"416","49":"416","57":"416","65":"416"},"multiset_only_no_source_contact_ids":true,"paid_count":"60604","queries":{"1":"1456"},"rank_surplus":"712","side_lengths":[7,7],"target_count":"12079","whole_idles":{"16":"416","24":"416","32":"416","40":"416","48":"416","56":"416","64":"416"}},"147":{"FULL_count":18,"complete_paid":{"1":"41358","16":"416","2":"8262","24":"416","3":"8892","32":"416","40":"416","48":"416","5":"1998","56":"416","6":"324","64":"416","7":"252","72":"208"},"complete_targets":{"145":"208","17":"416","25":"416","33":"416","4":"2448","41":"416","49":"416","5":"1782","57":"416","65":"416","73":"208","8":"270","9":"4986"},"groups":[{"count":94,"new_paid":0,"new_target":5,"paid_rank":4,"paid_start":0,"target_rank":9,"target_start":0},{"count":53,"new_paid":0,"new_target":4,"paid_rank":5,"paid_start":0,"target_rank":9,"target_start":94}],"local_helpers":{"4":"136","5":"99","8":"15","9":"277"},"local_paid":{"1":"2211","2":"459","3":"494","5":"111","6":"18","7":"14"},"main_banks":{"145":"208","17":"416","25":"416","33":"416","41":"416","49":"416","57":"416","65":"416","73":"208"},"multiset_only_no_source_contact_ids":true,"paid_count":"64206","queries":{"1":"1560"},"rank_surplus":"760","side_lengths":[7,8],"target_count":"12814","whole_idles":{"16":"416","24":"416","32":"416","40":"416","48":"416","56":"416","64":"416","72":"208"}}},"ownership_and_source_scope_exclusions":["5574 event-frame/event-order constructive inventory","5575 owned-scratch cancellation/retirement","5576 all-holder/COPY-return constructive screen","5125 changed-input/private-COPY completion","5579 owned-holder contact inventory"],"physical_contacts_found":null,"physical_witness":false,"points":[{"146_n17_slack_coarse":["10052201215440516599521/100000000000000000000000","15852380215440516599657/100000000000000000000000"],"146_n17_slack_tight":["11938984465440516599521/100000000000000000000000","15840346765440516599657/100000000000000000000000"],"147_n18_slack_coarse":["372950982072128215802929/1700000000000000000000000","119458464768032053951523/425000000000000000000000"],"147_n18_slack_tight":["406913080572128215802929/1700000000000000000000000","119404314243032053951523/425000000000000000000000"],"B17_current_coarse":["295302237046150557847079/100000000000000000000000","295414569046150557847087/100000000000000000000000"],"B17_current_tight":["295302944896150557847079/100000000000000000000000","295303581796150557847087/100000000000000000000000"],"B18_current_coarse":["22697717262731967946048477/7650000000000000000000000","90825242642927871784197071/30600000000000000000000000"],"B18_current_tight":["22697771413256967946048477/7650000000000000000000000","90791280544427871784197071/30600000000000000000000000"],"C":"33/10000","J16":["-24058670024966810206869/10000000000000000000000","-48117340049933620413617/20000000000000000000000"],"J17":["214192257402900541493867/50000000000000000000000","428384514805801082988449/100000000000000000000000"],"coarse_all_controller_chain":["11768229/4000000","295302237046150557847079/100000000000000000000000","295414569046150557847087/100000000000000000000000","2368047/800000"],"coarse_fixed18_chain":["29623473/10000000","22697717262731967946048477/7650000000000000000000000","90825242642927871784197071/30600000000000000000000000","4768533/1600000"],"g9_bounds":["32439/1600000","405801/20000000"],"gD_bounds":["443949/400000000","2232483/2000000000"],"gD_coarse_upper":"28083/25000000","one_extra_uncompensated_global_H1_excludes_these_witnesses_only":true,"special_n1_n2_current_ratio_intervals":[["847777063912865746937897/10000000000000000000000","423888563801432873468949/5000000000000000000000"],["357062882942167493800423/10000000000000000000000","14282517865286699752017/400000000000000000000"]]},{"146_n17_slack_coarse":["1255186328957885906847/12500000000000000000000","3168334143048623655979/20000000000000000000000"],"146_n17_slack_tight":["5964137082717793468013/50000000000000000000000","3165927452319323600729/20000000000000000000000"],"147_n18_slack_coarse":["372756670181747179507743/1700000000000000000000000","37315591155008417327/132812500000000000000"],"147_n18_slack_tight":["406718773789652173770243/1700000000000000000000000","4774229646184707368131/17000000000000000000000"],"B17_current_coarse":["59060582327162072931413/20000000000000000000000","18463452728301897791067/6250000000000000000000"],"B17_current_tight":["59060723897204972934663/20000000000000000000000","147652128193068932337911/50000000000000000000000"],"B18_current_coarse":["226977692725412249720411/76500000000000000000000","30275150229124339962722419/10200000000000000000000000"],"B18_current_tight":["907912936923305368931369/306000000000000000000000","30263829527921704964634919/10200000000000000000000000"],"C":"6600001/2000000000","J16":["-48117036974676293573891/20000000000000000000000","-4811703697467629357377/2000000000000000000000"],"J17":["42838612960692830310251/10000000000000000000000","17135445184277132124129/4000000000000000000000"],"coarse_all_controller_chain":["2353646154507599681/800000000000000000","59060582327162072931413/20000000000000000000000","18463452728301897791067/6250000000000000000000","11840236782893598321/4000000000000000000"],"coarse_fixed18_chain":["5924695492381199197/2000000000000000000","226977692725412249720411/76500000000000000000000","30275150229124339962722419/10200000000000000000000000","23842668590210396619/8000000000000000000"],"g9_bounds":["162195024423199977/8000000000000000000","81160212224399989/4000000000000000000"],"gD_bounds":["17757962670799997/16000000000000000000","89299333444399987/80000000000000000000"],"gD_coarse_upper":"5616600851/5000000000000","one_extra_uncompensated_global_H1_excludes_these_witnesses_only":true,"special_n1_n2_current_ratio_intervals":[["423888553663804226663037/5000000000000000000000","33911086840704790133053/400000000000000000000"],["89265732688000131834547/2500000000000000000000","357062994442011827338439/10000000000000000000000"]]}],"reviewed_head":"6efa248cf456d6101d757e9d09ba29711d18a13a","schema":"pr5580-isolated-tail-count-qualification/v1","scope":"Exact PR5580 head, two declared C points, strict single-use isolated nested tails, additive gains, unchanged104-port/rank8/query/whole-idle controller law; no new targets/fusions/recycling.","selected_promotion":false,"source_census_scope":"Every literal MOVE dimension and declared helper endpoint; unchanged nonprogram/scalar signatures. No chronological chart legality, row/native proof or complete source admission.","source_contact_fingerprint":{"destination":451,"new_event":12659,"new_frame":737,"old_event":12658,"old_frame":262,"source":228},"source_serialization_custody_revision_sha256":"efe80b15d50743be5a2e0934bfb831f2eda7fde00a1362eba33d191a4089719f","static_transfer_sha256":"ce5012989710292c7fbd2ad25ebb1570580349ae130bcf534710fe5de64dde45","status":"PASS_SCOPED_PR5580_SINGLE_USE_TAIL_COUNT_CERTIFICATE","word_git_blob":"9434855e7dad0d0236d23210b3e71a2b83a9ae64","word_sha256":"b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b"} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json new file mode 100644 index 0000000000..9eca7f2d6c --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT-raw.json @@ -0,0 +1,360 @@ +{ + "controls": { + "missing_source_transport": "Common scalar chart", + "non_nested_return": "Nested chronological transport", + "old_contact_frame": "Scalar destination and coefficient", + "unchanged_word": "One changed scalar chart", + "wrong_scalar_coefficient": "All 743 public and owned rows" + }, + "fixed_invoice_ceiling": { + "kappa_interval": [ + "0", + "17/5000" + ], + "moment_derivative": [ + "-100090376785506719797181787089356985109563298610876508023534659/392318858461667547739736838950479151006397215279002157056", + "-186549445205703696124004258008448731416061197407185050870233759/784637716923335095479473677900958302012794430558004314112" + ], + "scope": "This fixed paid and target invoice; the inherited BIT cap is retained." + }, + "inventory": { + "all_productive_targets_fixed": true, + "all_public_endpoints_fixed": true, + "changed_contacts": [ + [ + [ + "ADD", + 451, + 228, + "1", + 262 + ], + [ + "ADD", + 451, + 228, + "1", + 737 + ] + ] + ], + "events": 25140, + "global_paid_delta": { + "2": 18, + "3": -36, + "4": 18 + }, + "local_paid_delta": { + "2": 1, + "3": -2, + "4": 1 + }, + "ordered_scalar_events": 21686, + "owned_lifetimes_fixed": true, + "source_events": 25140 + }, + "local": { + "endpoint_coefficients": 552049, + "helpers": { + "4": 83, + "5": 5, + "8": 15, + "9": 424 + }, + "owned_lifetimes": 8, + "paid": { + "1": 2211, + "2": 459, + "3": 494, + "4": 94, + "5": 164, + "6": 18, + "7": 14 + }, + "peak_owned_fields": 1, + "public_inputs": 735, + "real_scalar_allowance": 217428 + }, + "native": { + "distinct_maps": 2921, + "helper_normalizers": 1054, + "helpers": { + "4": 83, + "5": 5, + "8": 15, + "9": 424 + }, + "main_adapters": 208, + "proof": "Every signed Pauli image and exact global phase; frame induction at every positive tensor width", + "recipe_payload_sha256": "51b77e6cc39bb8a51be9df5a3808f232a7f93e32cdd43fea8ed8aadc6cb1c7ea", + "wrong_phase_rejected": true + }, + "parent_raw_interval": [ + "154090925761/50000000000000", + "308181851523/100000000000000" + ], + "physical": { + "central_square_columns": 53248, + "full_calls": 18, + "main_targets": { + "145": 208, + "17": 416, + "25": 416, + "33": 416, + "41": 416, + "49": 416, + "57": 416, + "65": 416, + "73": 208 + }, + "new_paid_jobs": 0, + "physical_contacts": 7488, + "ports": 104, + "route_payload_sha256": "7f4f0ca768ffbc4f93dcff575592c4c67411f46b4289e45b73f715a2ad47b142", + "tensor_rule": "Factorwise native maps; scalar signs stay outside the tensor power.", + "whole_idle_jobs": { + "16": 416, + "24": 416, + "32": 416, + "40": 416, + "48": 416, + "56": 416, + "64": 416, + "72": 208 + }, + "wrapper_sites": [ + 1, + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31 + ] + }, + "raw_gain_interval": [ + "7645343/100000000000000", + "1529069/20000000000000" + ], + "result": { + "compiler": { + "H": 690116000000000, + "N": "2^690116000000000", + "eta": { + "lower": "0.000000150554445553564883795851", + "upper": "0.000000150554445553564883795852" + }, + "gap": "1/14000000000", + "integer_test_exponent": 49294, + "logarithm_power": 1000, + "theta": "63/64", + "uniform_saving": "21573233/7000000000", + "word_materialized": false + }, + "full_forward_calls": 18, + "gain": "1/12500000", + "kappa": "308189/100000000", + "kappa_decimal": ".00308189", + "margin_at_previous": { + "lower": "0.020815664773694609944898641645", + "upper": "0.020815664773694609944898641646" + }, + "negative_controls": { + "old_BIT": "Rejected by outer inequalities", + "old_cutoff": "Rejected by completion-tail ratio greater than one" + }, + "nonrecursive": { + "fixed_scalar_growth_bound": "At most 2^(16*26000) before native factors; a declared constant, not an attained norm.", + "local_routes": 5164000, + "local_scalar": 217428, + "peak_owned_fields": 1, + "raw_budget": 1000000000, + "raw_scalar_upper": 184647552, + "tensor_native_growth_bound": "Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is 6013." + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "3485999999253/3500000000000", + "fixed_halo_explicit_metadata_branch": "269500000001/3500000000", + "new_BIT_row_stock_sublinear_in_active_group": "13957999997009/14000000000000", + "new_semantic_group_guard": "3/14000000000" + }, + "margins": { + "boundary_algebraic_matrix": "604050495956853537/196000000000000000000", + "fused_gaussian": "604050495870560611/196000000000000000000", + "global_coordinate_router": "1348327/437500000", + "group_bit_router": "18876578433455019/6125000000000000000", + "group_scans": "6999999999/7000000000", + "main_transform": "604050481956853537/196000000000000000000", + "microbox_face_corrections": "269500000001/3500000000", + "polynomial_products": "13999999999/14000000000", + "sparse_union_movement": "80229050495956853537/196000000000000000000" + }, + "parameters": { + "a": "1348327/437500000", + "b": "8629293/2800000000", + "beta": "13999999997/14000000000", + "bit_saving": "17/5000", + "cap_xi": "178229050481956853537/196000000000000000000", + "complex_uniform_saving": "21573233/7000000000", + "d": "1/14000000000", + "epsilon": "13999999999/14000000000", + "kappa": "308189/100000000", + "lambda_": "3987672439/4000000000", + "lambda_prime": "13956853537/14000000000", + "layout": "1/14000000000", + "q": "43146463/14000000000", + "r0": "1/140000000000", + "stop": "1/14000000000", + "tested_saving": "6163781/2000000000" + }, + "strict_checks": { + "actual_bit_above_effective": "139173/437500000", + "actual_logarithmic_gamma_guard": "1/14000000000", + "actual_logarithmic_group_guard": "17770949539043146463/98000000000000000000", + "alpha_logarithm_absorption": "1/140000000000", + "boundary_algebraic_matrix_above_kappa": "55956853537/196000000000000000000", + "cap_above_band": "80229050481956853537/196000000000000000000", + "cap_below_cell": "17770949504043146463/196000000000000000000", + "cap_below_phase_cell_power": "213770949518043146463/196000000000000000000", + "complex_above_effective": "1/14000000000", + "complex_below_one_over_32": "78870707/2800000000", + "complex_endpoint": "1/7000000000", + "epsilon_below_one": "1/14000000000", + "epsilon_positive": "13999999999/14000000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "55870560611/196000000000000000000", + "gaussian_above_main": "6956853537/98000000000000000000", + "global_coordinate_router_above_kappa": "1/3500000000", + "global_gamma_power_slack": "9/140000000000", + "group_below_dimension": "1/7000000000", + "group_bit_router_above_kappa": "2183455019/6125000000000000000", + "group_gauge_power_slack": "17770949538343146463/98000000000000000000", + "group_key_fits_record": "1/7000000000", + "group_positive": "13999999997/14000000000", + "group_scans_above_kappa": "6978426769/7000000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "675459790400418148631/500000000000000000000000", + "lambda_above_internal": "1/28000000000", + "lambda_above_sigma": "3/28000000000", + "lambda_above_tau": "1/28000000000", + "lambda_prime_above_lambda": "1/28000000000", + "lambda_prime_above_leaf": "5591370707/39200000000000000000", + "leaf_saving_above_effective": "2791370707/39200000000000000000", + "main_transform_above_kappa": "41956853537/196000000000000000000", + "membership_arithmetic_fits_record": "1/14000000000", + "microbox_face_corrections_above_kappa": "134744606693/1750000000", + "microbox_halo_volume": "1106000000003/14000000000", + "new_complex_uniform_saving_above_b": "1/14000000000", + "new_semantic_guard_with_C1_one": "1/14000000000", + "polynomial_products_above_kappa": "13956853539/14000000000", + "positive_layout_slack": "1/14000000000", + "q_below_effective": "1/14000000000", + "q_below_internal": "1/14000000000", + "q_below_leaf": "5591370707/39200000000000000000", + "q_positive": "43146463/14000000000", + "short_record_fallback": "2791370707/2800000000", + "source_axis_superpolynomial": "1/14000000000", + "sparse_union_movement_above_kappa": "79625000055956853537/196000000000000000000", + "stop_below_one": "13999999999/14000000000", + "stop_positive": "1/14000000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/14000000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/14000000000", + "union_tag_work_per_visit_fits_record": "3/14000000000" + } + }, + "paid": { + "1": 41358, + "16": 416, + "2": 8262, + "24": 416, + "3": 8892, + "32": 416, + "4": 1692, + "40": 416, + "48": 416, + "5": 2952, + "56": 416, + "6": 324, + "64": 416, + "7": 252, + "72": 208 + }, + "paid_calls": 66852, + "previous_open_pr5569": "308181/100000000", + "productive_fields": 12814, + "query_shears": 15, + "rank_mass_surplus": 760, + "raw_headroom": [ + "248433/50000000000000", + "496867/100000000000000" + ], + "raw_root_interval": [ + "154094748433/50000000000000", + "308189496867/100000000000000" + ], + "relative_gain_percent": "800/308181", + "strictification": { + "alpha": { + "lower": "0.999999995428295380197203339867", + "upper": "0.999999995428295380197203339868" + }, + "cutoff": 17, + "delta": { + "lower": "0.954848282016379823028564479175", + "upper": "0.954848282016379823028564479176" + }, + "floor": 18, + "gamma": { + "lower": "0.967392647519607666245315102667", + "upper": "0.967392647519607666245315102668" + }, + "normalized_paid_upper": "5242880004882813/5242880536870912", + "power": 1024, + "reserve": "1/10000000000", + "tail_offset": "1/5", + "tested": "6163781/2000000000" + }, + "targets": { + "145": 208, + "17": 416, + "25": 416, + "33": 416, + "4": 1494, + "41": 416, + "49": 416, + "5": 90, + "57": 416, + "65": 416, + "73": 208, + "8": 270, + "9": 7632 + }, + "whole_idle_jobs": 3120 + }, + "status": "PASS_P104_EVENT_CONTACT_KAPPA_00308189", + "transpose": { + "arithmetic": "Dense integer rows with binary denominators; reverse chronology", + "coefficients": 552049, + "columns": 743 + } +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json new file mode 100644 index 0000000000..e9dce192e4 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-RESULT.json @@ -0,0 +1,360 @@ +{ + "controls": { + "missing_source_transport": "Common scalar chart", + "non_nested_return": "Nested chronological transport", + "old_contact_frame": "Scalar destination and coefficient", + "unchanged_word": "One changed scalar chart", + "wrong_scalar_coefficient": "All 743 public and owned rows" + }, + "fixed_invoice_ceiling": { + "kappa_interval": [ + "0", + "17/5000" + ], + "moment_derivative": [ + "-100090376785506719797181787089356985109563298610876508023534659/392318858461667547739736838950479151006397215279002157056", + "-186549445205703696124004258008448731416061197407185050870233759/784637716923335095479473677900958302012794430558004314112" + ], + "scope": "This fixed paid and target invoice; the inherited BIT cap is retained." + }, + "inventory": { + "all_productive_targets_fixed": true, + "all_public_endpoints_fixed": true, + "changed_contacts": [ + [ + [ + "ADD", + 451, + 228, + "1", + 262 + ], + [ + "ADD", + 451, + 228, + "1", + 737 + ] + ] + ], + "events": 25140, + "global_paid_delta": { + "2": 18, + "3": -36, + "4": 18 + }, + "local_paid_delta": { + "2": 1, + "3": -2, + "4": 1 + }, + "ordered_scalar_events": 21686, + "owned_lifetimes_fixed": true, + "source_events": 25140 + }, + "local": { + "endpoint_coefficients": 552049, + "helpers": { + "4": 83, + "5": 5, + "8": 15, + "9": 424 + }, + "owned_lifetimes": 8, + "paid": { + "1": 2211, + "2": 459, + "3": 494, + "4": 94, + "5": 164, + "6": 18, + "7": 14 + }, + "peak_owned_fields": 1, + "public_inputs": 735, + "real_scalar_allowance": 217428 + }, + "native": { + "distinct_maps": 2921, + "helper_normalizers": 1054, + "helpers": { + "4": 83, + "5": 5, + "8": 15, + "9": 424 + }, + "main_adapters": 208, + "proof": "Every signed Pauli image and exact global phase; frame induction at every positive tensor width", + "recipe_payload_sha256": "51b77e6cc39bb8a51be9df5a3808f232a7f93e32cdd43fea8ed8aadc6cb1c7ea", + "wrong_phase_rejected": true + }, + "parent_raw_interval": [ + "154090925761/50000000000000", + "308181851523/100000000000000" + ], + "physical": { + "central_square_columns": 53248, + "full_calls": 18, + "main_targets": { + "17": 416, + "25": 416, + "33": 416, + "41": 416, + "49": 416, + "57": 416, + "65": 416, + "73": 208, + "145": 208 + }, + "new_paid_jobs": 0, + "physical_contacts": 7488, + "ports": 104, + "route_payload_sha256": "7f4f0ca768ffbc4f93dcff575592c4c67411f46b4289e45b73f715a2ad47b142", + "tensor_rule": "Factorwise native maps; scalar signs stay outside the tensor power.", + "whole_idle_jobs": { + "16": 416, + "24": 416, + "32": 416, + "40": 416, + "48": 416, + "56": 416, + "64": 416, + "72": 208 + }, + "wrapper_sites": [ + 1, + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31 + ] + }, + "raw_gain_interval": [ + "7645343/100000000000000", + "1529069/20000000000000" + ], + "result": { + "compiler": { + "H": 690116000000000, + "N": "2^690116000000000", + "eta": { + "lower": "0.000000150554445553564883795851", + "upper": "0.000000150554445553564883795852" + }, + "gap": "1/14000000000", + "integer_test_exponent": 49294, + "logarithm_power": 1000, + "theta": "63/64", + "uniform_saving": "21573233/7000000000", + "word_materialized": false + }, + "full_forward_calls": 18, + "gain": "1/12500000", + "kappa": "308189/100000000", + "kappa_decimal": ".00308189", + "margin_at_previous": { + "lower": "0.020815664773694609944898641645", + "upper": "0.020815664773694609944898641646" + }, + "negative_controls": { + "old_BIT": "Rejected by outer inequalities", + "old_cutoff": "Rejected by completion-tail ratio greater than one" + }, + "nonrecursive": { + "fixed_scalar_growth_bound": "At most 2^(16*26000) before native factors; a declared constant, not an attained norm.", + "local_routes": 5164000, + "local_scalar": 217428, + "peak_owned_fields": 1, + "raw_budget": 1000000000, + "raw_scalar_upper": 184647552, + "tensor_native_growth_bound": "Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is 6013." + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "3485999999253/3500000000000", + "fixed_halo_explicit_metadata_branch": "269500000001/3500000000", + "new_BIT_row_stock_sublinear_in_active_group": "13957999997009/14000000000000", + "new_semantic_group_guard": "3/14000000000" + }, + "margins": { + "boundary_algebraic_matrix": "604050495956853537/196000000000000000000", + "fused_gaussian": "604050495870560611/196000000000000000000", + "global_coordinate_router": "1348327/437500000", + "group_bit_router": "18876578433455019/6125000000000000000", + "group_scans": "6999999999/7000000000", + "main_transform": "604050481956853537/196000000000000000000", + "microbox_face_corrections": "269500000001/3500000000", + "polynomial_products": "13999999999/14000000000", + "sparse_union_movement": "80229050495956853537/196000000000000000000" + }, + "parameters": { + "a": "1348327/437500000", + "b": "8629293/2800000000", + "beta": "13999999997/14000000000", + "bit_saving": "17/5000", + "cap_xi": "178229050481956853537/196000000000000000000", + "complex_uniform_saving": "21573233/7000000000", + "d": "1/14000000000", + "epsilon": "13999999999/14000000000", + "kappa": "308189/100000000", + "lambda_": "3987672439/4000000000", + "lambda_prime": "13956853537/14000000000", + "layout": "1/14000000000", + "q": "43146463/14000000000", + "r0": "1/140000000000", + "stop": "1/14000000000", + "tested_saving": "6163781/2000000000" + }, + "strict_checks": { + "actual_bit_above_effective": "139173/437500000", + "actual_logarithmic_gamma_guard": "1/14000000000", + "actual_logarithmic_group_guard": "17770949539043146463/98000000000000000000", + "alpha_logarithm_absorption": "1/140000000000", + "boundary_algebraic_matrix_above_kappa": "55956853537/196000000000000000000", + "cap_above_band": "80229050481956853537/196000000000000000000", + "cap_below_cell": "17770949504043146463/196000000000000000000", + "cap_below_phase_cell_power": "213770949518043146463/196000000000000000000", + "complex_above_effective": "1/14000000000", + "complex_below_one_over_32": "78870707/2800000000", + "complex_endpoint": "1/7000000000", + "epsilon_below_one": "1/14000000000", + "epsilon_positive": "13999999999/14000000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "55870560611/196000000000000000000", + "gaussian_above_main": "6956853537/98000000000000000000", + "global_coordinate_router_above_kappa": "1/3500000000", + "global_gamma_power_slack": "9/140000000000", + "group_below_dimension": "1/7000000000", + "group_bit_router_above_kappa": "2183455019/6125000000000000000", + "group_gauge_power_slack": "17770949538343146463/98000000000000000000", + "group_key_fits_record": "1/7000000000", + "group_positive": "13999999997/14000000000", + "group_scans_above_kappa": "6978426769/7000000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "675459790400418148631/500000000000000000000000", + "lambda_above_internal": "1/28000000000", + "lambda_above_sigma": "3/28000000000", + "lambda_above_tau": "1/28000000000", + "lambda_prime_above_lambda": "1/28000000000", + "lambda_prime_above_leaf": "5591370707/39200000000000000000", + "leaf_saving_above_effective": "2791370707/39200000000000000000", + "main_transform_above_kappa": "41956853537/196000000000000000000", + "membership_arithmetic_fits_record": "1/14000000000", + "microbox_face_corrections_above_kappa": "134744606693/1750000000", + "microbox_halo_volume": "1106000000003/14000000000", + "new_complex_uniform_saving_above_b": "1/14000000000", + "new_semantic_guard_with_C1_one": "1/14000000000", + "polynomial_products_above_kappa": "13956853539/14000000000", + "positive_layout_slack": "1/14000000000", + "q_below_effective": "1/14000000000", + "q_below_internal": "1/14000000000", + "q_below_leaf": "5591370707/39200000000000000000", + "q_positive": "43146463/14000000000", + "short_record_fallback": "2791370707/2800000000", + "source_axis_superpolynomial": "1/14000000000", + "sparse_union_movement_above_kappa": "79625000055956853537/196000000000000000000", + "stop_below_one": "13999999999/14000000000", + "stop_positive": "1/14000000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/14000000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/14000000000", + "union_tag_work_per_visit_fits_record": "3/14000000000" + } + }, + "paid": { + "1": 41358, + "2": 8262, + "3": 8892, + "4": 1692, + "5": 2952, + "6": 324, + "7": 252, + "16": 416, + "24": 416, + "32": 416, + "40": 416, + "48": 416, + "56": 416, + "64": 416, + "72": 208 + }, + "paid_calls": 66852, + "previous_open_pr5569": "308181/100000000", + "productive_fields": 12814, + "query_shears": 15, + "rank_mass_surplus": 760, + "raw_headroom": [ + "248433/50000000000000", + "496867/100000000000000" + ], + "raw_root_interval": [ + "154094748433/50000000000000", + "308189496867/100000000000000" + ], + "relative_gain_percent": "800/308181", + "strictification": { + "alpha": { + "lower": "0.999999995428295380197203339867", + "upper": "0.999999995428295380197203339868" + }, + "cutoff": 17, + "delta": { + "lower": "0.954848282016379823028564479175", + "upper": "0.954848282016379823028564479176" + }, + "floor": 18, + "gamma": { + "lower": "0.967392647519607666245315102667", + "upper": "0.967392647519607666245315102668" + }, + "normalized_paid_upper": "5242880004882813/5242880536870912", + "power": 1024, + "reserve": "1/10000000000", + "tail_offset": "1/5", + "tested": "6163781/2000000000" + }, + "targets": { + "4": 1494, + "5": 90, + "8": 270, + "9": 7632, + "17": 416, + "25": 416, + "33": 416, + "41": 416, + "49": 416, + "57": 416, + "65": 416, + "73": 208, + "145": 208 + }, + "whole_idle_jobs": 3120 + }, + "status": "PASS_P104_EVENT_CONTACT_KAPPA_00308189", + "transpose": { + "arithmetic": "Dense integer rows with binary denominators; reverse chronology", + "coefficients": 552049, + "columns": 743 + } +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json new file mode 100644 index 0000000000..acb3294aa8 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-SOURCE-CAPTURE.json @@ -0,0 +1,105 @@ +{ + "schema": "exact-changed-source-capture/v1", + "pr": 5580, + "head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "observed_start_utc": "2026-10-25T20:28:59Z", + "no_scientific_execution": true, + "text_sources": [ + { + "path": "research/p104-event-contact-step/PROOF.md", + "content": "# One contact changes the complete P104 paid profile\n\n## Source and statement\n\nThe input is the exact PR5569 word at\n`af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf`. See\n[SOURCES.json](SOURCES.json) for the source bytes and retained PR5545 engine.\nAll event numbers below are zero-based source indices.\n\nThe construction changes the chart of `ADD 451 += 228` at event 12658.\nIt retains every scalar instruction, coefficient and position in the scalar\nsequence. It also retains all 735 public initial and final frames, 527 helper\ntargets, eight owned lifetimes and the 104 literal ports.\n\nAt each of the 18 forward local calls, the paid change is\n\n```text\nH2 - 2 H3 + H4.\n```\n\nThe complete conditional claim is kappa = 0.00308189. This claim uses the\nfive inherited framework assumptions and the source helper-endpoint contract.\nIt does not change the selected record.\n\n## Exact contact identity\n\nLet O, A, B and C denote the following binary subspaces. Each list is an\nindependent basis in the fixed nine-dimensional ambient space.\n\n| Frame | Name | Basis | Dimension |\n| --- | --- | --- | --- |\n| 3 | O | `[]` | 0 |\n| 262 | A | `[11,21,486]` | 3 |\n| 737 | B | `[11,21,33,455]` | 4 |\n| 520 | C | `[1,10,20,32,64,390]` | 6 |\n\nTheir spans satisfy O < A < B < C. The replay checks these inclusions on\nthe complete binary spans. Chart transport preserves the abstract row.\nTwo transports through an intermediate chart compose to the direct transport.\nA common chart change commutes with addition of two rows.\n\nRegister 228 stays at A after event 9575. Its next scalar use after the\nchanged contact is event 12674 at C. Register 451 stays at O after event\n12591. Its next scalar use after the changed contact is event 14424 at B.\nThe constructor checks every intervening register access, including reads.\n\nThe old paths are 228: A to C, and 451: O to A to B. They meet at A for\nthe addition. The new paths are 228: A to B to C, and 451: O to B. They\nmeet at B for the same addition. Thus both abstract rows agree at their\nnext unchanged use. Every other row is unchanged. This proves the local\nidentity for arbitrary inputs, including arbitrary helper inputs.\n\nThe old bill is H3 + H3 + H1. The new bill is H1 + H2 + H4. Their\ndifference is H2 - 2 H3 + H4. Paid count and rank mass are unchanged.\nThe only newly used ordered native frame pair is (3,737). The exact\nnative replay checks this pair and all 2,921 distinct paid/target pairs,\nincluding their signed Pauli images, absolute phases and ranks.\n\n## Strict concave gain\n\nFor 0 < k < 1, x raised to 1-k is strictly concave on positive x. Hence\n\n```text\n2^(1-k) + 4^(1-k) < 2 * 3^(1-k).\n```\n\nLet M(k) be target moment minus paid moment. The new complete moment is\n\n```text\nM_new(k) = M_parent(k) + 18 * (2 * 3^(1-k) - 2^(1-k) - 4^(1-k)).\n```\n\nIt is strictly larger throughout that range. This is a change to the paid\nprofile. It is not extra numerical precision for the same equation.\n\nThe exact rational engines give these crossing intervals:\n\n| Word | Lower endpoint | Upper endpoint |\n| --- | --- | --- |\n| PR5569 | 0.00308181851522 | 0.00308181851523 |\n| This word | 0.00308189496866 | 0.00308189496867 |\n\nThe raw gain is strictly between 0.00000007645343 and 0.00000007645345.\nThe claimed endpoint is 0.00308189; it is tested at 0.0030818905. Its raw\nheadroom is between 0.00000000496866 and 0.00000000496867.\n\nThe checker also bounds M_new'(k) with rational intervals on [0,0.0034].\nThe derivative lies between -255126 and -237752, so the crossing is unique\non that band. Its upper endpoint is the raw funding ceiling for this fixed\ninvoice under the retained BIT cap. A different word, endpoint contract or\nBIT supplier is outside this ceiling. No global optimum is claimed.\n\n## Complete caller and costs\n\nThe unchanged caller has 18 forward local calls, 15 query shears and\n3,120 whole idle jobs. It has 66,852 paid jobs, 12,814 productive fields,\nrank-mass surplus 760, maximum paid rank 72 and maximum target rank 145.\nThe verifier derives the invoice from the physical event list and checks it\nagain from the two controller path lengths. It prices all helper targets,\nnormalizers, main adapters, query shears, idles, routes and owned operations.\n\nThere are 25,140 local events and 21,686 scalar/owned events. The scalar\nallowance is 217,428, the route allowance is 5,164,000 and the complete\nnonrecursive bound is 184,647,552, below the retained 1,000,000,000 budget.\nPeak owned occupancy stays one. The sum of local paid ranks is 6,013.\nThe source report's old literal 5,894 is replaced by this derived sum in\nthe native growth bound. This report correction does not change the\nmoment or the claimed gain.\n\nTwo exact moment engines check the tested endpoint. The compiler checks\ninclude all three tail ratios, the completion and splitting terms, the\ninteger threshold and the retained BIT stock. All 54 strict and four\nfunctional outer predicates are positive. The source engine rejects its\ninsufficient BIT and old-cutoff controls. The new controls reject a missing\nsource transport, a wrong contact frame, a wrong coefficient, a descending\npublic return and the unchanged word presented as an improvement.\n\n## Scope\n\nThis is an author-checked conditional construction. Finite exact replay\nand the chart identity do not prove the full integer multiplication theorem.\nThe native all-column realization, owned erasure, uniform compiler closure,\nprecision/fixed-tape execution and analytic recovery remain inherited\nassumptions. The free helper endpoints are inherited from PR5561/PR5569;\nthis contact changes none of them. The enormous uniform word and a complete\nrounded multiplier are not materialized. Independent scientific review and\nhosted CI are separate from the local checks.\n\nAli Romman with substantial OpenAI Codex assistance. Apache-2.0.\nAll retained source notices and predecessor credit remain in the package.\n", + "encoding": "utf-8", + "sha": "0051c81df52e274ba24170019d4c348679b05058", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/PROOF.md", + "display_title": "PROOF.md" + }, + { + "path": "research/p104-event-contact-step/RESULT.json", + "content": "{\n \"controls\": {\n \"missing_source_transport\": \"Common scalar chart\",\n \"non_nested_return\": \"Nested chronological transport\",\n \"old_contact_frame\": \"Scalar destination and coefficient\",\n \"unchanged_word\": \"One changed scalar chart\",\n \"wrong_scalar_coefficient\": \"All 743 public and owned rows\"\n },\n \"fixed_invoice_ceiling\": {\n \"kappa_interval\": [\n \"0\",\n \"17/5000\"\n ],\n \"moment_derivative\": [\n \"-100090376785506719797181787089356985109563298610876508023534659/392318858461667547739736838950479151006397215279002157056\",\n \"-186549445205703696124004258008448731416061197407185050870233759/784637716923335095479473677900958302012794430558004314112\"\n ],\n \"scope\": \"This fixed paid and target invoice; the inherited BIT cap is retained.\"\n },\n \"inventory\": {\n \"all_productive_targets_fixed\": true,\n \"all_public_endpoints_fixed\": true,\n \"changed_contacts\": [\n [\n [\n \"ADD\",\n 451,\n 228,\n \"1\",\n 262\n ],\n [\n \"ADD\",\n 451,\n 228,\n \"1\",\n 737\n ]\n ]\n ],\n \"events\": 25140,\n \"global_paid_delta\": {\n \"2\": 18,\n \"3\": -36,\n \"4\": 18\n },\n \"local_paid_delta\": {\n \"2\": 1,\n \"3\": -2,\n \"4\": 1\n },\n \"ordered_scalar_events\": 21686,\n \"owned_lifetimes_fixed\": true,\n \"source_events\": 25140\n },\n \"local\": {\n \"endpoint_coefficients\": 552049,\n \"helpers\": {\n \"4\": 83,\n \"5\": 5,\n \"8\": 15,\n \"9\": 424\n },\n \"owned_lifetimes\": 8,\n \"paid\": {\n \"1\": 2211,\n \"2\": 459,\n \"3\": 494,\n \"4\": 94,\n \"5\": 164,\n \"6\": 18,\n \"7\": 14\n },\n \"peak_owned_fields\": 1,\n \"public_inputs\": 735,\n \"real_scalar_allowance\": 217428\n },\n \"native\": {\n \"distinct_maps\": 2921,\n \"helper_normalizers\": 1054,\n \"helpers\": {\n \"4\": 83,\n \"5\": 5,\n \"8\": 15,\n \"9\": 424\n },\n \"main_adapters\": 208,\n \"proof\": \"Every signed Pauli image and exact global phase; frame induction at every positive tensor width\",\n \"recipe_payload_sha256\": \"51b77e6cc39bb8a51be9df5a3808f232a7f93e32cdd43fea8ed8aadc6cb1c7ea\",\n \"wrong_phase_rejected\": true\n },\n \"parent_raw_interval\": [\n \"154090925761/50000000000000\",\n \"308181851523/100000000000000\"\n ],\n \"physical\": {\n \"central_square_columns\": 53248,\n \"full_calls\": 18,\n \"main_targets\": {\n \"145\": 208,\n \"17\": 416,\n \"25\": 416,\n \"33\": 416,\n \"41\": 416,\n \"49\": 416,\n \"57\": 416,\n \"65\": 416,\n \"73\": 208\n },\n \"new_paid_jobs\": 0,\n \"physical_contacts\": 7488,\n \"ports\": 104,\n \"route_payload_sha256\": \"7f4f0ca768ffbc4f93dcff575592c4c67411f46b4289e45b73f715a2ad47b142\",\n \"tensor_rule\": \"Factorwise native maps; scalar signs stay outside the tensor power.\",\n \"whole_idle_jobs\": {\n \"16\": 416,\n \"24\": 416,\n \"32\": 416,\n \"40\": 416,\n \"48\": 416,\n \"56\": 416,\n \"64\": 416,\n \"72\": 208\n },\n \"wrapper_sites\": [\n 1,\n 3,\n 5,\n 7,\n 9,\n 11,\n 13,\n 15,\n 17,\n 19,\n 21,\n 23,\n 25,\n 27,\n 29,\n 31\n ]\n },\n \"raw_gain_interval\": [\n \"7645343/100000000000000\",\n \"1529069/20000000000000\"\n ],\n \"result\": {\n \"compiler\": {\n \"H\": 690116000000000,\n \"N\": \"2^690116000000000\",\n \"eta\": {\n \"lower\": \"0.000000150554445553564883795851\",\n \"upper\": \"0.000000150554445553564883795852\"\n },\n \"gap\": \"1/14000000000\",\n \"integer_test_exponent\": 49294,\n \"logarithm_power\": 1000,\n \"theta\": \"63/64\",\n \"uniform_saving\": \"21573233/7000000000\",\n \"word_materialized\": false\n },\n \"full_forward_calls\": 18,\n \"gain\": \"1/12500000\",\n \"kappa\": \"308189/100000000\",\n \"kappa_decimal\": \".00308189\",\n \"margin_at_previous\": {\n \"lower\": \"0.020815664773694609944898641645\",\n \"upper\": \"0.020815664773694609944898641646\"\n },\n \"negative_controls\": {\n \"old_BIT\": \"Rejected by outer inequalities\",\n \"old_cutoff\": \"Rejected by completion-tail ratio greater than one\"\n },\n \"nonrecursive\": {\n \"fixed_scalar_growth_bound\": \"At most 2^(16*26000) before native factors; a declared constant, not an attained norm.\",\n \"local_routes\": 5164000,\n \"local_scalar\": 217428,\n \"peak_owned_fields\": 1,\n \"raw_budget\": 1000000000,\n \"raw_scalar_upper\": 184647552,\n \"tensor_native_growth_bound\": \"Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is 6013.\"\n },\n \"ordinary_BIT\": {\n \"admitted\": \"17/5000\",\n \"after_cover\": \"69/20000\",\n \"atom\": \"1/250\",\n \"before_cover\": \"3459/1000000\",\n \"ordinary_saving\": \"8590884599/2500000000000\",\n \"prime_rule\": \"odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses\"\n },\n \"outer\": {\n \"functional_checks\": {\n \"actual_new_BIT_stock_sublinear\": \"3485999999253/3500000000000\",\n \"fixed_halo_explicit_metadata_branch\": \"269500000001/3500000000\",\n \"new_BIT_row_stock_sublinear_in_active_group\": \"13957999997009/14000000000000\",\n \"new_semantic_group_guard\": \"3/14000000000\"\n },\n \"margins\": {\n \"boundary_algebraic_matrix\": \"604050495956853537/196000000000000000000\",\n \"fused_gaussian\": \"604050495870560611/196000000000000000000\",\n \"global_coordinate_router\": \"1348327/437500000\",\n \"group_bit_router\": \"18876578433455019/6125000000000000000\",\n \"group_scans\": \"6999999999/7000000000\",\n \"main_transform\": \"604050481956853537/196000000000000000000\",\n \"microbox_face_corrections\": \"269500000001/3500000000\",\n \"polynomial_products\": \"13999999999/14000000000\",\n \"sparse_union_movement\": \"80229050495956853537/196000000000000000000\"\n },\n \"parameters\": {\n \"a\": \"1348327/437500000\",\n \"b\": \"8629293/2800000000\",\n \"beta\": \"13999999997/14000000000\",\n \"bit_saving\": \"17/5000\",\n \"cap_xi\": \"178229050481956853537/196000000000000000000\",\n \"complex_uniform_saving\": \"21573233/7000000000\",\n \"d\": \"1/14000000000\",\n \"epsilon\": \"13999999999/14000000000\",\n \"kappa\": \"308189/100000000\",\n \"lambda_\": \"3987672439/4000000000\",\n \"lambda_prime\": \"13956853537/14000000000\",\n \"layout\": \"1/14000000000\",\n \"q\": \"43146463/14000000000\",\n \"r0\": \"1/140000000000\",\n \"stop\": \"1/14000000000\",\n \"tested_saving\": \"6163781/2000000000\"\n },\n \"strict_checks\": {\n \"actual_bit_above_effective\": \"139173/437500000\",\n \"actual_logarithmic_gamma_guard\": \"1/14000000000\",\n \"actual_logarithmic_group_guard\": \"17770949539043146463/98000000000000000000\",\n \"alpha_logarithm_absorption\": \"1/140000000000\",\n \"boundary_algebraic_matrix_above_kappa\": \"55956853537/196000000000000000000\",\n \"cap_above_band\": \"80229050481956853537/196000000000000000000\",\n \"cap_below_cell\": \"17770949504043146463/196000000000000000000\",\n \"cap_below_phase_cell_power\": \"213770949518043146463/196000000000000000000\",\n \"complex_above_effective\": \"1/14000000000\",\n \"complex_below_one_over_32\": \"78870707/2800000000\",\n \"complex_endpoint\": \"1/7000000000\",\n \"epsilon_below_one\": \"1/14000000000\",\n \"epsilon_positive\": \"13999999999/14000000000\",\n \"fine_prime_halo_umbrella\": \"7/2\",\n \"fused_gaussian_above_kappa\": \"55870560611/196000000000000000000\",\n \"gaussian_above_main\": \"6956853537/98000000000000000000\",\n \"global_coordinate_router_above_kappa\": \"1/3500000000\",\n \"global_gamma_power_slack\": \"9/140000000000\",\n \"group_below_dimension\": \"1/7000000000\",\n \"group_bit_router_above_kappa\": \"2183455019/6125000000000000000\",\n \"group_gauge_power_slack\": \"17770949538343146463/98000000000000000000\",\n \"group_key_fits_record\": \"1/7000000000\",\n \"group_positive\": \"13999999997/14000000000\",\n \"group_scans_above_kappa\": \"6978426769/7000000000\",\n \"halo_covers_generic_inverse_radius\": \"5\",\n \"improvement_over_user_baseline\": \"675459790400418148631/500000000000000000000000\",\n \"lambda_above_internal\": \"1/28000000000\",\n \"lambda_above_sigma\": \"3/28000000000\",\n \"lambda_above_tau\": \"1/28000000000\",\n \"lambda_prime_above_lambda\": \"1/28000000000\",\n \"lambda_prime_above_leaf\": \"5591370707/39200000000000000000\",\n \"leaf_saving_above_effective\": \"2791370707/39200000000000000000\",\n \"main_transform_above_kappa\": \"41956853537/196000000000000000000\",\n \"membership_arithmetic_fits_record\": \"1/14000000000\",\n \"microbox_face_corrections_above_kappa\": \"134744606693/1750000000\",\n \"microbox_halo_volume\": \"1106000000003/14000000000\",\n \"new_complex_uniform_saving_above_b\": \"1/14000000000\",\n \"new_semantic_guard_with_C1_one\": \"1/14000000000\",\n \"polynomial_products_above_kappa\": \"13956853539/14000000000\",\n \"positive_layout_slack\": \"1/14000000000\",\n \"q_below_effective\": \"1/14000000000\",\n \"q_below_internal\": \"1/14000000000\",\n \"q_below_leaf\": \"5591370707/39200000000000000000\",\n \"q_positive\": \"43146463/14000000000\",\n \"short_record_fallback\": \"2791370707/2800000000\",\n \"source_axis_superpolynomial\": \"1/14000000000\",\n \"sparse_union_movement_above_kappa\": \"79625000055956853537/196000000000000000000\",\n \"stop_below_one\": \"13999999999/14000000000\",\n \"stop_positive\": \"1/14000000000\",\n \"strassen_integer_power_gap\": \"1951441519231\",\n \"support_router_span\": \"3/14000000000\",\n \"theta_positive_polynomial_power\": \"2\",\n \"union_header_fits_record\": \"3/14000000000\",\n \"union_tag_work_per_visit_fits_record\": \"3/14000000000\"\n }\n },\n \"paid\": {\n \"1\": 41358,\n \"16\": 416,\n \"2\": 8262,\n \"24\": 416,\n \"3\": 8892,\n \"32\": 416,\n \"4\": 1692,\n \"40\": 416,\n \"48\": 416,\n \"5\": 2952,\n \"56\": 416,\n \"6\": 324,\n \"64\": 416,\n \"7\": 252,\n \"72\": 208\n },\n \"paid_calls\": 66852,\n \"previous_open_pr5569\": \"308181/100000000\",\n \"productive_fields\": 12814,\n \"query_shears\": 15,\n \"rank_mass_surplus\": 760,\n \"raw_headroom\": [\n \"248433/50000000000000\",\n \"496867/100000000000000\"\n ],\n \"raw_root_interval\": [\n \"154094748433/50000000000000\",\n \"308189496867/100000000000000\"\n ],\n \"relative_gain_percent\": \"800/308181\",\n \"strictification\": {\n \"alpha\": {\n \"lower\": \"0.999999995428295380197203339867\",\n \"upper\": \"0.999999995428295380197203339868\"\n },\n \"cutoff\": 17,\n \"delta\": {\n \"lower\": \"0.954848282016379823028564479175\",\n \"upper\": \"0.954848282016379823028564479176\"\n },\n \"floor\": 18,\n \"gamma\": {\n \"lower\": \"0.967392647519607666245315102667\",\n \"upper\": \"0.967392647519607666245315102668\"\n },\n \"normalized_paid_upper\": \"5242880004882813/5242880536870912\",\n \"power\": 1024,\n \"reserve\": \"1/10000000000\",\n \"tail_offset\": \"1/5\",\n \"tested\": \"6163781/2000000000\"\n },\n \"targets\": {\n \"145\": 208,\n \"17\": 416,\n \"25\": 416,\n \"33\": 416,\n \"4\": 1494,\n \"41\": 416,\n \"49\": 416,\n \"5\": 90,\n \"57\": 416,\n \"65\": 416,\n \"73\": 208,\n \"8\": 270,\n \"9\": 7632\n },\n \"whole_idle_jobs\": 3120\n },\n \"status\": \"PASS_P104_EVENT_CONTACT_KAPPA_00308189\",\n \"transpose\": {\n \"arithmetic\": \"Dense integer rows with binary denominators; reverse chronology\",\n \"coefficients\": 552049,\n \"columns\": 743\n }\n}\n", + "encoding": "utf-8", + "sha": "9eca7f2d6c2f09886ccd57a32fed8462bb539aa6", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/RESULT.json", + "display_title": "RESULT.json" + }, + { + "path": "research/p104-event-contact-step/SOURCES.json", + "content": "{\n \"schema_version\": 1,\n \"base_commit\": \"5e0052ca0aa3036a3afa8b0438927377c8d97d53\",\n \"files\": [\n {\n \"path\": \"certificates/selected-result.json\",\n \"usage\": \"provenance\",\n \"git_blob\": \"fc3d4ba105e1f097d0d7d051a308281e86ab1446\",\n \"sha256\": \"66974efdced4083c00025f97d95d83909a226cdf801edb9301c195c6641f6903\"\n },\n {\n \"path\": \"docs/research/agent-task-catalog.json\",\n \"usage\": \"provenance\",\n \"git_blob\": \"f126dd2e2dad2b669e75d1d0d0bd05c600725602\",\n \"sha256\": \"f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72\"\n }\n ],\n \"retained_source\": {\n \"path\": \"research/p104-event-contact-step/inputs/pr5545-source-closure.tar.gz\",\n \"sha256\": \"59768da554e11b11fae52d07f520f50684cc7a9ee0bec2873edbcd6b63814837\",\n \"export_manifest_sha256\": \"0a20358f9c089be1f5606c78077314e30a72998fb3c5123848d921a8d1814e76\",\n \"commit\": \"18968423711fd902aaee1099979497d55603e1dc\",\n \"files\": 33,\n \"source_url\": \"https://github.com/CrocSwap/integer-mult-bounds/pull/5545\",\n \"note\": \"Byte-identical copy of the capsule retained by PR5551/PR5561; used UNMODIFIED (the hand-off word keeps 735 public inputs).\"\n },\n \"external_inputs\": [\n {\n \"local_path\": \"inputs/pr5569-WORD.json.gz\",\n \"source_repository\": \"GamingPuzzled/integer-mult-bounds\",\n \"source_commit\": \"af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf\",\n \"source_path\": \"research/p104-priced-handoff/WORD.json.gz\",\n \"sha256\": \"12224e9a13a49c830b304338a8d31610fb43da15d1a650537733c27f7864310f\",\n \"git_blob\": \"3f4eb4be87a2f7a96391c39d960eedeb7bef5d1c\"\n },\n {\n \"local_path\": \"inputs/pr5569-pricing.py\",\n \"source_repository\": \"GamingPuzzled/integer-mult-bounds\",\n \"source_commit\": \"af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf\",\n \"source_path\": \"research/p104-priced-handoff/pricing.py\",\n \"sha256\": \"a4df92b46234bb56a966df30d9c1d43251e1346e9a1ad06cf5ee30a79c7ae591\",\n \"git_blob\": \"bb135338f1c57c48147cb214d14f542cdfe4e533\"\n },\n {\n \"local_path\": \"common.py\",\n \"source_repository\": \"GamingPuzzled/integer-mult-bounds\",\n \"source_commit\": \"af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf\",\n \"source_path\": \"research/p104-priced-handoff/common.py\",\n \"sha256\": \"e7c1bd9bfc0060d2d55da5c6e61cd3fae756e0fc8facacc2a074061d2f73c800\",\n \"git_blob\": \"bd244313fc023a737055415f87003f2963c290f6\"\n }\n ],\n \"retained_source_scope\": \"The unchanged PR5545 official source export is an executable dependency. All 33 payloads, the inventory and archive hash are checked before import. This source is not new work.\",\n \"discovery_source\": {\n \"pr\": 5568,\n \"commit\": \"47a347ff70044615e7be6581d275d12f5df38295\",\n \"scope\": \"The event-level lattice and invoice model informed discovery. The submitted construction is one explicit contact edit and replay needs no solver.\"\n }\n}\n", + "encoding": "utf-8", + "sha": "cc8d088329bed6e6bad65bbcf38073f07765067a", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/SOURCES.json", + "display_title": "SOURCES.json" + }, + { + "path": "research/p104-event-contact-step/construct.py", + "content": "\"\"\"Change one contact on the PR5569 P104 word.\n\nAli Romman with substantial OpenAI Codex assistance. Apache-2.0.\nThe source word is by GamingPuzzled, DreamingOfClouds, thu-nmrc,\nAli Romman and the retained P104 contributors. See README.md.\n\"\"\"\nfrom copy import deepcopy\n\n\ndef need(ok, why):\n if not ok:\n raise ValueError(why)\n\n\ndef construct(source):\n word = deepcopy(source)\n old = source['program']\n expected = {\n 9575: ['ADD', 228, 225, '1', 262],\n 12591: ['ADD', 160, 451, '1/2', 3],\n 12657: ['MOVE', 451, 3, 262, False],\n 12658: ['ADD', 451, 228, '1', 262],\n 12673: ['MOVE', 228, 262, 520, False],\n 12674: ['ADD', 497, 228, '1', 520],\n 14422: ['MOVE', 451, 262, 737, False],\n 14424: ['ADD', 451, 732, '-4', 737],\n }\n need(len(old) == 25140, 'Exact source event count')\n need(all(old[i] == e for i, e in expected.items()), 'Exact source contacts')\n for r, start, stop, visits in (\n (228, 9576, 12674, [12658, 12673]),\n (451, 12592, 14424, [12657, 12658, 14422])):\n actual = []\n for i in range(start, stop):\n e = old[i]\n used = e[1:3] if e[0] in ('ADD', 'COPY') else e[1:2]\n if r in used:\n actual.append(i)\n need(actual == visits, 'No other contact in the changed interval')\n replacement = {\n 12657: [['MOVE', 228, 262, 737, False],\n ['MOVE', 451, 3, 737, False]],\n 12658: [['ADD', 451, 228, '1', 737]],\n 12673: [['MOVE', 228, 737, 520, False]],\n 14422: [],\n }\n word['program'] = [e for i, old_event in enumerate(old)\n for e in replacement.get(i, [deepcopy(old_event)])]\n need(len(word['program']) == len(old), 'Same event count')\n return word\n", + "encoding": "utf-8", + "sha": "8ce13980a4bd563a1146f7602307720f9ec3231d", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/construct.py", + "display_title": "construct.py" + }, + { + "path": "research/p104-event-contact-step/pricing.py", + "content": "\"\"\"Complete mixed-target price, compiler and outer transfer.\n\nThe interval and compiler bounds follow zxv and Cao Yifan. The productive\nrecursion is by Jacob Alan Sussman. The controller is by Cinna Davis.\nAdapted from Ali Romman's PR5544/5545 for the two coupled contact changes.\nSuccessor choices prepared for thu-nmrc with substantial OpenAI Codex assistance.\nAli Romman's complete caller/price proof and all predecessor credit are retained.\nApache-2.0.\n\"\"\"\nfrom collections import Counter\nfrom fractions import Fraction as Q\nimport local as L\n\nKAPPA, TESTED = Q('.00308189'), Q('.0030818905')\nPREVIOUS = Q('.00308181')\n\n\ndef encode(x):\n if isinstance(x,Q):\n return str(x)\n if isinstance(x,dict):\n return {str(k):encode(v) for k,v in x.items()}\n if isinstance(x,(list,tuple)):\n return [encode(v) for v in x]\n return x\n\n\ndef assemble(local, native, word, physical):\n paid, targets = Counter(), Counter()\n counts = Counter()\n L.need(local['helpers'] == native['helpers'], 'Every productive helper has a native target')\n for e in word['physical_events']:\n counts[e[0]] += 1\n if e[0] == 'LOCAL':\n L.need(e[3] is False, 'Every source invocation is forward')\n paid.update(local['paid'])\n targets.update(local['helpers'])\n elif e[0] == 'QUERY_SHEAR':\n paid[1] += 104\n elif e[0] == 'IDLE':\n paid[8*len(e[2])] += 208\n main = Counter()\n idle = Counter({8*len(e[2]):0 for e in word['physical_events'] if e[0] == 'IDLE'})\n for e in word['physical_events']:\n if e[0] == 'IDLE':\n idle[8*len(e[2])] += 208\n L.need(idle == physical['whole_idle_jobs'], 'Every whole idle has a native Gaussian and full rank')\n for term in word['diagonal']:\n main[1+8*sum(term[1:])] += 104\n L.need(main == physical['main_targets'], 'Every main target has its full native phase')\n targets.update(main)\n L.need(counts['LOCAL'] == 18 and counts['QUERY_SHEAR'] == counts['IDLE'] == 15, 'Complete call census')\n # Recount by the two path lengths, without using emitted main diagonals.\n second_t = Counter({r:18*n for r,n in local['helpers'].items()})\n second_p = Counter({r:18*n for r,n in local['paid'].items()})\n second_t[145] += 208\n second_p[1] += 15*104\n for length in (7,8):\n for j in range(1,length+1):\n second_t[1+8*(j+1)] += 208\n second_p[8*(j+1)] += 208\n L.need((targets,paid) == (second_t,second_p), 'Independent full invoice')\n L.need(max(targets) == 145 and max(paid) == 72, 'Maximum recursive ranks')\n L.need(sum(targets.values()) == 12814 and sum(paid.values()) == 66852, 'Complete field and call counts')\n L.need(sum(r*n for r,n in targets.items())-sum(r*n for r,n in paid.items()) == 760, 'Complete rank surplus')\n return targets,paid,counts\n\n\ndef run(local,native,word,physical):\n T,P,counts = assemble(local,native,word,physical)\n E = L.load(L.ROOT/'research/higher-moment-strictification/verify.py','p104_productive_intervals')\n other = L.load(L.ROOT/'research/kappa-rebuild/architecture/mixed_target_probe.py','p104_productive_second_intervals')\n def margin(k):\n a,b = E.moment(T,1-k), E.moment(P,1-k)\n return a[0]-b[1],a[1]-b[0]\n lo,hi,grid = 0,10**12,10**14\n while hi-lo > 1:\n m=(lo+hi)//2\n if margin(Q(m,grid))[0] > 0:\n lo=m\n else:\n hi=m\n lower,upper = Q(lo,grid),Q(hi,grid)\n L.need(margin(lower)[0] > 0 and margin(upper)[1] < 0, 'Strict rational crossing enclosure')\n L.need(PREVIOUS < KAPPA < TESTED < lower and margin(PREVIOUS)[0] > 0, 'Changed complete bill improves selected kappa')\n t,u,v,c,b = 1-TESTED,Q(1,5),1024,17,18\n target,paid = E.moment(T,t),E.moment(P,t)\n tl,th = other.moment(T,TESTED)\n pl,ph = other.moment(P,TESTED)\n L.need(tl > ph and max(tl,target[0]) <= min(th,target[1]) and max(pl,paid[0]) <= min(ph,paid[1]), 'Two exact moment engines')\n alpha = E.divide(paid,target)\n gamma = E.divide(E.moment(P,t+u),E.mul(E.power(c,u),target))\n delta = E.divide((Q(sum(T.values())*b),)*2,E.mul(E.power(c,TESTED),target))\n reserve,decay = Q(1,10**10),Q(97,100)\n L.need(alpha[1] < 1-reserve and gamma[1] < decay and delta[1] < decay, 'All three charged tail ratios')\n L.need(decay**128 < Q(1,16), 'Both tail decay blocks')\n normalized = 1/(1+v*reserve)+Q(4,2**32)\n L.need(normalized < 1 and c**64 < b**63, 'Full completion, splitting and rounding charges')\n theta,power = Q(63,64),1000\n eta = E.scale(E.power(145,-v*TESTED),t)\n L.need(2*(c**v)**64 <= (145**v)**63 and eta[0] > theta**power, 'Shifted exits and complement capacity')\n L.need(E.power(145,v*TESTED)[1] < 2**power, 'Compiler initial range')\n gap = (TESTED-KAPPA)/7\n L.need(gap.numerator == 1, 'Exact compiler integer grid')\n step = gap.denominator\n def wins(j):\n return (step*j+1)**power < 2**j\n left,right=1,2\n while not wins(right):\n left,right=right,2*right\n while right-left > 1:\n m=(left+right)//2\n if wins(m):\n right=m\n else:\n left=m\n H=step*right\n L.need(H > 8*v and wins(right) and not wins(right-1), 'Finite uniform threshold with predecessor rejection')\n local_routes = (sum(local['paid'].values())+native['helper_normalizers']+native['main_adapters']+4*104+4*local['owned_lifetimes'])*1000\n L.need(local['real_scalar_allowance']+local_routes < 10**7, 'Every local scalar, route and owned operation is funded')\n boundary = sum(len(word['boundaries'][side+'_program']) for side in ('left','right'))\n raw = 18*10**7 + 15*1664 + 32*104*(len(word['physical_events'])+boundary)\n raw += 32*104*(26+1000)\n L.need(raw < 10**9, 'Complete nonrecursive raw bound')\n bit = L.read(L.ROOT/'research/query-thinned-controllers/RESULT.json')['ordinary_BIT']\n atom = Q(bit['atom'])\n ordinary=(1-atom)*Q(bit['after_cover'])+atom*Q('.0000384599')\n admitted=Q(bit['admitted'])\n L.need(atom > ordinary > admitted > TESTED and atom < 1-ordinary, 'Retained BIT admission and stock')\n outer_module=L.load(L.ROOT/'research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py','p104_productive_outer')\n params={'kappa':KAPPA,'tested_saving':TESTED,'complex_uniform_saving':KAPPA+6*gap,\n 'b':KAPPA+5*gap,'a':KAPPA+4*gap,'q':KAPPA+3*gap,'bit_saving':admitted,\n 'epsilon':1-gap,'beta':1-3*gap,'r0':gap/10,'stop':gap,'layout':gap,'d':gap}\n outer=outer_module.ledger(params)\n outer['functional_checks']['actual_new_BIT_stock_sublinear']=params['beta']*(1-atom)\n L.need(len(outer['strict_checks']) == 54 and len(outer['functional_checks']) == 4, 'Complete outer predicate inventory')\n L.need(all(x > 0 for key in ('strict_checks','functional_checks') for x in outer[key].values()), 'All outer inequalities strict')\n wrong_cutoff = E.divide((Q(sum(T.values())*21),)*2,E.mul(E.power(20,TESTED),target))\n L.need(wrong_cutoff[0] > 1, 'Old cutoff fails with this helper inventory')\n bad=outer_module.ledger(dict(params,bit_saving=Q('.0027')))\n L.need(any(x <= 0 for x in bad['strict_checks'].values()), 'Insufficient BIT contract rejected')\n return encode({'kappa':KAPPA,'kappa_decimal':'.00308189','previous_open_pr5569':PREVIOUS,'gain':KAPPA-PREVIOUS,\n 'relative_gain_percent':100*(KAPPA/PREVIOUS-1),'raw_root_interval':[lower,upper],\n 'raw_headroom':[lower-KAPPA,upper-KAPPA],'margin_at_previous':E.display(margin(PREVIOUS)),\n 'targets':T,'paid':P,'productive_fields':sum(T.values()),'paid_calls':sum(P.values()),\n 'rank_mass_surplus':760,'full_forward_calls':18,'query_shears':15,'whole_idle_jobs':3120,\n 'strictification':{'tested':TESTED,'power':v,'cutoff':c,'floor':b,'tail_offset':u,'reserve':reserve,\n 'alpha':E.display(alpha),'gamma':E.display(gamma),'delta':E.display(delta),'normalized_paid_upper':normalized},\n 'compiler':{'theta':theta,'logarithm_power':power,'eta':E.display(eta),'gap':gap,'H':H,'N':'2^'+str(H),\n 'integer_test_exponent':right,'uniform_saving':params['complex_uniform_saving'],'word_materialized':False},\n 'nonrecursive':{'local_scalar':local['real_scalar_allowance'],'local_routes':local_routes,\n 'raw_scalar_upper':raw,'raw_budget':10**9,'peak_owned_fields':1,\n 'fixed_scalar_growth_bound':'At most 2^(16*26000) before native factors; a declared constant, not an attained norm.',\n 'tensor_native_growth_bound':f'Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is {sum(r*n for r,n in local[\"paid\"].items())}.'},\n 'ordinary_BIT':bit,'outer':outer,\n 'negative_controls':{'old_cutoff':'Rejected by completion-tail ratio greater than one','old_BIT':'Rejected by outer inequalities'}})\n", + "encoding": "utf-8", + "sha": "f8f09be7a16542b924bba903867f71f2a092840f", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/pricing.py", + "display_title": "pricing.py" + }, + { + "path": "research/p104-event-contact-step/VERIFY.json", + "content": "{\n \"schema_version\": 1,\n \"status\": \"ready\",\n \"python\": \"3.12\",\n \"requirements\": [],\n \"inputs\": [],\n \"commands\": [\n {\n \"argv\": [\n \"{python}\",\n \"-W\",\n \"error\",\n \"-B\",\n \"{package}/verify.py\"\n ],\n \"timeout_seconds\": 540,\n \"checks\": \"Authenticate source bytes and all 33 archive payloads; regenerate the exact word; replay both arbitrary-input endpoints, dense transpose, all native maps and the full physical caller; check the complete invoice, two rational moment engines, fixed-invoice derivative, compiler, 58 outer predicates and negative controls; compare the complete receipt.\"\n },\n {\n \"argv\": [\n \"{python}\",\n \"-W\",\n \"error\",\n \"-B\",\n \"-O\",\n \"{package}/verify.py\"\n ],\n \"timeout_seconds\": 540,\n \"checks\": \"Authenticate source bytes and all 33 archive payloads; regenerate the exact word; replay both arbitrary-input endpoints, dense transpose, all native maps and the full physical caller; check the complete invoice, two rational moment engines, fixed-invoice derivative, compiler, 58 outer predicates and negative controls; compare the complete receipt.\"\n }\n ]\n}\n", + "encoding": "utf-8", + "sha": "fdc944a1e838acae185a30523a7769685dd754a5", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/VERIFY.json", + "display_title": "VERIFY.json" + }, + { + "path": "research/p104-event-contact-step/VALIDATION.md", + "content": "# Verification record\n\nThe source word is PR5569 at\n`af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf`. The base is canonical main\n`5e0052ca0aa3036a3afa8b0438927377c8d97d53`. The selected record is unchanged.\n\nThe development replay passed on macOS arm64 with CPython 3.12.13.\nThe word and complete bill are recorded in RESULT.json. The registered warning-strict normal and optimized commands both passed.\nEach printed `PASS_P104_EVENT_CONTACT_KAPPA_00308189`; the launcher printed\n`PASS_REGISTERED_RESEARCH_PACKAGE research/p104-event-contact-step outcome=completed`. No hosted CI or independent scientific pass is asserted here.\n\nThe exact checks include 735 public inputs, all 743 endpoint rows, 552,049\ndense transpose coefficients, all 2,921 signed native pairs, 7,488 physical\ncontacts, 53,248 central-square columns, 104 ports and 18 full calls. The\ncomplete funding check uses two rational moment engines and all 58 outer\npredicates. Four invalid contact words and one unchanged-word control are\nrejected. The retained native-phase, BIT and cutoff controls also reject.\n\nThe source export authenticates 33 retained payloads. The PR5569 word,\npricing source and source-loader copy have exact Git blob and SHA256 pins.\nThe verifier imports no solver. Search output is not verification evidence.\n\nThe full selected-frontier replay, all historical research tests, a complete\nrounded multiplier and a formal-kernel theorem proof were not run. The\nsource framework assumptions and helper-endpoint contract remain explicit\nin PROOF.md and README.md.\n\nThe exact command was:\n\n```sh\n/tmp/kappa-step-venv/bin/python -B scripts/research_package.py --package research/p104-event-contact-step\n```\n\nThe temporary environment used CPython 3.12.13. The verification imports only\nstandard-library modules. The two registered commands use `-W error -B`,\nand the second also uses `-O`. Both matched the complete RESULT.json.\nThe source pins and package metadata passed separately. GitHub returned the\nsame blob IDs for all three pinned PR5569 input files as SOURCES.json.\n\nMain was refreshed before submission and remained\n`5e0052ca0aa3036a3afa8b0438927377c8d97d53`. The new PR5577 pooled A/B/C\nceiling explicitly excludes the target-changing PR5561/PR5569 line. The\ncanonical claim received no conflicting reply at this checkpoint.\n\nThe repository is shallow. The publication-base ancestry is checked directly;\nno full-history source-preflight claim is made. The committed-byte preflight passed for all 17 package files at\n`f42e4d5a8e4574b7a9fb3b780fe85b434e5849d8`. The official export and its\ninventory check passed for that commit.\n\nA separate CPython 3.12.13 run used the exported package, read-only files,\nan empty working directory, an empty PATH and an invalid GIT_DIR. The\ncommand used `-I -O -B -W error` and passed in 71.229 seconds. All 18\nexported files, including the export manifest, retained their hashes.\nIt printed `PASS_P104_EVENT_CONTACT_KAPPA_00308189` and the wrapper printed\n`PASS_READ_ONLY_GIT_FREE_REPLAY`. No Git checkout, network or solver was\nused. This paragraph is a later documentation-only change; the verifier,\nword, price code, pins and complete receipt are the tested bytes.\nHosted CI remains separate.\n", + "encoding": "utf-8", + "sha": "6cc9b933116465871a4628e4bf0990c50371ab7a", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/VALIDATION.md", + "display_title": "VALIDATION.md" + }, + { + "path": "research/p104-event-contact-step/LITERAL-CHANGES.diff", + "content": "--- PR5569 pricing.py\n+++ pricing.py\n@@ -14,2 +14,2 @@\n-KAPPA, TESTED = Q('.00308181'), Q('.0030818105')\n-PREVIOUS = Q('.00304117')\n+KAPPA, TESTED = Q('.00308189'), Q('.0030818905')\n+PREVIOUS = Q('.00308181')\n@@ -142 +142 @@\n- return encode({'kappa':KAPPA,'kappa_decimal':'.00308181','previous_open_pr5545':PREVIOUS,'gain':KAPPA-PREVIOUS,\n+ return encode({'kappa':KAPPA,'kappa_decimal':'.00308189','previous_open_pr5569':PREVIOUS,'gain':KAPPA-PREVIOUS,\n@@ -154 +154 @@\n- 'tensor_native_growth_bound':'Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is 5894.'},\n+ 'tensor_native_growth_bound':f'Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is {sum(r*n for r,n in local[\"paid\"].items())}.'},\n", + "encoding": "utf-8", + "sha": "3b5a79727ef51614c4ca9515c9464e723810cde7", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/LITERAL-CHANGES.diff", + "display_title": "LITERAL-CHANGES.diff" + }, + { + "path": "research/p104-event-contact-step/README.md", + "content": "# Conditional kappa 0.00308189 from one P104 contact change\n\nThis construction increases complete conditional kappa from 0.00308181 in\n[PR #5569](https://github.com/CrocSwap/integer-mult-bounds/pull/5569) to\n**0.00308189**. The raw crossing increases by between 7.645343e-8 and\n7.645345e-8. The selected record remains 0.003027288235.\n\nOne ADD contact moves from a three-dimensional chart to a four-dimensional\nchart. Each of the 18 local calls replaces two rank-three paid jobs with\none rank-two and one rank-four job. Strict concavity proves a positive\nsigned-moment change for every 0 < kappa < 1. Every public endpoint,\nproductive target, scalar instruction and owned lifetime stays fixed.\n\nRead [the proof](PROOF.md), [the four-site construction](construct.py),\n[the complete receipt](RESULT.json), [the source pins](SOURCES.json) and\n[the verification record](VALIDATION.md). The complete bill retains\n66,852 paid jobs and 12,814 productive fields. The exact raw crossing is\nin (0.00308189496866, 0.00308189496867). The claim is tested at\n0.0030818905, below that crossing.\n\nThis is a small paid-profile step after the priced helper-706 handoff.\nIt composes with that handoff and retains the source's free helper endpoints.\nIt is not a new controller or a new selected frontier. No independent human\nreview or complete proof-kernel verification is claimed.\n\n## Reproduction\n\nPython 3.12 and the standard library suffice. No optimization solver is\nneeded to reconstruct or verify the published word.\n\n```sh\npython3.12 -B scripts/research_package.py --package research/p104-event-contact-step\n```\n\nBoth registered modes must print:\n\n```text\nPASS_P104_EVENT_CONTACT_KAPPA_00308189\n```\n\nThe launcher must print `PASS_REGISTERED_RESEARCH_PACKAGE`. It runs exact\nsource reconstruction, both arbitrary-input endpoints, dense transpose\ncolumns, all signed native maps, the physical caller, two moment engines,\nthe compiler and all 58 outer predicates. It compares the complete result\nwith the committed receipt and runs the negative controls.\n\nThe PR5545 official source export is retained unchanged as an executable\ndependency. The verifier checks its archive hash, inventory and 33 payload\nfiles before import. It also checks the PR5569 word and price source against\ntheir Git blob IDs and SHA256 values. These files are retained sources,\nnot new contributions. Compressed word regeneration is compared by its\ncomplete decompressed payload.\n\nThe price implementation retains the source's mathematical tests. Its\n[diff](LITERAL-CHANGES.diff) changes the claim/comparison declarations and\nderives the actual local rank sum in the reported native growth bound.\nThe latter corrects the old literal 5,894 to 6,013; it is not the source of\nthe kappa gain.\n\n## Limits and ceiling\n\nThe five framework assumptions remain: native all-column implementation,\nowned erasure, uniform compiler closure, precision and fixed-tape costs,\nand analytic recovery. Independent acceptance of the source helper-endpoint\ncontract also remains inherited. The new change preserves those endpoints.\nThe uniform word and complete rounded multiplier are not materialized.\n\nOn [0,0.0034], the fixed invoice has a strictly decreasing signed moment.\nIts raw funding ceiling is the crossing interval above. The headroom above\nthe claimed endpoint is between 4.96866e-9 and 4.96867e-9. This is not a\nceiling for other words or suppliers.\n\nThe p19 proposals have larger numerical headlines. In particular,\n[PR #5440](https://github.com/CrocSwap/integer-mult-bounds/pull/5440) records\nan unresolved chain-to-native compiler and physical attachment. This package\nimproves the complete P104 paid-caller line; it does not claim to exceed that\nproposal's extra-premise numerical model.\n\n## Coordination and credit\n\nBase: current canonical main `5e0052ca0aa3036a3afa8b0438927377c8d97d53`.\nThe [canonical claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/5574)\nrecords the changed scope, initial overlap coverage and test.\n[TASK.json](TASK.json) retains the revision-7 card. The released\n[event-placement handoff](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19181969)\nsupplied the research lead. The event-level model in\n[PR #5568](https://github.com/CrocSwap/integer-mult-bounds/pull/5568) by\n@DreamingOfClouds informed discovery. The submitted edit was then isolated\nby a direct single-contact scan and is reconstructed without that solver.\n\n- Joel Pulikkan, @GamingPuzzled, supplied the exact PR5569 word and priced\n helper-706 handoff, building on his successor-handoff work in\n [PR #5472](https://github.com/CrocSwap/integer-mult-bounds/pull/5472).\n- @DreamingOfClouds supplied the free-endpoint word in\n [PR #5561](https://github.com/CrocSwap/integer-mult-bounds/pull/5561)\n and the event-level toolkit and released handoff.\n- @thu-nmrc supplied the coupled contacts in\n [PR #5551](https://github.com/CrocSwap/integer-mult-bounds/pull/5551).\n- Ali Romman supplied the complete caller and source closure in\n [PR #5544](https://github.com/CrocSwap/integer-mult-bounds/pull/5544) and\n [PR #5545](https://github.com/CrocSwap/integer-mult-bounds/pull/5545).\n- The retained source notices credit Gareth Davidson, David Arias and\n Cinna Davis for the P104 word, coalescing and private reuse; Cinna Davis\n for the controller; Jacob Alan Sussman for productive recursion; zxv and\n Cao Yifan for the interval, compiler and native framework. The official\n source closure preserves the earlier geometry, BIT and analytic notices.\n\nNew construction, proof and verification by Ali Romman with substantial\nOpenAI Codex assistance. Apache-2.0. The search, proof and checks were\nperformed by the same assistant; they are not independent review.\n\n## Open next questions\n\nIndependently review this contact and the inherited helper-endpoint contract,\nthen recompute the complete invoice from the word. A later construction\nmust change a paid itinerary or a target contract. Another root digit does\nnot change this invoice. No wider optimality or native-admission claim\nfollows from the bounded contact search. Structured questions are in\n[TASK.json](TASK.json).\n", + "encoding": "utf-8", + "sha": "b55323d445d273b6ff05cb873cd4e1fbe37665b2", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/README.md", + "display_title": "README.md" + }, + { + "path": "research/p104-event-contact-step/verify.py", + "content": "\"\"\"Check the changed contact, complete caller and conditional kappa.\n\nAli Romman with substantial OpenAI Codex assistance. Apache-2.0.\nRetained sources and their contributors are listed in SOURCES.json.\n\"\"\"\nfrom collections import Counter\nfrom copy import deepcopy\nfrom fractions import Fraction as Q\nfrom hashlib import sha256\nfrom pathlib import Path\nimport json\nimport sys\n\nsys.dont_write_bytecode = True\nHERE = Path(__file__).resolve().parent\nsys.path.insert(0, str(HERE))\nfrom common import closure, load, need, read\nfrom construct import construct\n\n\ndef inventory(base, word):\n for key in base:\n if key != 'program':\n need(word[key] == base[key], 'Unchanged word field: ' + key)\n def scalar(program):\n return [e[:-1] for e in program if e[0] != 'MOVE']\n need(scalar(word['program']) == scalar(base['program']),\n 'Same ordered scalar and owned operations')\n old = [e for e in base['program'] if e[0] != 'MOVE']\n new = [e for e in word['program'] if e[0] != 'MOVE']\n changes = [(a, b) for a, b in zip(old, new) if a != b]\n need(changes == [(['ADD', 451, 228, '1', 262],\n ['ADD', 451, 228, '1', 737])], 'One changed scalar chart')\n def bill(w):\n return Counter(abs(len(w['frames'][e[2]]) - len(w['frames'][e[3]]))\n for e in w['program'] if e[0] == 'MOVE')\n before, after = bill(base), bill(word)\n delta = {r: after[r] - before[r] for r in before.keys() | after.keys()\n if after[r] != before[r]}\n need(delta == {2: 1, 3: -2, 4: 1}, 'Exact changed paid profile')\n return {'source_events': len(base['program']), 'events': len(word['program']),\n 'ordered_scalar_events': len(old), 'changed_contacts': changes,\n 'local_paid_delta': delta, 'global_paid_delta': {r: 18*n for r, n in delta.items()},\n 'all_public_endpoints_fixed': True, 'all_productive_targets_fixed': True,\n 'owned_lifetimes_fixed': True}\n\n\ndef controls(L, base, word):\n variants = {}\n bad = deepcopy(word)\n bad['program'].remove(['MOVE', 228, 262, 737, False])\n variants['missing_source_transport'] = bad\n bad = deepcopy(word)\n event = next(e for e in bad['program'] if e == ['ADD', 451, 228, '1', 737])\n event[-1] = 262\n variants['old_contact_frame'] = bad\n bad = deepcopy(word)\n event = next(e for e in bad['program'] if e == ['ADD', 451, 228, '1', 737])\n event[-2] = '2'\n variants['wrong_scalar_coefficient'] = bad\n bad = deepcopy(word)\n event = next(e for e in bad['program'] if e == ['MOVE', 228, 737, 520, False])\n event[3] = 262\n variants['non_nested_return'] = bad\n rejected = {}\n for name, bad in variants.items():\n try:\n L.replay(bad)\n except ValueError as error:\n rejected[name] = str(error)\n else:\n raise ValueError('Accepted invalid word: ' + name)\n try:\n inventory(base, base)\n except ValueError as error:\n rejected['unchanged_word'] = str(error)\n else:\n raise ValueError('Accepted unchanged word as a profile improvement')\n print('PASS contact controls', rejected, flush=True)\n return rejected\n\n\ndef ceiling(E, targets, paid):\n \"\"\"Bound the moment derivative on the retained BIT band.\"\"\"\n cap = Q('0.0034')\n lower = upper = Q(0)\n for rank in targets.keys() | paid.keys():\n coefficient = paid.get(rank, 0) - targets.get(rank, 0)\n power = (E.power(rank, 1-cap)[0], Q(rank))\n term = E.scale(E.mul(power, E.log_bounds(rank)), coefficient)\n lower += term[0]\n upper += term[1]\n need(upper < 0, 'Strictly decreasing complete moment on the retained BIT band')\n return {'kappa_interval': [Q(0), cap], 'moment_derivative': [lower, upper],\n 'scope': 'This fixed paid and target invoice; the inherited BIT cap is retained.'}\n\n\ndef main():\n sources = read(HERE/'SOURCES.json')\n for pin in sources['external_inputs']:\n raw = (HERE/pin['local_path']).read_bytes()\n need(sha256(raw).hexdigest() == pin['sha256'], 'Source bytes: ' + pin['local_path'])\n header = ('blob ' + str(len(raw)) + '\\0').encode()\n from hashlib import sha1\n need(sha1(header + raw).hexdigest() == pin['git_blob'], 'Source Git object: ' + pin['local_path'])\n base = read(HERE/'inputs/pr5569-WORD.json.gz')\n word = read(HERE/'WORD.json.gz')\n need(construct(base) == word, 'Regenerated complete word payload')\n inv = inventory(base, word)\n source_price = (HERE/'inputs/pr5569-pricing.py').read_text()\n for before, after in (\n (\"KAPPA, TESTED = Q('.00308181'), Q('.0030818105')\",\n \"KAPPA, TESTED = Q('.00308189'), Q('.0030818905')\"),\n (\"PREVIOUS = Q('.00304117')\", \"PREVIOUS = Q('.00308181')\"),\n (\"'kappa_decimal':'.00308181'\", \"'kappa_decimal':'.00308189'\"),\n (\"'previous_open_pr5545':PREVIOUS\", \"'previous_open_pr5569':PREVIOUS\"),\n (\"'tensor_native_growth_bound':'Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is 5894.'\",\n \"'tensor_native_growth_bound':f'Each rank-r Gaussian has row l1 norm at most 2^(rf); sum of local ranks is {sum(r*n for r,n in local[\\\"paid\\\"].items())}.'\")):\n need(source_price.count(before) == 1, 'Unique pricing declaration: ' + before)\n source_price = source_price.replace(before, after)\n need(source_price == (HERE/'pricing.py').read_text(), 'Only declared pricing constants change')\n print('PASS source pins, exact reconstruction and changed invoice', flush=True)\n with closure() as root:\n L = load(root/'research/p104-productive-controller/local.py', 'local')\n L.ROOT = root\n parent_local = L.replay(base)\n local = L.replay(word)\n need(parent_local['helpers'] == local['helpers'], 'Same helper census')\n need(parent_local['real_scalar_allowance'] == local['real_scalar_allowance'], 'Same scalar allowance')\n rejected = controls(L, base, word)\n print('PASS both exact arbitrary-input endpoints', flush=True)\n reverse = L.reverse_columns(word)\n print('PASS exact transpose', flush=True)\n native = L.native(word)\n print('PASS exact signed native maps', native['distinct_maps'], flush=True)\n C = load(root/'research/p104-productive-controller/caller.py', 'event_contact_caller')\n caller = C.construct()\n need(caller == read(root/'research/p104-productive-controller/CONTROLLER.json'), 'Exact physical caller')\n physical = C.physical(caller, word)\n print('PASS full physical caller', flush=True)\n P = load(HERE/'pricing.py', 'event_contact_pricing')\n result = P.run(local, native, caller, physical)\n print('PASS complete pricing', result['raw_root_interval'], flush=True)\n E = L.load(root/'research/higher-moment-strictification/verify.py', 'contact_margin')\n targets = {int(r): n for r, n in result['targets'].items()}\n paid = {int(r): n for r, n in result['paid'].items()}\n parent_paid = dict(paid)\n for r, n in inv['global_paid_delta'].items():\n parent_paid[r] -= n\n parent_interval = [Q('0.00308181851522'), Q('0.00308181851523')]\n parent_signs = []\n for k in parent_interval:\n t, p = E.moment(targets, 1-k), E.moment(parent_paid, 1-k)\n parent_signs.append((t[0]-p[1], t[1]-p[0]))\n need(parent_signs[0][0] > 0 > parent_signs[1][1], 'Exact predecessor crossing')\n lo, hi = map(Q, result['raw_root_interval'])\n gain = [lo-parent_interval[1], hi-parent_interval[0]]\n need(gain[0] > 0, 'Strict gain over predecessor raw ceiling')\n fixed_ceiling = ceiling(E, targets, paid)\n receipt = P.encode({'status': 'PASS_P104_EVENT_CONTACT_KAPPA_00308189',\n 'inventory': inv, 'local': local, 'transpose': reverse,\n 'native': native, 'physical': physical, 'controls': rejected,\n 'parent_raw_interval': parent_interval, 'raw_gain_interval': gain,\n 'fixed_invoice_ceiling': fixed_ceiling,\n 'result': result})\n if '--write' in sys.argv:\n (HERE/'RESULT.json').write_text(json.dumps(receipt, indent=2, sort_keys=True)+'\\n')\n else:\n need(receipt == read(HERE/'RESULT.json'), 'Exact complete committed receipt')\n print('PASS_P104_EVENT_CONTACT_KAPPA_00308189', flush=True)\n\n\nif __name__ == '__main__':\n main()\n", + "encoding": "utf-8", + "sha": "0691af0410592ae8c7492d316bb1913da43c364c", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/verify.py", + "display_title": "verify.py" + }, + { + "path": "research/p104-event-contact-step/common.py", + "content": "\"\"\"Open the byte-pinned PR5545 source closure (same pins as PR5551/PR5561); Apache-2.0.\n\nCopied from PR5561's research/p104-free-endpoint-retime/common.py (DreamingOfClouds), package path\nrenamed only. Mechanism and all predecessor credit: see README.md.\n\"\"\"\nfrom contextlib import contextmanager\nfrom hashlib import sha256\nfrom io import BytesIO\nfrom pathlib import Path,PurePosixPath\nimport gzip,importlib.util,json,sys,tarfile,tempfile\n\nHERE=Path(__file__).resolve().parent\ndef need(ok,why):\n if not ok:\n raise ValueError(why)\n\ndef read(path):\n raw=Path(path).read_bytes()\n return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw)\n\ndef load(path,name):\n spec=importlib.util.spec_from_file_location(name,path)\n mod=importlib.util.module_from_spec(spec);sys.modules[name]=mod;spec.loader.exec_module(mod);return mod\n\n@contextmanager\ndef closure():\n pins=json.loads((HERE/'SOURCES.json').read_bytes())['retained_source']\n raw=(HERE/'inputs'/Path(pins['path']).name).read_bytes()\n need(sha256(raw).hexdigest()==pins['sha256'],'Retained PR5545 capsule byte pin')\n with tempfile.TemporaryDirectory(prefix='p104-priced-handoff-')as tmp:\n root=Path(tmp)\n with tarfile.open(fileobj=BytesIO(gzip.decompress(raw)),mode='r:')as archive:\n members=archive.getmembers();names=[m.name for m in members]\n need(len(names)==len(set(names)),'Unique retained source paths')\n for m in members:\n n=PurePosixPath(m.name)\n need(m.isfile()and not n.is_absolute()and '..'not in n.parts,'Regular retained source path')\n t=root/m.name;t.parent.mkdir(parents=True,exist_ok=True);t.write_bytes(archive.extractfile(m).read())\n mraw=(root/'.research-export.json').read_bytes()\n need(sha256(mraw).hexdigest()==pins['export_manifest_sha256'],'Exact export inventory')\n man=json.loads(mraw)\n need(man['commit']==pins['commit']and len(man['files'])==pins['files']==33,'Exact predecessor closure')\n need(set(names)=={'.research-export.json'}|{r['path']for r in man['files']},'No omitted or extra file')\n for r in man['files']:\n b=(root/r['path']).read_bytes()\n need(len(b)==r['size']and sha256(b).hexdigest()==r['sha256'],'Source file '+r['path'])\n yield root\n", + "encoding": "utf-8", + "sha": "bd244313fc023a737055415f87003f2963c290f6", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/common.py", + "display_title": "common.py" + } + ], + "word_source": { + "path": "research/p104-event-contact-step/WORD.json.gz", + "content": "H4sIAAAAAAAC/+y9Sa83PXPe913e9f3CTbI4VHZGnF12WQpaaGEHAjwEipFN\nvnyaxR7/ff0UxYkhxBYenOc+p4osjs2LNZD8P//y7/7+P/7dv//L//A3Kfc/\n//Lz/+efsf/4n1S29XdJ+0/ef8r+Y/tP3X/a/jN5e9qyp7Ujre1pbU9re1rb\n09qe1trBmz97etvT1z193dPWPW3d09Y9bd3T1j1t3dPVsfLUPW3b07Y9bcuL\n1vb0bU/f9vRtT98mbU/f9rR9T9v3tH1P2/d0fU/X93R9T9f3dH1P1/d0Y083\n9nRjTzfKkjv2tGNPO/a0Y/69px17Wt/T+p7W97S+p/U9ne/pfE/nR5/5ntb9\nT962/SftP3n/KfuP7T91/2n7T99/xv6zp0t7urSnS3u6tMrPaU+b9rRpT5vm\n33vatKfNe9q8p8172rzLzHu6vKfLe7qZbx+vvI9X3scrz7H6b2AO5pLlvyqN\nzn/06Zyvj3/faewfyV+Pf9vrb5VG5//9d2Aamf/4nrKl/9s0mpflvyqNzl/k\nvyqNzm/yX5Xmv4efvK+D+VwH/+Xnv6j//uvIbf/kcfl/kvafIus9N+r/p/L/\n5eef/6fOvcsPreX/quP7t3/+8u/+4e/+w7/93/dt+N+k9Ld//ib5/r9S9//N\nP8ok5erx+/x1/l32bH/TFi2IbVJt/q+vv2d2mwlGiLT5dw5eaquQ+XtZ0kaN\nNDNJjr+nnC2kB7Hl+P+kWlBnghoJrIXgSfZJzR5kt5C+pEWSybTIbVtIm4Sx\nCJGxz2Rpi+wtivUcolqICoEjCp6E+G3fiobolWcVH4WFlBJlliUlxf+jjLKF\n9C24ZVIs0udVRsi01KKJq6Hr96BHw6yv1oS0EXWoFmlq/D8GIzrYeo+UNVKu\noQy6e3BjmCyGontwI++IXD1+LzEdImW2oLeQEBOjtEnJkcZSlBIS9k3n/D2m\n0r4RnrWK5NFTef4/BK6BXy2LKbYquv2Za/e+dy6RNP+pf/aNy77/tm0m6n/2\nbcjcoe+7gdxX80/SvsHLbWaam/Y/+3Zt3+UXT4fUPU0LRSXXHiXvO+s/bWYu\nIXeXM4Xs2kOOAZ6r6599z27zO9mb8GcsPSbHBCl/dtVk1xosPgz/szN23cK2\n6KS60u6SakyVqTT82beYVqPNf/Zsf6YCsrfxz9RM5o48Ztae5I8TY7VKM9oU\nD4wjhxNjHD0yu1oWPhmy8IPxLfxm5NnFwHjW6sO4a3V2yaeMR19VYvyKWu0Q\noq4GVmK8qyvG41HGXd2fHHd1kfEV9Sg8pu6ffSJvaqQmZ8Rk04wWX4Vm5DmB\ngWHHbFaMyBHTfK/vrJYq3R4Vbsh5F2NHU+wr7NlGkUNU7Gp8+4p698o7x6rv\nbxnvhnxy2PPj/zPVprnWfHslODNPQ84hLRNn5ok1b3LGWcz4ETYe5b9kjZ+K\nPUQd9fqKuiv8I+rdkh9Rq1Yix13dbw57LOpr2dzX5B0OPr0VjD3ptONIRohq\nwIjC7WKkdpbxk+NmfHMchX9zPGr1yXGW8WCMCSzT3PTTjKDP9BP4FH2mD0A8\n6bv8KeeT/qCr9Kf8F32v6jRdte1HzkGfcsZ408Pctj3oxxfQrklwDOm1Ytj9\nnY3XQiYYx4IBnPH6aH849vtxtncFHt9zE1V7wMtCkfpYlm+YFIwLwgSjvzDh\nzSjvpf/FqF/wfhf+3jn8FF6udmRi/BRefls+iHEX/tggvMuob8T9Mj6F//Tu\nIMazcP9F3P5iiDJeAzWI8VNG/2B0+R3aQYyvqPLeUhQ1GWIm7stRmpvWpZsc\nG+H2WFKOXeu0FoT+NffB9qfvC1/svmOLO/OchJ0fG+m5VrV73/wk5d+Ru5ap\naer+0/ccob/0+Hw8dtjpkLXv9sMlcCh1+x5/V3F3SaEm1bQK2peLpXG+vme9\nGS7/yC6n0b76Ven0JxTK/d9QUsLGvrbwFqrh7IHQpvbqLdVrp0SWfGSdSftB\nWKruZPxZOk3IvUVNuo2znH3lbjf9TJ/P9IccG7ecpXbfe6afrdEc521pHJMf\nWu7s0rJ4S+GcvKWq7rylvM9f/OKdpCUgRJ0SDl3/lHnwDvJR6C08/rikzXQv\nzvXHW8KV7pJ3FvpKO7t9W8rk8cucXcdv+3xe+uif1WN2/DtTxBjNTPFLjF49\n0/yxM98lNWTsU3hZC/68Cok/7pLuHDP3meOiR63uP+PrDdX5zzj+jYrUdHzP\ns/1LA5/izl9u3vHVt5Vt/zeMIDFNjgm7lP7JOBJHWUfVIuP+eftZ9lPgnf5q\nypJzpR9nNWd9w3oRs+gciLXeTJfdNcx2KPyP31b6UR/J7eiDRYm5kh9/2LOQ\nYN1/Xcvc9dc75UvIS3ykm596GD+i49NZx3tlDPPLvvQsc8v6N5bT9feyT80p\nsfLGEJ02DTs/9HomPn4PgUeWEHr8/lyn1+/PNM+8T5mHHWZ+RufXH+tHP3+Z\n25hYx/vsg3MV6AflzlXOFSsf9pNltBsHFPRrUMct7waJfnD6k9OfnNYe0tpT\nWr/AZP277ETlTz/HKLXzAz6yLcoEn3r8eyY9jT/LoPhAp5B7fLuR8ZjYUc5T\n4J1+0q/0251+PABuGfDWKprPOT6O2iwbX6xq9WQuI2f8dmW9aYeQKe4Usphl\ne/ACUcd2y34UfqPtUcaZ8vzrnfIt5f7rkhIo2I9ut/NbuwA8LII7qMeY7fi+\nzHtr2T2mz0ob2H8sHifh2gmEgHPVyWuVzcsS+Uq0//5K9Mz9lLoyz8WlXChz\nTcb4pV6bjtnX9Vhqr1+W1TY+6Pht7VOuzknnKngsh8sEfPAemWdUwSXz3ugc\n8QZP0Y8/rjynvMdfV66A5gPX1i9r+tQTrfu1Dp5y2zXJoqdmRs9Hcj9kLiP6\nSn2nm4EcdyHxl+db/pN3ZbtSnrW8s53ig1OUfnNsbfoyXq9/d0YvJ36na7k9\nV4Ry7DoWZSHpsowfc3PfJsYo2Zkmj2P3Fpw7eS9Hgsh6TrjxS7+E7PSV9xB0\nJZqMM3O05mRFyMuJfudO2c5Fo52Tqh0r8vKhROKjAcsFEnK2i3XnnAE1K8nK\nvX/YfpXykvv4Y3KGP6R1e0g7k60yj79fps+K5qynQaks0FpL6Z9lkl+7/eL3\nqnmsPStxAIYfKDfDNrycq9if8rZljcvMf2z75+YxtPun0XGOXf+kzMd3ViNl\nv1K2T01XWfmT9msY/ZpM3/VYdD/3bsd0OXWd2Ouvqq6l7FhwHs6OWB5+PSBh\nuVjb61s5GkcHv9LZoXDWu8Szya9KrFWo/aZUVlL7NdE+arAKvD+Bw+y0vo1r\nTvdymKRs9fCYJrhJfBhk6mGZm+Tbdj/VsT+na2mFQ0U3HC6liJm6BEwfk/9o\njHP3m18GsXZoyzdtxoidOvKl/M8Ar0txPlfschgQkzJSHvXPP8psugr80fEe\nStF2rBrX71cz929un/GnDfAmvp0pa2qEbrL0y+OjLuHwO5SWwwDWD21qKuU3\ntaXLGHGpHjPa7bI5PO0L8/u9NpXXXmvtbI790zIM2PklRJDcGsbLjxb1iN9v\n7loP+mPXfUQgruKWF+5irz9f7LPc489XK07XQrn5688fgaLIWKTa1YRx0c41\nJisfXv8pZO3BwlUZtp7ZN8fnMmKSzq95uYljZsRuP/ZjC/2ndWhl+jPWxPU1\nVWPT3JfOZyvh2raFPenMeaqhh23H8rGChd90abyPqb6P7Lm8t8PBusxDAfLL\nUHU415dF6jY2rZ6LElYb9ooubT5oy4axf2ApxuJIEeJu5sxwWEKC9zKDL0vp\nI/OZ+sh+8QUp3NDbqkB8mi/zSz9sTPXrDD1z31b3F/WqXDQMHKp+Ul+u73p4\nlY/f200/dn0p5tB4JYv1s98pZyhq+2Uf0y0frdrbG+EDR5Lx3AeeZTR/GNfv\njAFcx9KRS0yXFHHBx4T+cwgob7v9S8C9VtUzecXkz5V85HMrFIv8uS0Ol/38\ncq4V7OSv1bI+4ObEsCPjUchr9bsw6KrqEnBZjZ8uhCCPczgvsj2sQ36244mL\nZ/eukJdHY68+eM6SM+Pb2P1Kelfi2pKs3emxeboWf/MXe02YM7bhll1P7DrH\n+TVA/SjxM24R1Szm/Ft4ub6Rdi1CS9CaQ+MgFC9v9lX8leRZ+GPgVs5JyvXj\nZnwPcbk2D+u7s3H9fqgCx5dlB7Y81qtT/GKeCfOhbj24d/zI0T3tFP7nmWt7\nd+JNfE2/lfPZtPdUuKbpvTsNaHn9fu7K4sPpj9/LJer4iMoRwhC7knMiXryz\nZXNRWQNSrgE5NjIz0bFS3huZmSyIr6/wLvzxvV5lnGvLbdDPN7aOBwx4Pyw8\n/Zij51p/2oP9SHix1qbnsoNeNtESvXz/dXkrxp34tkJeeHgYUg9myY+5M9aS\neXlO03MBOakLupf/x5+EaeNsdsHtwyw5AXrFSJ3OoNM1dPte6kH7cRYFAI58\n9MtC76mN3SbDpx9p6Wnt2fPvoJZ0fiO1Pv+czb69atvL9DZ32ak9NhfnXuNP\nu737ZX2ClzdphnQ995yXcjk1zbUBXZua8tnUR6e/fNtry/iwfx1K2/r9MEjN\n/X0Mf88P0um4ty0d27G99mthm/rRQ+rc4l7GpYfd6DkFTo9f1HJOxfxK+bIx\nnZFup3Hm+PuC89giPrYZx983f3bPVd21nlzmjLwUtHu9OU0f6alu9sesDVVr\nzI/nEQtRj934K15gVuBUoO5IvCjtZdeYf19miTU3ir99wDHEtoa4TDDrv9pw\nfuhtK9Yvylw6zU0LsDyGfJ4Uun2txxpwf9fHcD1GdpzLQHplyK8Mt6p/fqLv\nr2wrjy/tnOUxS88uObogzDJL778lnTvu6/PoK2NtP8SI8zgNR1t/mpZD/P35\nnIaY/oq1yrcrt9x2+SXG71pGjeq9Qmv7jl3Kf8yS1xfi5WUn/fNcmFfy1epx\nfaeR/FTiXqvvsnHFuJZrmOw1UNu94Fwdut1Z7cedXm9l7u678sw4/jxreYs6\nK3rojPWIhernkr0sCWew7HgFz95T90G7pm5sbXog52U5Dzf/ChVaK9Qj4/yK\nxjs6NxwG55fVPlED/Yw0qK+1apyLwdOechnhnpFIJ/Tci0H784j8vQJ61sbz\n2BWfSS+1rD0hdDt6vj1Dh1MJy56vUTqp9VHWIxbnWvpk6PG9L2m3mawdg/VM\nNyUuve2OrBiHxmRnb+ZXcEn2WAefAc1+brn9iar22Cfd1Bju5UG5qWve3VU6\nG3ku6DdxrlhRqfIJqD7781SMyh+/yYfv+pXwtFg+YhHr0fa+uiPOa56Au6DZ\n3qN+KN6tPRIen+nst3dmS2+06+cwPqfmoQPMBj7i2M6Q8CjZ25vWxjt2ra2d\nxiPnMf6ef4Sdu7WnsPwKCjwj0e2x1hxf/uGpnMvt9t4HbNc+4NlPB+25rbm/\njTv3LKGsD+6OT2x/6rGBf/bTdIC8i879+i4e8fInYl6rx4N2rR7lGTS59LEV\nvDM3S1dMxgOSTy3hCcm3N8lgkVyx++sYxm02uMIe/vgRRGhb+VE2ro/1pYHY\nFZo9bvKCWo/Pqt2fvl+50uHtfom69x2HpeX55Z3Q05/Deqxkx5p1UcvP91hv\nb0G/HAMraT0//f6OXLZDQ7iJ7dw3mTrgMPc2x7fyxvvtbQ29IP22mZ5RJOVU\nZH/2fg8PRH+aw/+8VKGH/f4ZIaak2MPf8tLQ7ljkN/kRu/xWYcbPbuk3FrBF\nHf0TBPnwI/UN5DxDB3/pftfn6Y8qD2Pipss91aP+Nl8eXSnODjw2lT/L4Vno\nM/VPZHX71b+eMcNP8hVi3C8r+Sfw7zGoL53noVg8PS7jVC2EkFdY9pt8hXGX\nV+h1VdQw6ZbHxu1l3Ly3i59OXZuaN/ncDr5kPL+v19b2xzuQfzeGzzlybw7X\natt+N353o5+bv7vRP5IvJ8VTcgzs9ivi6qF3eVffB377hULP8fPPZrAfAQL1\nZ08TqHsEfr63kyLus9+OyP5zIOTear6OAd17vefa89xDPujPDefL03f330P9\nrY9F/bHHOxbwn71seQWy3qaf59bxaSt/OmgfHumnH/ZyYL/2qc/Y8qfsyw77\nk/p5nulnAp5RzHn5VMtrbbxGs7/Irzjee5Bf++FXz97b1PHwNj+2tDf5vSse\nl1X+5b5/+JfHbwxB+/ruL5/4a8d7g8ZbyjVA79QX8vS7y/uPDXruf/N7Ih5r\nzO/5l35PlaaO87X62hsfk7nezfGfDWjIeO57n2vB79Z3Jd5+t7/PgzBPGWX7\nPZxzbarbr+SWf8DGru3rc1k7h+C1J37gxEt9uLcWr2N27Sn82vKOc9P7E3p+\nbI/fA4OL8WPr2363vreD4bn9/T3Mc+6ox2NHLZbo8j2JVH8lX47J1374npH2\nnUz+u+F9riT+G4ffP7IfG6rxu5l+Lpj2/qzzn+cu+EF+7m2fXqTy84Vdxy0e\na/prhXlPynGtDf6ZOu+zEHJDvLxiP77/2O5uHxCvl6nruX1+9MjvRmBtD96p\nr0F4Ktqvc9CnTeqOmjj3q+3y08RVQj+Fnpa75ReczS0rhP2ZoF6Gy/5UZ47K\nfAI0rvb1t/XyGVThh7VxjGegxnW6exntzn3+T7jGFTR17Z7Lr/jfWryp+TN6\nL9XhLfae6iso4ZoR5aF1+lvlW424lb3HunQq8O29ZIYtoF22i6fx0J8u4W73\nsSB/KePXLrr44wz9aeJO7yE8TTTH7Okvu976Ln58J6e64f5I82vZ9cOu0644\nqjkClyX3pNzG2uiPy1ybXyMftszt0SUvH8FFtLdNMog/foFrT3d3ar92Ok/a\nkbu/XTL+gZ3XynnOxcfyeFoFHivg1ePxZV9jNcbv7Ly+2fecTT/bCPsNVLk3\nrlIDLJ9mXfT3Qbpn9e71/P2plF9vwu85th8xB+T87Z+//P1//Pv//PdxSeCe\nbweD+RHtk+vPbJaHsLX0lT8l9nThoE99uQ3+xLIfF6FNy2gO0Jh3oPU/sTMJ\nb8K+DM9e2EuO6LM/YTueHr25tsxlcMa0zUM+E4UivuaP9fkh7/hfw8C2w3fd\nsWSvWP1T97x/6j5N952A/9nndtsn597H0a4W6kCLdauFrSacmz32cj0smvvX\ntn9dfcyvdd9djPj6R5mHPMaONFP62Ns+Zqiib388/dmno++guk+xOleF/ZPy\nvWs8Io/Tlpb3dzqINptt+5f//uW//4b+q27/LKX2f+Z2p61e/9z/O3hzcxb/\nP39Oej3+f/6c9Hb8//w56f34//lz0sfx//PnrFPu5z/3/w7e3PnF/8+fqx35\n/Of+38VL5z/3/06ejfOf+38Xz89/7v9dMrfzn/t/J6+k85/7f/+vxmlHsH//\n9//Hv73gi8DrB7fi/s5/FLIWYNUbq/4LgOoFU4xRvwj1j8KTAKd/EjLtw7D/\ntBVWsM3h3NNFD+070b/8b//pH/7zvKHsMKJfxolQ7JajwM+DwYd9Kbfllrqi\nrNaNsCtsYm645nZhahHjYTydPX1sEOt2npqZtc6+ovFK5GhharIzwmS2/ji3\nuNq2wmrOsI+5aZvdPS+HXWfqzsPP51Z3bsH3luYzQOeMO56+rnNfPSOW9krN\nis1/97/36lif9Zj7x7nv2sd178W696ztzbR9oCxiEWdX7X/vPW9xZnLvgj43\nXvP0eZ9np+bR4p02rXN9xu/P40v7zJoXjk4n84zuTnGRbIk9fIzIP/yn//Uf\n/u4/zFvj/vKv/82/+UtUv+9V/8tf81/mvH+Q57W6f/lr+iX3fbqL1PsoicR7\nRZSITYqY9wTL1C5T7x34l2/iLEX3fQII8j59fkXMrd325y/5lzqn6adyM3EW\niVWzY8pLCeNbtenLKIrctIx9AonEcgT31EWKlt1venaYlm16dpis9p44C9FN\nD1aTMpoawl1CkRLUlGm685pu4BSdvqm7rnOXde6qzl3Xucs6d13nrus89BQb\nsnJjTf9v4pj/InFWiedM/6RVH8XQLRnYEjV1h56602Yj2u1r+flQQ0b6pnUl\nQo2Kr8n/SduU3NkZX6LJGjRV2/4Zjjwtn9/JmTc10HMnZ4r6HbopN5mSG1P2\nQ42++auQsSkZYl7NxJssUM2KvcKii3KSXbSnTSrtd4xm0rk8/STNCh5ylvCQ\nDzj6JBZAkA8Y/goWrciqvnmN0o8ADVxZglEusg5F1qGoOhRZh4kh3w8xm/xs\nZ+rkKrVYP+Y++1sL03PN5FwzuUrMCDKxSZlR+arOVa4Tuap1IkLbpGjVwCoW\nhZDwXTVz17WQGDITq1p0WQsFWfGQgRJbTNZB9H3Xndx1Jw+denBq/0zFoVen\nIfctWWJWHnLlnCLqpzy10Gdf38MnqUCgmTZnkTbLpGrau+z6mfgLpRHY/Vmx\nyqaqNtOmqkR8mzzT5s9oTG3lmzTJKiRZhaSrkOUkPF42+ZWhdYaSRRfP6NUv\n5BWTk2omzt/xCHIVMsSkivLSJ22Vtai6FlXXosryqqxbW935oSpkmb6TpKiq\nyk1XuekqN1nlKfkDyDOUS+wgit4hR+BXV6nFxikSt2/iIds95JasyL13kQvL\nFCG6Ti9kZajtSRl6qIbsuqG7Tm/Ji9xNF7mWFVdLcnHdEld7p+Kyi1xX2bHK\narRdjolawEPCV++JgITPd2Kb7PyZWMsQtTC1pkagQ1ESspQQqtO3bt9xCsFD\npFWqmulN+TTmqeYl2TyFA2EO/NZY4sBMKyaAJV23rOsmbViWVd2yrFuWdcsK\n+kxb3Uxb3Uxu12cst9hXm7bkzNRiX23SWGXSCmZamYjE394w+TWYFmGygSa2\nnWbSUmKmdrkzcf4u1qZ21Va1YLmJj8Tfhd26Mghal63rsoO67qCuUMC6XDtn\nYgGg1tXiGZK/Qy0NPqYsO6atQKa3oya3o+ZyE2Zqn2t69Z23KGZJFn1f1YI6\nJXz35VWukXVTH0jVa32VC2pVK0vNCk+rXFmqXFlqUSg7PY1ipszEAgurXBRq\nUfNnihCb7VrUONciBnRKyE22Q1ZNrW7VZKv1zrxqM3WVJoaqrQlVWhNm4iwl\ni2bLLX812RmmO0ObUKo2XtTKqb9dp9WJmThJ0arrpJJRm65d07VrsnZac5iJ\nkxStateodl8VqMrlt+rlt+rlt8rlt3a9minjStXGlSqNK1GL70QaWoRc7mdi\nNZuHsklUhQ1VY0OVIFClraMqDKgaA9omcL1tEtfbpnC9bbJ/mrRTN2UtDwnf\n0d+3lqJqSVctyaolafVrWcuQDtKZWMsQlctyi9P0utz0utyKtEm2ImtX5Hxr\nEo1aUXUuygrXTIF101vRZrrGcn8ZkouQrCos97hN7XGbXu6bXu6b3uS2qvaX\nx0GYjwxtwW5y89u0BbtJEGhqrz0liH6rsoc0mjWNZlE30RlNaj9NIkPTCNU0\nQoXo75zTtu2mbdsztapeB9Gq0n3tBn9FDLktbtJcNRMLjbJpE/tMnWSJqnrS\nMtW0ZSoSf6eH9IU26QttrrvfdUukZappy1TT9qPmstnSYNUk0jXlKm6uNMqu\nrUddWo+6Una6wq6u0a9L9OvSpNSlutS18ahr41HXxqMujUddGY+6NB51aTyK\nODkXaZWBpiessYhl6drS1KWlqSt9sEtLU5f6YNc2pa5tSjO1qrIpH3A39ZF1\nExO2a32pS32pa32pK30p0n67osr6VlnfqupbZcWqqkGVNWjSxt9lwFKXSkeX\n7pGulZzelFOo6zimruOYZjCoqrP0eHSpuHSpEnWtEnUdsdS1P6ZrzOrSa9Il\nknXteOnSxdKli6VrF0uXQNY1kHXpYunaxdK1i6W7DL/p0l/RlbbUVWRR106T\n7lgJoWV0GQnVtemvS60vJH8TD23OGxLhhtL7htb7htT7hgaooQFqphbe85F0\nnSVuDaUQDq0QDqkQzsSqzhqiZmqos9DyhsaSobFk6KjgIXFuSDf8UP72keXU\nH0VXTge8Dm3jHDKWdmhr5pDWzKH11aGMnKPopuj42qHja4c2XAa5KbJqoQ67\nHVVGiY4qZUhNb4oQ4ZlDK2qj6pZX3fKmqydBdkitbopQ1dNa3UytqtewekL5\nGtLFM7SLZ0gv0RShGi6RekjNcIoQjuKhMXloTI6mSCGy91y2RTnTh4yGGjKC\nYLjC3uG6P115XXyTiqFvsh2R2mXq73o8E2cpWgyKK8jyTen7Ifc7UC7jXl3G\nvbqKcHUZ4er6sITLtdyV4dD1qu1qhXeNM65xxrWt06Wt07PchbiEn5AsEhfl\njvOiJqdLx5trx5sXFd7iRXwgLt1uUVpTpYnRV7G6UYPPptdNLjcuocSlndNN\nQqhLBdCVpjcliJXJNShGeUWmrrLOKt7XNfy5hD+X8Oca/lzDn2v4cw1/M7UA\nbdeo6BIVXaKia1R0jYquUdE1Ks7UUGsBli5jJ1yioktgdQ2srqKXXR+4cRks\n7V0alV2qgq5VQR/q2x4Sml1qui41XR/KQuRDLlFDQqI+hONaHXUZ8ecSr12f\nn3GpNbpWSN2pGqI7XWOXVJVdacUuHYvxUtFHwqSK4ia5ycSf4kLCt82TLNoc\nqYss79udkfgzOSNtEZKTrHLStUu6dkkpJ3nL4lPNW9b1UCdmJlX1fta1y7p2\nmWrXtOjvZ5m3oitdZPWKrl7R1Su6ekVWr+jqmdgSTOp3SzCpny3BEtCVXIEF\nK7XL1GI2SkPvJH8xKaimJHzgIW9NtrnJNjfV5iZOhOVN2kcn+bsVW4mzEJG/\npXW1NZ5kNczKwjqpYkO5JG9K8nfXFYk3WQ05N4fujCErPWQXDdmUoZsyhIE7\nqF+UChlQ5yQ+EddNcdkUl01x2RTXTXFdadeVlodyclLIkTQWJIkFSboLJ/k7\n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\nFnToUwlXQS9A77oAoyZUKKBSjWgiBWBJeoOiG9R1FDFfdCAFHGozOtRmcKjN\n6FCb0aE2g0NtRofaDA61Bb0Dfei2JRhNg6ltGQbtdGgJBlQpD8qgv377PgRp\n18m1X7K2rNV1d5W4Pj9ndcRiMspGjKQlFSihYAkNMnTIoA1+lQx+lQx+FQx+\nFQx+lQx+FQx+lQx+lQx+lQx+dLwrwfGuBMe7Eh3vShUMfpUMftchqw/ZXZG1\nsayCsaySsayCsayCsayCsaySsayCsaySsaySsayCsaxqnAqGQSdZATp8JcWg\nDTC1JU4FoxVimJbU9Act9arJkKeyEp3KSnAqK8GprESnshKdykpwKivRqawE\np7KC3oE+oG0wiQ0msUSkxWjEgCrlQRlcZpCWsuwSZBZdaR6ToUBmMZKWVKCE\ngiU0yNAhgw51cAp1cAp1cAh1cAh1cAp1cAh1cAp1cAp1cAp1cAp1cAh1cAh1\ncAp1cAh1cAp1cAUyQXZXZB0m4BAm4BQm4BAm4BAm4BAm4BQm4BAm4BQm4BQm\n4BAm4KAMTYZBJ1kBOnwlCmSCDlNbK0OT0QoxTEtq+oPWxrudIdWeoGfKUGQJ\nUu0JOsx4rfYEA6qUMmUokKEDfUDbYBIbTGKt9gSjEQOqlAdlcJlBgkzdtFGq\nbrA+B6NBBjVukyGNUsGAoqVRKhgFMmDRYnwqnV6qcHqpwumlSqeX6qaX57rB\n8jwZ0h1TN+2OmXTljqmbdsfUDexbFU7yBL3KJmj7VjB0b2t3TDBMl5BBkFzS\ngwGC5D4mGAOqpJb0oBegd11Vad+qm17Sg64nTIEZqd0xwYDxlyt6MAYwOkyM\nQXRYMiRmVDhzVOnMUYUzR5XOHFU6c1ThzFGlM0cVzhwFHYuGbjX4TIw+E+mO\nqZt2x9QN3DHBGJABFiXpjgk6DVChRhdotEEJBD/SHRN0+NS1O2a4Rr5Bmslw\njXzDAfmGA/IN18g3HJBvuEa+4XATLykmw7U7Zji4Y4aDO2a4dscMpyt6Ha7o\ndeWOGQ5wNUADGa7hajjA1QANZIAGMkgDGQ7umOHaHTNIAxmggQzSQAZoIAM0\nkOEaroYDXA3QQAZpIIM0kAEayHBwxwzX7phJ/7pjBuglw+EKW6crbEEvGaSX\nDNJLBuglg/SSAXrJAL1kuHbHDAd3zAC9ZJBeMkgvGaCXDNJLBuglk/51xwT1\n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\nDrw7q64wxfQKPD2haxVXgu7dO6Hshhq8e/dOMIX+Cjy/KjCS4/rhfTzFPxBn\nrfN1jKI7mieQgWvCI/vBIJFnSRCHiu5x136l5VnSzo2EZOC4lxLHzaeKCac7\ni7EwPfXtbD2Xi7oqdY9WDM0/bAI9NeLJlOMxv82G7Mm+JY6a+FbK1HcSz5dn\n8E0/bdQSt4d9610KJZBH5n2QYL+8vlQmwgCKod9FsXufQolWwGHsvOvAlNcJ\ndbrXSRgdZtY7FgJmAydbzyzGLs9Xfjf+WXg+/BZCz9SkBnNaz5EkjV8mtZ5N\nIknR1vZMzWMwjXXn+yeXsjlqp+8fDm4Mac+ZGW9guOnecwxMcbXs/LKMLubZ\nngsz3sBw07N3I+jbeNOziShFEBaGxu8H2A1wAcs+3LQLVaVVG0kpJzHx7fqd\n6bhL9dxImGWebkb9dO2CQRum7u6dlvBmxwrt3mkJTOsrcfr7wIUDqo9OwECz\nvM26c94RnrmrTucdBLYisqwXohOuev/zEHKAmM3vKWJQ5B6JHOzeF6kIjGG0\npPliE+IWF2wkJqIwqwsqBaXUF3j+jCtFTCX8K7t3SYJDglxnir+dPULdzTgF\nIjDv99XpBO4XLcTR7fF+kZrmzTTTTwgz3Hkjht1/WMTNIFjSnEMhbnHnVkK8\naEb7/KcFlluc3d4jBw/ldrTv/LogciSjgV63D8ULngxOtZ/EoHK08Lx2iZr+\ndz545T5cVOQy75F/kZywHC08b15w0enIuORvXng44D7vFPFgKuVooXGjw8mC\nfvk0M48iEHbv35L76zPWT7W5uH+GSHhAAd9uxDBRzPBW7pVsx6FXd6eOhVbr\nBXnrBptXQqB+G8GrLsWjA5cEj2MAneCbbqIbxeWQYLnu1ZawpOXfA6J7teUQ\n4hZn9lWWcNdOlJYwReMKWP2+ykLdAs8bG456aaDfWLAb4gro9YywEr/Zq3rN\nFhUAFYaHGF3x3gay+9MYaECJh662fYAD5JAkkLlRXeW7R0aA+9Vx8TXgCHJK\nYuz95kpVQKB7bSQqv6RjGJuNs9d1SEw0TV+XHnMWhtZ0DOP5zQqaN657bRmc\ngeRO45RlYCrrTVrNV0ti1zrxVGjqCdSb/2gJUWSdejIEyMAPtzdioYELSbak\nqbOIQlVp590NhiXcQrySTDxi8HH2KjIYRqYrcG/RIkbIoUkUZElBYHpLBE6i\nvMa83pJFlJBDkyzmVFQ/QtZyEuoWmC2IQhMu/+HBLEl/CwFRAHULLBZHQT7d\nxMKP6A+oDpyFX8AX4tHC81mDVyvS5nkrv3ho4e7lrPxgKusVYuBeEciGN423\n8hfoy/Ai9HCvzxCqSjO7oor2tnuo1yJJoaolzV1RharSzvc+grRwYhL7PqKk\ncJ92Bn4wlRmN0fsX7ABXHo/zKhEyUCx4cJUfU1kaLgOuAlWrZCBlC6XJtd7S\nNlBCictwbtYJvOTw5ehka3R9GfdEQsTL9OzpPdkQcfmudbIvhugHugeGQVz5\ndAvrPX/CcXHYeaM+fLzlbdcLidUtM5au9/KJ1VVFPvGzCPK6s7QdyltWiujH\nRjDmqc4nW6LqS8XSdrwiyFNg+wQsYlMQgz5ijWCMcwb9MvMWaH/7BwRDZtZv\nChh9oTbwMKG4a+c1euODkIGZJeZ8WCuhNhgPgc8AVaSN5xP+j3s2MefHqT4Z\ngWADlPUAHuGDDYBLtjfnFyC7Qz8xIgEOKDMcuRtPTBwm+JB5iNACGD08gH3M\nAw6TiT3UTcgDQkHxIfN2fIQRyPvTh/QFBXJWafkTP46DjljkodCDTsG7kOLW\nPYOGuvEhRRA5DjqCc4YnOHQKPnbwKUJVaR9IFBh3f2u6Mz8m8WGyxBcyZTsy\nnce6OBngyze4g0vvlmQD3aV93VrvxXL/q4TsCDRcTOskwLgLfTZwWPOumHbD\nQ74Vdfo3WeIGoXgdmUwMstgnS2L2XdBiT8S+W+T2XBIx4yrp8XZcODtPHl9R\n3lAQxlpbpMPaOjdMiGbpxCaLLDqTyd0mi8CQNGJ3hYfL4nJe9PhoRmJdLfL5\nUybnjjr6jvuyBtSiNvXE7KSg7Yk6r4AVMFG4sTlzKCgLKMmYQ+EQryzFsYQN\nlWRsnoC0VhbnjQn4yVG8YRNO/MrSHEsSC6azXtYnT5buWPKORjYmyvqUyeIC\n+3CqrMvBaYeswKgXy+HjWOoOzTTGxgpMx6+xcbK0HZxpLIr1t5rhUeLNhqDA\ndOjMhjU8k8UpcKGGG9nbBmtIk8XNfkg7CNQYABEYryxu9sMbjm0sdkB5CmKB\ndLMfXrg+Y5aDQ6CyuNkPL2Cfsb3B609Z3OyHLkY2Z2BDpldlcbMfxobIM1Y0\nZHMVFmcqqxLsv0wV5+zHMFnc7MewQsWNKQyZNZXDTT50DOsjeBq7kHhUWdzk\n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\nSQX9N5G2gSJt+/ttATKd6Wb0LYCKQI6kRtKj1bbO2GZyhtVXsTvM8wPqYDw/\nKOxtrQz2NipicEiFtU2kucSiktawrePXZBaFHVl2HLEwj7lEO8nqVldOi9FN\nRrV6IMsZZ0YZz37tavVdrbKu+23q6qBT12THseGRw2WQ4aliMl8hnsVklauv\n+fszcDrQt6XYzqX4TsICDzSykOoNSeDG8OpUODrjyjyGOyfiznX2ox7HXtXc\ncWsShkWGBfJrSOTwj1JJcAl2wxIooxMsai1gaWNorNmQFkMjqLVpwe3EYCww\nSdLahYeEuAVN3WZpcxzSzt8G8jEQXRPirdj+57EAwzIS/nKcJdmiAH49BGF4\n5dgL5goM5w6gIfnXcBJdLMT1SuCP04JoCuejN8sxA/gBki0oaoo9S9OxgDIy\n7rE4/CJ/hfnVRy7aW5kIu8z91kgG2wjl4b2KvFdBEgr+GKPXZQ9JAmhps1dh\nZwIE+VCmD01FuHsVbWUi7DKN66tkplEglZFNna7bsKDQzLpFssYukChEAYkH\nta5bluOxbpSjUwWJ87AdcCk2i1QQYOlAnjOCpgSN4ggEeLq2pRQKFtsZ4M2h\nN9Z0FdcZuLM0XWe42fyUcw/7N2zTlI2WtnNX1rbXbTYJHWs793C2mN4yFgxQ\nKWk9wSMqIfihreCxaDHRMRbRp7vQlJOIfnAJL8BVF5RgDNXm3Zx7mHyq21rt\nLCdnnYB4IJuEmPVAn3jM00sHvVw7nH2HNcMmeC4z3OgMl7WHyTDVdTKxrKG1\nLQSWA6UWhbUdCCxP/aYhnRDPbEkXv6TratxtriqZKyTz7ILpTpLPSA4x7ZZz\nHwT+/85leYCAojC3A8nJZBvBVTEr5qLLm9a1ntB86q+yk46GZhwzm6RSjCRR\ng7Rd3K3dqwXZ48K27p7XkTbzl/44fSoZhNxKzk0HigO+laMT5GMwimY+3YNx\nBlbAzRiD4WE0tCFwN3M4GuDayVSz8VDLmnOyFtZ0FVd9lrusTVfnp3MwgFsi\n+HFebYCEqV0SqbhnJNhWPlWQ37F4ZkLXPRbDVibCLrM/c9KZ2S9iOgYP79W2\n3NpeBUkcGx6WjC1psldLnN0KR8bXA465PDPn7OrWGcaeJQ8qoJ/5PE78djOP\n2gq4G/OVuwDqzcpFXl7dxgQq5XfI6cINLJ1v7evIPQCdUVj7MVkGfkK+6+Jd\n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\nnn3vnsS8dTZIyCH6qX2P6EVbJOQQXwX71kE7pH8yPEvo8xjqZ7nr/IIU3PEY\nAhYL+dufP6VffvoRx7f1oBtsRr4Whtmh9ODnxxWmfiJ/5vfFL9kXHFDH1L7Q\n2WLx+3YWwoZbGg7P3knjpt/2+rVUFswlsmDKh5ZLxL1YIgvmElkw5ftKBlal\n8i5DakfqoH7Y29fijdfiBwYQSXfsL07aDi8M/Qjed7DN0+Mu8rFv3r9PU0BO\nFrMCcAbAoAigWVa7gxYsyNoWQQsWJu6y00i/7tNCW40q4zRfvXNBLb4eWnzm\nsXD9vUi2U1P1U8n3KpZ7b/gYQ4TsMyfC+nVh3miKgWyTJoyIJ0BFjHgCJOX0\nXQgaCuYNGlbjDNvLMyGLYhC4Ga3bLugL6W4o3q2Lnw9qMz81+/MTZPQN8t6Q\n2qHw3n+07vsEl2KVriRTAsPmnH3VOUkG/nzyz+NBrbNLGtM7ih+oNaYtIk9W\nGpMT/pyFf2YmIn/mGSRXJj+mtHuOIXpfXC9xlHByz6wrb8Y5f7jTZiT9zppx\nfn4H0k/6ffZ4fm7XQus99bgKppA5UUUcaD0c9ykPAv37zKXdh2BC+YnLYejb\nJ1jO2zGROwpLMl3QuyjIlMr7W1tX/yhcjjZZRy2i2tfTEygfCpdii1J896l6\n+7BhBY5WsHBDqB5tsKAT+YMEidoYTRRimGij9urG8CXGLzvIphPXBAvBLXSe\nDRo6Iifd6DGh8Qz/djNYr+MAb/27e/T7wAbN6kNq6W9z3Mnsuph4xlNbt8fv\nkJaNLi0Y2jg19Q3VVXYX3frt740ipxi+FBczn+qM3zMMXeQLlv1d943isPDc\nt7pssblEy3gt3DHX0/xw9c99yauomdgtqXZcLrWI6cPrO0H1O9kNtaRX8eVx\n9a3wVkQbf39a650bhwETgFVTwFCAK0BMnGY8SkxMUpmujFp2iIrKRGZYbDE+\n7Z1vbvcUL4KDJfm7bKB8aWzrU0tdJagEV3Rk+C7bn3D7dyHP4n5Oemv/+fGc\n5J/M9PgooKCY+Q8Dnb8IlqlYhhT2maxZ2GfmVyxK/2daFCyfyUqw7APc8wv/\nfj0qYBadElFF/Czi/qn8ja95Zjb/7HT9Wubn8t9t9Wuhf9huaKy/oAGBewLs\nu447do8n1ngP8quX7dd+IIVdgC0BzCllPVbPn/cfERowvjs/Tyg/kzLS7dB/\ntXHt9RO4XQi20WUzkhvKiNX2+XXd97JaIW18QxTT9Gl3h7CmH8hLhWdw2Xx1\nOoQ8zSppvVCGhFC1hkNsCyWw/9XFHCKjJgYSn+r7GO/3avhwFXM4R85Kv6vw\n6WefKWrCQbVskvoOOXhgkZXR1j07bt41PTUx62V2H1LNY1tt+55ST8N/oD/h\npjPZdqO7zkfium87ha7R3kb8kGkK5xKProo1ToE/fykcoWqNIVvXh2Saxwio\n9fnOfv3uSPN7yoCr1DNCSl/3cvmZy+Z93p/lBZ7+8Dik6hY8+zHBwYP0lGjY\nuO86czyBAyn3433617iBzRxxb5kqOjiQntaGe8u09/ow2fsluZE6RCeIVa5C\nXCJTIe+sgN9GMznArJe/GCE76DNvzF4x3VmAVibcgzzzh30WM5OCVD1jt619\nr2rfXuEYxep0ps+a4pb7zAn1zvKL5Kc9G+fF/hW2r9vbFHneeeAzMiAU0DEZ\nAgHBsiRutM5Kxu+gWKjb+7ducNI7usvtkEiy+lO+dfX+/pSwlgYxhRP5tMi9\nkOVJIeNRRyGvcdkfk2H9172rhUX3ITW9I6MM8PdKVQb+XtgEcbGFbZkBs89k\nOiBmNo+9/kz2UNnTZUnflebnO2B+n2ny/NDf7wBB/jYsvPFVVbe2qLr9fnxL\ns/tgVVi3h1ja9u2qN4wy+UMex7FyC9H+Ms8hLPlTRQUik+dashsczXKhxrMj\ngSNbwfAsPtc1JsY7u+8Nd5nn8wbvnlXFbZf148837rOLKvch3lmZFMi6gZ/Y\nuPHgAnl5BtjtK5bkz9R8n8WdHjLXTz+j8OTCvhjHblkYm/12F8NqixM80Qm8\nyk7gzxcbPhhe5XTmdel2ePrw3UviPE0hHSv1b3sueDXwyPr5YMXwS+omlT+f\n7XsC9u+F+vXl8NE01DUk5wTXy3H3oqEG0OuZRVfPn18vcfe8+O55ibvnxXfP\nS9w9L3H3vMTd8+K7Z0oJGlf6jgefmFm0N/65MbkzeTF5I3k8prR7eYdpVwvX\nY41k4gPP1xKaTUOOYUFH7rMUongi8rVCBpsdy0/B4hqZQti8Yz4lfSm6saBe\nZWV+pkph1mf1Ipn6UJAs5ZYssspqKYrHluLRJXVdB5pJI1pehKEVkO6FsrIj\nijvzDClMDpC+VWt3ycLZpU6/kk1nsk21oqqMm6q125AsTbLIHipnlSH1C/qS\nTabsXarCXDayS4OnRFxPnbKbNZNDNw5IxfQteWL3riZCVQmrysnjNwNUDqmq\n1KiuIb8DuqHll0MWRU+qcUglm23LZpO9tg85OFR5IqCkQqRxS+lZqguozr4V\n4KqQvSjlQ37x5OCwotRE2BqBdGWzyYk7MpUJZGtEjvZhsgfIsRFXBIrpNzOk\n/OJFbFTVQnqBUeRILL/5GmkjbOlpQtnn2ryqP/0S2mrWifiA0m4JyZ7iakKQ\nK724RFRfEjlToPpILLObQKxIhL89gZhE+DseiEtkKavF8IogpEVJU/0toXqv\n0KNyxBwfEEfkONBQJphkinjngok/wKGoKWlLNoOsA5NaigC2lNXEiEsvKF1t\nJpmWrDbVR3kuDQ7VP5qU1YZsm1J1n5LFyU2cgqTdXfWqKgcqzy0BdN0+sq7H\nVshU3S23VsyiqtSbLKYcjKPI+Uj1XZctoDrUkKNQygofDMEkLXvW6NxDJdOS\nnS2iDIrKqbIbRhS/e6OQs4S0zrZsn65mazmNy69SkVOrbJ8tTXbZcuby06Or\n2lVrd91FepMzWJWNrefQqUePHiPy+zvk7BZebdhBOjhKnulLTmxykEzVBlXO\n1LKeV5HTvmSRWpYeN3IMqJ1kdjb9qahbVpv8KJkeJLpB5Zqu6TVDM82kJwO9\nBJH1yt6bp8fL5pNlXXrYdylODZItG6gqliqHghykdcgxigZHUkdePQeym2QS\nH8YI9VGahrpQZWI5EVDV8qrmwqP8BFzZIHpchi/5DVSVPLwACAAP9BOQ9bN0\nSfdvoC3kiTV0JB8bqjfwwUciJhHZTVpXtrUhFYkPTUK/6eCiHcQwSkT2uV5M\nMrlmUoXtVdpQZWHV2VxABpdISR+CrkZ/77oOuqEwbbGrSqu/qTQ9sJSwqli2\ntGzK+u9yiLjsn1P3TznLDjkQXHd3XkMmsiXTLBqqshtO3UCyVzfdd9uUTFv3\n6qIhabmZ7sB6ttCI6lvS7CnHlp4WVXecUstWH40pW67KScxkw9Ume5xiUcXX\nH7NV5DwhZ6Ohyl91f1Jq9OBRn8UtK9nlx1xPrHKS0JNRUeNpyp68ZFPKhtHT\nl15JFMXzm4Ep50LdMIplyjrjW9muz2i6PKNJZCvEpCL+7HZ9rtPluU53dfWX\niDSOx013uZZKSNYCH8gloivVtThpt269LRUZxjTo8tgrEdVEakeSkGbawoJ2\nRwNO+pQdQR2hdVcXuokMNqBLm3uVJohjhUS0cXzi0PWJQ0CqI8jB1WUbqC66\nFcdS42qpjrvlMGhKlqoUOTZMITaaRPTY8N9AUzaY7Gf2m/aX4rpuf76J6c+N\nFzPVomdRVUWrK5apehrHCj+zh2oIaXPXlSPnm1Z0Xas+LXZJ3YU7RpRTf3iq\nRGS3VkAt8oMk9S9VSvl1k7NdLXJKk4ZtNTnpMSUtXnoUyglNfgt/M3CVGlmW\nrldF1fUHQo2zoap5KQOmXAu47H5yQSS7n/zOKB1VTtBLDktx89LlzUt3Eagh\nLJZziewxPvSiQq83lhpMQxZGd4yimOTHS89/6pCsy0Pyrg7JP91S+TslBK4f\nQRcDPaGJLEZXX0GXdhl3wUC0xSYsFu6YgeyNHMLXKxFT6ru4hk9oS6h2Danq\nEQvYRLQmcUSVkDbdioZUIymf8oS4jwxV1lqk2a54tlYvOHwpDuGpkeWfUo1E\nmpTWTeppssvrsdi6huR0YEUiWpxpcVMhi2eEJgek6h1bAUq1LdnRVANMWQwF\nSIam7F2SRRq81PBj9+8oe5eDecoZYCwpTdkse+XWs5OeV6seZlVqqlqennCb\nNE94E0eRVCu4+oY0OdKFp100j9JSq/y064+rHAGqdwrH1ugdRWrpskerGlOy\nlmxMOZ7ERj6XCXI6nVKP5un6q1p+A8mBWOVArL9ZYOju3mQ/XKrutmy5sSWi\nZgmlXUqSXX3pJYJs66o/nUWVsssJDw2YyvciUsA1wcGLig+gvtsJDcnkmmkq\nJp4HEpGKTEvbCuETkyndKKb0lZimXI4TkdKGLM+Q5YG0Gkn3IejSYn7LG8jS\nyOQOJV4lTFOvEhIxFiYO/KepU/1EthDGn4gcHRIR6+SAhOtfQOKeICBxT/CB\nZMUt1aFc9aeqOLYq6FSdQ/Y/RV+y7LPJriy7mXhGmZBiEu57iSwlTnhOBNKk\nDV1OeL1JG5rsUurKZZp6PZ5I10zSPNMVIWdD8YBrmnwBmpAsrnqhnPbJnl30\nqFNdWNZq1WqqHveKR3EMWddm8rO4ZKdbksd0SWVNu0RsSUjOYT70xCfnBTn6\nxYY3Pz+y5eRHRn0wRpHq5TfG5BjZUphCpm4B3deH7B5TDsWmv0ouB+mSnVd/\nycwlk1akV4jq3cY09YAqENV24oIohalWld8GPSvLlXhVyJYW40f70zDi5iIQ\ncd2R0FJM4lTyAxVpgQIanKIG3aQo8R1LaLCwLoV1WTP8aUlkSMQVMnQ98z4g\nEdmgQyuSrcZb3kBcWuCy3aZuamnb0gjtErKrqfYRu4REjIWdIQV0q0gfqvBy\nOMlmqYpDfDsS0TyqvX7TM1VRlKgt21f2L6VCSdq628kJZsgSyuHqyuK1ZQWr\nljepXnYJVfNWpXZZ9a3z/Ca8/kLL3NznN4+FLmfqWlRJVEHEe52oeTl2xcr0\nA7nswrKGh1IzVWfZsn1dKlGtpV6iJGSSSXVKcYkaRkvb5HdvKlkutat+0VX1\n96aKsmTp5cRW9GgZUpicEqbsZWrnn5BsGjn3dTnKW5Njdur1jYRMfnpE8I1E\npLgqu+FSzS3VLFk3qkmVpK36oA/ZO2SHbrLbUJO1Ms5q6BdD+JE7SIU4k0VF\nFkpka2SzMD5GOsgULHyIlDZL/VXof+Zt0tKVFnYpTaRXichydt04vDdNaCt5\nfCF7uoG0Di8ijnVD9Q8FTGm0rIMh6xqnrgBcAVs1juw1yip2Ks6CqLIvySKH\nRlf2yl42pJIqlfARb0qT9SKOL7M0qs5cjkDFsWV3HYoFtzFnajJZTInwJvsg\nclgUOcr4de1Bqp5SVI+qWpOcukVyzJwHlTDVbkspGVu2NGQkLEN5552akT2N\nz1MOopmWqgA+HMtKm/JDqICmZC3JYnJ8gFfe6YOqs081m7tsMjkJCEeJ05l+\n02ymuWTbyC9+a/pLaHr4mp5Bul4p/GY+0PNrHhGpLichm3KobDXst2wqPYls\nOR7G1E0oa2+orjp0SeVYlV/rIWcRpf7n0d7/+r/975FZ8FMvlgHw/6//8t/+\n/V//83/++uPf/uP/+G//9V/++E8zJtd//5f/+1//n//yx3/6498+n7Vf//Y/\n/vv/+R//8j//6//7r7/+/b//x//4l3/9s/7x//0v/z+xIch2TNAJAA==\n", + "encoding": "base64", + "sha": "9434855e7dad0d0236d23210b3e71a2b83a9ae64", + "display_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/6efa248cf456d6101d757e9d09ba29711d18a13a/research/p104-event-contact-step/WORD.json.gz", + "display_title": "WORD.json.gz" + } +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz new file mode 100644 index 0000000000..9434855e7d Binary files /dev/null and b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/PR5580-WORD.json.gz differ diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json new file mode 100644 index 0000000000..ab9ce50ae5 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T202859Z/custody-revisions/20261025T204435Z/CUSTODY-REVISION.json @@ -0,0 +1,63 @@ +{ + "schema": "source-custody-revision/v1", + "revision": "20261025T204435Z", + "authority": "Root explicitly requested preserve both immutable versions and restore historical derived-pretty path; no silent source-pin repair", + "reason": "Curator replaced an already shared derived-pretty RESULT convenience file with exact captured author text after downstream proof pins were created. Cardworker stopped before request freeze.", + "source_head_unchanged": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "word_unchanged": true, + "scientific_execution": false, + "parsed_JSON_equality": true, + "historical_derived_serialization": { + "path": "PR5580-RESULT.json", + "preserved_copy": "custody-revisions/20261025T204435Z/PR5580-RESULT-derived-pretty.json", + "sha256": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c", + "format": "JSON.parse author text followed by JSON.stringify(...,null,2) plus newline; derived, not the author Git blob" + }, + "exact_author_serialization": { + "path": "PR5580-RESULT-raw.json", + "preserved_drift_copy": "custody-revisions/20261025T204435Z/PR5580-RESULT-at-drift.json", + "sha256": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c", + "git_blob": "9eca7f2d6c2f09886ccd57a32fed8462bb539aa6", + "format": "Exact author UTF-8 source text from PR5580-SOURCE-CAPTURE.json" + }, + "source_files": { + "PR5580-SOURCE-CAPTURE.json": { + "bytes": 205424, + "sha256": "f5e65eed4d2ab3a7154bcdb631cdc48cef8c7ed7f8edad7a5481766b5055e5d8" + }, + "PR5580-RESULT.json": { + "bytes": 11625, + "sha256": "7962660bd5780b518be592aa7413e5534f50420e22ec6d27516c7ce409129a3c" + }, + "PR5580-RESULT-raw.json": { + "bytes": 11625, + "sha256": "aab659f8cfed61fb5e2dca1f5bff1cdd7a493733a4b36d5433d7c332c5ccf78c" + }, + "PR5580-SOURCES.json": { + "bytes": 2856, + "sha256": "bdacaa7ec193d809dce886360d102fe5f73c970265d9c2676bef3710c46db3b2" + }, + "PR5580-WORD.json.gz": { + "bytes": 105115, + "sha256": "b2a98c4bd0dbe86c09e9d15ee060dcf1aab09dbef90aa1e2127676f4039f406b" + }, + "SOURCE-CUSTODY.json": { + "bytes": 4076, + "sha256": "a2bf8474cf6cf035b6ce2924cd53549d0919ecfb133767b1a1a54620258e6c78" + }, + "PR5580-INVARIANT-BINDING.json": { + "bytes": 3644, + "sha256": "e50aafde1a0533d9fd52759aca6b2f35e684987514a8201860fc905526275503" + }, + "PR5580-TASK-SUPPLEMENT.json": { + "bytes": 8552, + "sha256": "7b7d92ad03ad1c68d3b6d3391a2eb2de92f3b03cdf4a255404b9c150871d1730" + }, + "INVARIANT-SUPPLEMENT-CUSTODY.json": { + "bytes": 384, + "sha256": "573cc844b8506fb4f6edf6560a595c30799538d64ffd5235366dac38131d5c7b" + } + }, + "historical_index": "Original FILES.sha256 is retained unchanged as the pre-revision index, with copied bytes in custody-revisions/20261025T204435Z/FILES-before-revision.sha256. Use this revision manifest and FILES-after-revision.sha256 for current bindings.", + "downstream_gate": "Astra and cardworker must acknowledge this revision and prepare a new explicit request/change note before freeze; do not rewrite historical proof/request snapshots or silently substitute hashes." +} diff --git a/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json new file mode 100644 index 0000000000..f7f29b90f1 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/capsule/outputs/continuous-kappa-process-20261026/upstream/checkpoints/20261025T204816Z/SOURCE-MANIFEST.json @@ -0,0 +1,89 @@ +{ + "schema": "continuous-kappa-upstream-manifest/v6", + "owner": "source_curator_checkpoint_20261026", + "observed_utc": "2026-10-25T20:48:16Z", + "inclusive_cursor_since_utc": "2026-10-25T20:24:28Z", + "canonical_main": "5e0052ca0aa3036a3afa8b0438927377c8d97d53", + "main_changed": false, + "selected_kappa": "0.003027288235", + "latest_complete_author_claim": { + "pr": 5580, + "head": "6efa248cf456d6101d757e9d09ba29711d18a13a", + "kappa": ".00308189", + "head_unchanged": true, + "run": 40230586781, + "conclusion": "success", + "completed": "2026-10-25T20:37:27Z", + "independent_scientific_admission": false + }, + "stronger_complete_claim_observed": false, + "new_transfer_package": { + "pr": 5585, + "head": "a21a5af71581d678476b882b4b8f27339a2e067d", + "source_pr": 5569, + "source_head": "af9f091ac6f30c6eaacb9c27777bfbe2d0e5ffdf", + "predecessor_pr": 5572, + "predecessor_head": "dba3cf67c800f32f04c80437138a51310dc08c1b", + "operators": 3130, + "occurrences": 4189, + "fresh": 499, + "reused": 2631, + "controls": 14, + "scope": "Finite nine-axis native evidence transfer; inherited2631receipt results explicit; no complete supplier/caller/allwidth/precision/stock/funding", + "CI": { + "run": 40231737798, + "status": "in_progress", + "conclusion": null + }, + "no_automatic5580transfer": true + }, + "native_pair_gate": "FREEZE-TIME-ATTESTATION.json", + "current_ownership": { + "5125": "20:43 update: no favorableprivatefanout/simpleinputrelation candidate; now jointhelperinput/output subspace split in5569 with identical-entry/exit-chart basis changes; no public artifact for negative screens", + "5574": "DONE/released,independentcontactreviewopen", + "5575": "Pivoted to new intermediate frames after5580; all anchorquotients≤3; expiry22:40:49UTC; prior scratch/oneshear stopped", + "5582": "Still ordinaryalgebra component paidreturn theory scope; no overlappingproductivehelpercount theorem reported", + "5583": "Fullfourbankp2passive-caller sourcebinding scope" + }, + "new_other_material": [ + { + "pr": 5584, + "head": "711257763d2da7db14f3f9607f5f7b1e785f745d", + "scope": "Scopedownedblockcostfloors/publicdeliveryobstructions exact5569, noκ; credits5579overlap, not automatically5580", + "relevance": "Do not reopen fixed-boundaryownedcleanup/delivery models without changed hypotheses" + }, + { + "pr": 5586, + "head": "d4192257092e797f2771f7d50da8f5e1305b51db", + "scope": "27conjecturalresearchtargets includingcommutingwindows and productivehelperreuse; noproof/search/numericvalidation/newκ", + "relevance": "Planningcontext, not completedaggregatecardinality theorem or activeclaim of a specificnativepair" + } + ], + "price_publication_gate": { + "frozen5580_inputs_unchanged": true, + "new_higher_comparison": false, + "direct_aggregate_price_cardinality_overlap_observed": false, + "prospective_public_contact_scope_caution": "5575now owns intermediateframeoptimization. Distinguish any future publiconlycommuting-read/event-order nomination by literaloperation/window/hypotheses; publicoperandsalone are not a sufficient scope distinction." + }, + "coverage": { + "all_author_updated_prs": 4, + "new_issue_comments": 0, + "new_inline_reviewcomments": 0, + "direct_discussion_index": 25, + "direct_threads": [ + 5574, + 5575, + 5125, + 1166 + ], + "changed_source_package_reads": "New5585only,7texts+1largeBINDINGSverified", + "not_exhausted": [ + "CollapsedDiscussionhistory/edits", + "Unpublishedwork", + "Allhistoricaldiffs", + "Independentnative/scientificexecution" + ] + }, + "no_scientific_execution": true, + "no_external_posts": true +} diff --git a/research/p104-abcd-n18-funding-obstruction/guidance/AGENTS.md b/research/p104-abcd-n18-funding-obstruction/guidance/AGENTS.md new file mode 100644 index 0000000000..fa006ceb6b --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/guidance/AGENTS.md @@ -0,0 +1,92 @@ +# Agent entry point + +For open-ended requests such as “contribute,” “use spare inference,” or +“improve the bound,” start with [autoresearch.md](autoresearch.md). It links +the current priorities and standing procedure. Check open handoffs +before using the task picker; its coverage fields identify prior checks and +remaining obligations. Explicit user tasks take precedence over that default +assignment; do not reroll an already assigned task. + +For a fresh assignment, run `python3 -B scripts/choose_current_research_task.py`. +This entry point resolves generic baseline commands and retains each frozen +card beside the current command. The historical picker and root guide stay +unchanged because research packages pin their bytes. The current command +examples are in [the standing procedure](docs/research/agent-procedure.md). + +For repeated/overnight loops, follow the +[upstream refresh checkpoint](autoresearch.md#looping-agents-refresh-upstream-at-each-research-checkpoint) +at every new round, before a major pivot and before submission. Fetch canonical +main (not an unmaintained fork), compare priority revisions, and read changed +guidance. The local task picker does not fetch updates. Preserve work in progress +and frozen evidence; start new tasks from the refreshed base. + +Default to one session of about 60 minutes unless the donor sets another budget. +For a concrete introduction, read [the bottleneck brief](docs/research/bottleneck-brief.md) +and [glossary](docs/research/research-glossary.md). Use the card's first working +example before choosing a detour. A useful finding or handoff can finish a +session; a PR is not mandatory. Read the [family status and expansion gate](docs/research/research-family-status.md) +before extending a mechanism: newer pending work may change the missing task, +and a local improvement does not by itself justify another construction round. +Partial contributions remain welcome; the director owns the complete budget. + +Before substantial research, read the +[discussion-board start here](https://github.com/CrocSwap/integer-mult-bounds/discussions/1163) +and check [active discussions](https://github.com/CrocSwap/integer-mult-bounds/discussions) +alongside open PRs for overlap. Use the +[handoff thread](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166) +for concrete requests and the +[mechanism-proposals thread](https://github.com/CrocSwap/integer-mult-bounds/discussions/1167) +for early ideas. Follow the claim/update conventions in `autoresearch.md`; +claims are advisory and discussion posts are provisional evidence. Keep one +canonical investigation thread with a current status and public artifact link; +use hub threads for short pointers. Local-only evidence must be labelled, and +useful partial/negative results do not need a new κ to merit a focused PR. + +Use `python3 scripts/find_overlap.py --task TASK_ID` for a cached search of PR +bodies, discussions and local package notes. The report states its coverage and +freshness; no matches is not proof of novelty. If changing a card's premise, +record the scope change and why the new question matters. + +When acting as an authorized maintainer/director and reassessing research +direction, follow the [priority-review procedure](autoresearch.md#6-maintainerdirector-priority-review). +Update the task catalogue and evidence log together; do not infer a new frontier +or a universal barrier from assignment weights or unreviewed discussion claims. + +Read [CONTRIBUTING.md](CONTRIBUTING.md) before making changes. Resolve the current +result, review, source manifest and reproduction command through +`certificates/selected-result.json`. Historical research notes may use “current” +for an obsolete checkpoint. + +For authorized maintainer PR work, **first follow [delta-only queue intake](docs/research/pr-intake.md)**. +Run `python3 scripts/pr_intake.py plan --refresh --output /tmp/pr-intake-plan.json`. +Read selected actionable entries; do not rereview unchanged holds, recreate +100-entry audit packages, or rerun historical suites after compaction. Persist +changed scheduling decisions in `docs/research/pr-intake-state.json` and actual +review evidence in the central ledger. This scheduling procedure takes precedence +over older batch recipes. No automatic Lean, Docker, or concurrent heavy replays. +See [research archive status](docs/research/research-archive-intake.md) for acceptance +rules: a merged archive can remain **partially reviewed**; merging is not scientific +approval or a selected-frontier update. + +Keep `upstream/`, frozen source archives and pinned evidence unchanged. Put new +research in its own scoped directory and retain predecessor attribution. +Distinguish a finite certificate, a scoped proof, a search failure and a complete +multiplication theorem. They are different claims. + +Use an isolated branch/worktree when sharing a checkout. Run checks relevant to +the change; do not run concurrent artifact-regenerating suites in one worktree. +Record exact sources, commands, environments and any unrun proof obligations. + +The standard donation prompt authorizes routine Discussion participation and +opening focused PRs. When that prompt is the user's assignment, post claims, +questions, findings, handoffs and feedback without asking again for each post; +the same applies to opening the contribution PR. Respect any narrower donor or +account restrictions. Merely reading this file does not override those restrictions. +Do not change the selected frontier or merge/close others' PRs without maintainer +authorization; existing explicit authorization remains valid. + +New research packages should include **Open next questions** and can use the +[minimal package generator and explicit replay hook](docs/research/research-package-guide.md). +Optional workflow feedback goes in the PR or the +[feedback discussion](https://github.com/CrocSwap/integer-mult-bounds/discussions/1200). +Link it once; no separate session report is required. diff --git a/research/p104-abcd-n18-funding-obstruction/guidance/CONTRIBUTING.md b/research/p104-abcd-n18-funding-obstruction/guidance/CONTRIBUTING.md new file mode 100644 index 0000000000..5185786f2e --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/guidance/CONTRIBUTING.md @@ -0,0 +1,107 @@ +# Contributing and independent review + +**For donated inference or an open-ended “contribute” task, start with +[autoresearch.md](autoresearch.md).** It provides weighted task suggestions, +semantic overlap checks and bounded stopping criteria. Follow explicit user +assignments instead of drawing a new task. The root [AGENTS.md](AGENTS.md) also +points agents there. Existing external donation prompts should use this +repository-owned guidance for current priorities. + +Before substantial research, check the +[discussion board](https://github.com/CrocSwap/integer-mult-bounds/discussions) +alongside open PRs. The [start-here post](https://github.com/CrocSwap/integer-mult-bounds/discussions/1163) +explains claims and updates; use [handoffs](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166) +for concrete requests and [mechanism proposals](https://github.com/CrocSwap/integer-mult-bounds/discussions/1167) +for early ideas. Existing discussion claims are advisory, and findings remain +provisional until their evidence is checked. + +New research packages should include **Open next questions**, with relevance, +a feasible first step and blockers. Use the optional +[package generator and replay manifest](docs/research/research-package-guide.md) +to reduce packaging work. Keep frozen predecessor packages unchanged. A focused +finding or handoff is also a valid session outcome; a PR is not mandatory. + +The standard donation prompt in autoresearch.md authorizes routine Discussion +posts and opening focused PRs without repeated permission checks. Respect narrower +donor instructions. Optional workflow feedback belongs in the PR or the +[feedback discussion](https://github.com/CrocSwap/integer-mult-bounds/discussions/1200). + + +For maintainer queue work, start with the [delta-only intake procedure](docs/research/pr-intake.md) +and persistent scheduling cache. Do not repeat unchanged blocked reviews. + +Before reviewing an existing PR, consult the [central review ledger](docs/research/pr-ledger.md). +Record the reviewed commit and its evidence separately from publication and GitHub closure. +Recheck the current head before closing incorporated work, link its retained source and attribution, +and leave partial or changed submissions open with the remaining question recorded. Research notes +and verification tools can merit integration even when they do not improve the selected bound. + +Maintainers distinguish **archival intake** from **validated incorporation**. +New isolated research packages may be merged after source/integrity intake while +remaining `partially_reviewed` in the ledger, with the unverified obligations +preserved. Such a merge retains the contribution; it does not verify a theorem, +certify a new κ, or change the selected result. Shared-code changes and known +correctness objections remain in substantive review. See the +[archive policy and exact-head index](docs/research/research-archive-intake.md). + +This is a research draft. Corrections to the mathematics, implementation, +source attribution, and stated scope are welcome through issues or pull requests. + +For a mathematical issue, identify the exact proposition, source label, or +inequality; give a counterexample or the missing implication when possible; +and distinguish numerical validation from an algorithmic proof obligation. +For the current result, start with the +[current status](docs/research/current-status.md), +[selected record](certificates/selected-result.json), and the maintainer review +at that record's `review` path. +The selected record and review identify the actual supplier sources, +reproduction command, evidence and remaining assumptions. Earlier construction +notes are historical checkpoints, even when their text calls a result current. +The [original audit](docs/audit.md) describes the retained upstream assumptions. + +For a parameter improvement, supply exact rational choices, the full dependency +argument, and an updated patch against the pinned source. Explain whether the +change stays within the parameter ceiling or changes one of its hypotheses. + +Before extending a recursive cost edit, compare its complete paid and target +histograms with the [signed invoice preflight](docs/research/recursive-invoice-preflight.md). +It can certify uniform concave-moment gains or losses without a root search. +Its accounting contract is declared; source correctness and supplier admission +still require their own evidence. + +Keep `upstream/`, frozen source archives and pinned evidence unchanged. When +changing generated artifacts, edit their generators and include the regenerated +certificates and patches in the same change. Run the checks affected by your +changes; do not launch every historical replay for an unrelated contribution. +Changes to the selected construction also need its applicable complete cold +replay: use the `reproduce` command in the selected record rather than copying a +target from a historical note. Source-bound reuse must preserve explicit coverage +and invalidation. Run artifact-regenerating suites in isolated worktrees. +The historical `make gen4-bank-verify` target checks the earlier generation, +not the selected frontier. The proof and bank scheduling supplements are supplied as Markdown; +historical PDF targets belong to their respective checkpoints. Review changes to +claims in the README and note together. Finite tests should address a mathematical +identity or a failure mode, rather than simply restating implementation details. + +**Regenerated artifacts and hashes.** When verification regenerates a compressed artifact, compare its decompressed payload (or a documented canonical representation of every proof-relevant field). Compression headers and streams can differ across Python, zlib and tar versions. Keep exact hashes for committed source archives and other immutable inputs; a regenerated container hash may be recorded with environment details but should not determine mathematical equality across environments. See the [community reproducibility audit](research/gzip-container-reproducibility/README.md) by Maxime Fleury, following Antoine Olivier’s independent replay findings. + +New contributions are under the repository's Apache-2.0 license. Retain source +attribution and disclose substantial AI assistance. Do not describe certificate +success as a formal verification of the full multiplication theorem. + +Before building on pending work, consult the [contribution-review index](docs/research/contribution-review.md), pin its sources, and preserve contributor attribution. + +Parallel approaches, small improvements, independent reproductions, review and +well-scoped negative results are welcome. Please identify predecessor work and +explain what your submission adds, even if a concurrent result has a stronger +headline. We preserve credit for useful contributions that are superseded or not +imported; see [CONTRIBUTORS.md](CONTRIBUTORS.md). Attribution corrections are +welcome too. State which proof obligations remain open rather than presenting +finite certificate checks as a complete theorem audit. + +The historical `integration/community` workflow used `make verify` for its +imported candidate chain; it is not the current selected cold replay. See +[the integration ledger](docs/research/community-integration.md) for that history +and [the batching guide](docs/research/batched-review.md) for the changed recursive +interface. Preserve the historical checkpoint tests. +Imported CC0 proof sources retain their source-specific license and notice. diff --git a/research/p104-abcd-n18-funding-obstruction/guidance/docs/research/agent-procedure.md b/research/p104-abcd-n18-funding-obstruction/guidance/docs/research/agent-procedure.md new file mode 100644 index 0000000000..5833cb262a --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/guidance/docs/research/agent-procedure.md @@ -0,0 +1,507 @@ +# Standing agent procedure + +Return to [autoresearch.md](../../autoresearch.md) for the short entry point. + +**Use this procedure when contributing without a specific task.** Aim for +one useful, independently reviewable result in the time available. Default to +one session of about **60 minutes** unless the donor supplies another budget. +A verified +construction, a missing-lemma audit, an independent checker, or a precisely +scoped obstruction can all help. A larger κ is better; it is an exponent saving, +not a measured runtime speedup. + +Start with [the one-page bottleneck brief](bottleneck-brief.md) and +[the small glossary](research-glossary.md) if the construction is +unfamiliar. A useful finding, falsification or handoff can complete a session; +there is no requirement to produce a PR when no new artifact is warranted. + +**Coordinate on the [discussion board](https://github.com/CrocSwap/integer-mult-bounds/discussions).** +Read [Start here](https://github.com/CrocSwap/integer-mult-bounds/discussions/1163), +check [handoffs and requests for independent checks](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166), +and use [mechanism proposals](https://github.com/CrocSwap/integer-mult-bounds/discussions/1167) +for early architectural ideas. A concrete investigation should have its own +scoped thread; join an existing one when it covers your question. + +## Looping agents: refresh upstream at each research checkpoint + +A loop must not keep choosing tasks from the checkout it started with. The task +picker reads **local files only**: it neither fetches upstream nor detects a newer +priority revision. A successful overlap refresh does not update those files. + +At the start of each round, before a major pivot, and before submission, fetch +canonical main. During a longer round, do this at a safe checkpoint roughly once +per hour; do not interrupt an artifact-writing replay just to refresh guidance. +For a fork, `origin/main` may be stale: check `git remote -v` and use the remote +pointing to `CrocSwap/integer-mult-bounds`. This explicit URL works for either: + +```sh +git fetch --no-tags https://github.com/CrocSwap/integer-mult-bounds.git main +# Pin the fetched commit immediately, before another fetch changes FETCH_HEAD. +research_main=$(git rev-parse FETCH_HEAD) +git show "$research_main:AGENTS.md" +git show "$research_main:autoresearch.md" +git show "$research_main:docs/research/current-priorities.md" +git show "$research_main:docs/research/agent-task-catalog.json" +git show "$research_main:certificates/selected-result.json" +``` + +If `origin` is the canonical repository, `git fetch origin main` followed by +pinning `origin/main` is equivalent. Fetching does **not** update the working +files or the local task picker. Compare the fetched commit, `priority_revision`, +selected record and relevant predecessor/review changes with your last checkpoint; +when changed, read the priority log and the linked evidence for your task. + +- **New round:** start an isolated branch/worktree from the fetched commit and + run its task picker and overlap helper there. Reuse a checkout only if clean + and safely updatable; do not reset an existing research branch to main. +- **Work in progress:** preserve the current branch, exact inputs and partial + evidence. Decide whether to continue, narrow, hand off or retire the task. + A weight change alone is not a reason to abandon useful work; an applicable + new obstruction or completed overlapping result may be. Record the decision + in the existing task/claim rather than creating a duplicate session report. +- **Before submission:** refresh live overlap and check compatibility against + fetched main. Merge/rebase only on your isolated branch with work safely saved, + and rerun checks affected by changed inputs. Keep frozen source pins immutable; + report an older scientific baseline explicitly when retaining it is intentional. +- **Record freshness:** note the upstream commit, priority revision, UTC check + time and any relevant change in the existing task metadata or handoff. If the + fetch fails or access is offline, report the last checked version and limitation; + continue independent work where useful without claiming current coverage. + +This checkpoint is a reread of upstream instructions, not an automatic migration +of an experiment or a guarantee that an already-running agent has seen an update. +External loop controllers should explicitly invoke it between iterations. + +## 1. Orient briefly, then choose a distinct task + +Read [CONTRIBUTING.md](../../CONTRIBUTING.md), then +[the selected record](../../certificates/selected-result.json). Follow its `review`, +`source_manifest`, `certificate` and `reproduce` fields. Use +[current status](current-status.md) for context and +[the PR ledger](pr-ledger.md) for previous disposition. Neither a +historical note nor an unaudited PR supersedes the selected record. + +**Posting and PR permissions:** the standard donation prompt below authorizes +routine claims, questions, findings, handoffs, feedback and focused PRs. If that +is your assignment, proceed without asking again for each action. Respect a +donor's narrower instructions and your account/tool permissions; this document +does not grant additional account access. Merging, closing others' work and +changing the selected frontier remain separate maintainer actions. + +**Before drawing a card**, check [open handoffs in #1166](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166) +for a concrete request matching your track or expertise. Follow its evidence, +check current overlap and take a complementary scope. An advisory claim does +not prevent an explicitly independent audit. If no suitable request fits, use +the helper below. Do not reroll a task the user already assigned. + +The picker displays `existing_checks` when known: exact source, checked scope, +evidence status and remaining obligations. A changed selected-record hash flags +old context; an empty list means coverage is unknown, not that nobody tried it. + +Run this standard-library helper: + +```sh +# Python 3.10 or later; no third-party dependencies. +python3 scripts/choose_current_research_task.py +# To reproduce a selection, pass the emitted 32-hex-digit nonce: +python3 scripts/choose_current_research_task.py --seed YOUR_NONCE +# Expertise or an explicit user preference may override the allocation: +python3 scripts/choose_current_research_task.py --track complex-mechanisms +# Retrieve a specific card after assignment: +python3 scripts/choose_current_research_task.py --task connector-alphabet-change +# Optional: surface structured handoffs/claims from an existing overlap cache. +python3 scripts/choose_current_research_task.py --coordination-cache /tmp/overlap.json +``` + +It reads [the task catalogue](agent-task-catalog.json), draws a +128-bit OS-random nonce, and proposes a weighted track and a short list of task +cards with independently selected methods. It reports your checkout's commit +and selected-record hash. It does not contact GitHub, reserve work, or establish +that a task is open. A deterministic seed is a reproducibility aid, not novelty. +Each card supplies a first-step command, expected evidence, a next experiment, +its connection to the bottleneck, allowed variations and scope-change triggers. + +**Resolve the generic orientation command before running a historical card.** +If its `first_step.command` is `python3 -B scripts/research_baseline.py`, use the +current orientation command in [current priorities](current-priorities.md). +For the selected #4470 productive-helper schema, that command is: + +```sh +python3 -B scripts/research_selected_baseline.py +``` + +The older helper expects `bit_lower` and `complex_lower`, which this certificate +does not contain. This substitution applies only to the generic selected-baseline +step; retain the card's question, inspection instructions and any named scientific +replay command. A future selection must be checked against its own reviewed schema. +The [startup compatibility audit](task-startup-compatibility.md) explains why the +historical catalogue, picker and baseline bytes remain intact. The replacement +authenticates selected sources and checks metadata consistency; it is not a cold +replay or supplier admission. + +**Keep the complex-ceiling control in its historical context.** Four cards +(`complex-rank-shape-decoder`, `complex-new-helper-inventory`, +`centre-path-sharing` and `coverage-law-change`) name +`research/complex-local-word-ceiling/verify.py`. That frozen checker reads the +#1094 certificate schema and fails on selected #4470 with +`KeyError: 'complex_profile'`. Run the current selected orientation above, then +use the [authenticated historical replay](../../research/historical-complex-ceiling-replay/README.md) +for the card's original positive control: + +```sh +python3 -B scripts/research_package.py --package research/historical-complex-ceiling-replay +``` + +This executes the unchanged scientific checker and its controls against exact +#1094/#1042 inputs in a temporary tree. Its ceiling and `levers.py` budgets +belong to that historical word, coverage law and outer guard. Before screening +a changed current supplier, derive and source-bind the applicable complete cost +law; a historical pass does not make the old ceiling a cap on #4470. The card, +its pinned sources and the live selected record retain their bytes. + +In a sparse checkout, the helper can validate omitted catalogue references when +they are regular files in `HEAD` with matching skip-worktree index entries. It +reports these as `sparse_checkout.omitted_catalogue_paths`. For absent paths, +ordinary deletions and staged content replacements still fail. Materialize the +chosen card's inputs before running its commands. This reference check does not +resolve replay dependencies. + +For missing selected-baseline inputs, run +`python3 -B scripts/research_baseline_sparse.py`, inspect its materialization +command, and use its schema-aware `next` command after materializing the inputs. +Its omission report does not authenticate sources; the baseline still must pass. + +Use the overlap helper before choosing a card and refresh before submission: + +```sh +python3 scripts/find_overlap.py --task connector-alphabet-change +python3 scripts/find_overlap.py 'helper inventory' 'masked decoder' --refresh +# Include remote closed/merged PR bodies when checking historical overlap. +python3 scripts/find_overlap.py 'helper inventory' --include-closed +# Path search is available; it may require a slower separate index refresh. +python3 scripts/find_overlap.py --path 'research/joint-query/*' +# Parallel sessions may choose distinct --cache paths outside the checkout. +# Without network access: local notes plus any cached remote snapshot. +python3 scripts/find_overlap.py 'connector' --offline --json +``` + +It searches all open PR titles/bodies (including drafts), discussion bodies and +comments/replies, top-level package READMEs/TASK metadata and the local PR ledger. +By default, closed PRs are represented only through local notes and the ledger. +`--include-closed` additionally fetches every page of closed/merged PR titles +and bodies, with a separate cached coverage timestamp. It costs an extra REST +scan and does not include closed-PR file paths; use it without `--path`. +An offline run can use that corpus only after it has been cached. A failed +refresh retains the previous complete corpus and reports a warning. When no +usable corpus exists, coverage is reported as missing. Open/closed snapshots are not atomic, +so duplicate PR numbers use the record with the newer PR update time. +The helper does not search every code diff or nested source file. Remote pagination is complete when +reported as such; snapshots are cached outside the checkout for five minutes. +Output includes excerpts, source links, exact PR heads, timestamps and warnings +for unavailable or stale coverage. No matches does not establish novelty. +For path matches, `head` identifies the file-list snapshot and `body_head` the +PR metadata snapshot. `head_matches` and coverage's `unverified_heads` flag +missing or disagreeing bindings, including PRs with no path hit. Recheck those +PRs before treating the path search as current; offline legacy caches retain +unknown file heads rather than borrowing a head from PR metadata. +Canonical positive integers in task overlap terms match PR references, rather than +decimal or commit-hash fragments. Explicit positional terms retain literal matching; +leading-zero words stay literal. See [reference matching](overlap-task-reference-matching.md) +for examples and the report’s `reference_terms` field. + +Before choosing one card: + +1. Check fresh [open PRs](https://github.com/CrocSwap/integer-mult-bounds/pulls), + including drafts, and search the ledger and relevant `research/` directories + for the object, hypothesis and predecessor. PR title searches alone miss overlap. +2. Check [active discussions](https://github.com/CrocSwap/integer-mult-bounds/discussions) + and the [coordination conventions](https://github.com/CrocSwap/integer-mult-bounds/discussions/1163) + for claims, findings and handoffs. Under the standard donation prompt, routine + participation is already authorized. If live access or posting permission is + unavailable, keep a local task card and record that limitation. Do not create + a reservation issue for every agent. +3. Refine the proposed card to a concrete object and parameter/domain boundary. + Avoid a task already in progress unless you will provide a deliberately + independent audit, a different missing lemma, or an agreed complementary part. + +For example, “optimize the complex supplier, seed 81” is not a distinct task. +“Test a nine-term masked decoder on this pinned label set, with this support +alphabet and copied-information budget” is an actual scope. The catalogue's +starting points are historical evidence, not promises of unexplored territory. + +## 2. Where effort is most useful + +Read [current priorities](current-priorities.md) for the versioned +diagnosis, allocation table and stopping rules. The +[task catalogue](agent-task-catalog.json) is the machine-readable +assignment source. Keep both in sync; this standing procedure does not freeze +another copy of the priorities. + +## 3. Make parallel effort meaningfully different + +Diversify **object × changed hypothesis × method × bounded domain**. Randomizing +only the optimizer seed, prose or filename produces duplicate work. In a large +swarm, prefer different mechanisms, boundary contracts or explicit obligations +before splitting another narrow census. A separate independent audit should name +its distinct failure mode. Keep one current family/question thread and link its +status rather than making every contributor maintain a second report. + +Write a local task card before substantial computation: + +```text +Task ID / proposed scope key: +Base commit; exact predecessor and dependency heads: +Concrete object and question: +Scope status: unchanged / refined / changed; reason for refinement or change: +Existing restriction being changed (or exact claim being audited): +Method; explicit parameter ranges/candidate alphabet: +Nearest overlapping PRs and why this adds something: +Declared milestone: local module / complete supplier / integrated kappa / audit: +Optimistic full cost budget; required observable improvement: +Unresolved consumer/restoration costs; family expansion decision if continuing: +Success evidence; falsification test; time/compute cap: +Predecessor authors; intended artifact and reproduction command: +``` + +If a card asks for a changed operation alphabet and you instead increase the +source count inside the old alphabet, record a **changed** scope. Explain the +new question's relevance and label a side result as such. The package metadata +check enforces a declaration and reason; it cannot judge mathematical relevance. + +The helper's `scope_key` fingerprints a catalogue question and method. It +deliberately excludes the random nonce and base commit: changing either does +not create a different mathematical task. Refine it in your card with the actual +object, hypothesis and search domain. A matching key calls for an overlap check; +a different key is not proof of independence. + +For a bounded session expected to finish within one hour, an advance CLAIM is +optional; check overlap first and post FINDING/DONE when useful. Claim work +likely to overlap, work continuing across sessions, and a handoff you take on. +Do not manufacture retrospective claims. + +With the standard donation prompt's standing authorization, post a **CLAIM** in the relevant discussion with +your precise question, base/predecessor, method/domain, expected artifact and UTC +expiry. Use roughly two-hour claims and extend them when continuing. Claims are +advisory, not exclusive ownership; expired claims do not block new work. Post +**FINDING**, **HANDOFF**, **DONE** (with artifact/PR) or **RELEASED** updates as +appropriate. Update the original claim for routine status. Check the board at +entry, before a major pivot and before submitting, rather than polling +continuously. Independent audits are welcome when explicitly identified. + +**Keep discussions usable as the board grows.** Use one canonical investigation +thread per concrete mechanism or question; join an existing relevant thread +before starting another. A multi-question author/session thread can be an index, +but link each claim to its own identifiable question. Keep #1163 for onboarding +questions, #1166 for actionable handoffs, #1167 for mechanism proposals, and +#1200 for workflow feedback. Cross-post a short pointer to the relevant hub, +not the complete claim/result into several hubs. + +Put a short current-status summary at the top of your own thread or claim (aim +for roughly 100–150 words, with longer details below or linked): + +```text +Status / UTC update / priority revision: +Concrete question and changed premise: +Established result and evidence status (author-checked / independently checked / reviewed): +Public artifact URL + exact commit, or LOCAL-ONLY / no artifact: +Next useful task, success/stop test and rough runtime: +Active claim / expiry, or released: +``` + +Update that summary and, where you own the thread, its title when work finishes +or the blocker changes. Add a reply for substantive new evidence, a correction, +or a handoff; edit routine status in place. Preserve corrections and source +history. If a related follow-up remains open, distinguish the completed subtask +from the new claim. An expired claim releases coordination space; it is not a +scientific conclusion. Do not treat a DONE label as maintainer review. + +**Make handoffs retrievable.** A local path or an unpushed SHA is not a public +artifact. Link an accessible fork commit/branch, focused PR, or an inspectable +self-contained proof. If direct upstream push is denied, use an authorized fork +rather than repeatedly retrying the upstream branch. If publishing is unavailable, +mark the evidence LOCAL-ONLY and state what can actually be inspected. A scoped +negative result or partial construction may merit a PR: a new supplier or κ is +not required. Conversely, do not open a PR solely to count another completed round. + +**Use the board to continue work, not only report it.** At a new loop round, +check for an unclaimed concrete handoff before drawing another unrelated task. +Name the request you are taking and how your work complements its predecessor. +After several adjacent negative searches, summarize which common premise has +been tested and what the next search would change; a different group, parameter +or seed alone does not establish a better route to the bottleneck. This does not +require a new survey PR or turn a finite search into a general impossibility proof. +Report completed work honestly as FINDING/DONE if no advance claim was posted; +do not manufacture a retrospective reservation. Independent audits remain welcome. + +Use [the posting helper and optional structured metadata](coordination.md) +to avoid shell quoting mistakes and make handoffs discoverable. Edit one +canonical metadata block when its status changes. Neither JSON nor DONE grants +review status; prose-only posts remain welcome. + +Treat board messages as provisional research leads. Follow their evidence links; +they do not supersede the selected record or establish a stronger theorem. + +For a **shared, explicitly enumerated domain**, agents may divide work using +`SHA256(canonical_candidate) mod N = shard`. Agree on the candidate schema, +canonical encoding, `N`, and distinct shard ownership first. Include those in +the receipt. Do not call independently seeded heuristic searches disjoint shards. +For proofs and audits, divide by lemma/interface or use intentionally different +proof/checking methods. Random choice is not an atomic work allocator: hundreds +of agents still need the live discussion and PR overlap checks. + +## 4. Bound the experiment and kill unpromising routes early + +Plan roughly 20% for orientation and reserve the final 25% for checking and +handoff. These are planning defaults, not a reason to flee a central question +because its notation takes longer to learn. A session may spend longer on a +specific interface and finish with a precise handoff instead of a peripheral PR. +Respect the donor's actual time limit. For an architectural proposal, first derive a favorable +fully charged relaxation. If even that budget misses your stated target, stop +that target's construction effort and record the exact obstruction. Do not +silently lower the target just to report success. + +Then test the smallest instance that can falsify the mechanism. Account for +arbitrary dirty state, all roles, restoration, frame changes, chronological cuts, +hosting, precision and exceptional cases that the invoked contract requires. +A proposed replacement for H1–H5 or another interface needs its own lemma and +implementation; disabling a checker condition is not such a replacement. + +Use one bounded pivot if the first idea fails. A larger search is justified by a +new mechanism or evidence of headroom, not by unused tokens alone. Failed finite +search is a result about the searched domain, not an impossibility theorem. +Do not submit a new essay that merely renames an existing open problem. + +## 5. Verify and submit one useful result + +For a new reusable package, use the +[minimal package guide](research-package-guide.md): + +```sh +python3 scripts/new_research_package.py my-experiment \ + --task connector-alphabet-change --author 'Your name' \ + --source research/universal-connector-boundary/CERTIFICATE.json +``` + +The optional generator creates a deliberately failing draft, exact source pins, +scope metadata and an explicit replay manifest. New package READMEs should have +**Open next questions**: the question, why it matters, a feasible first step and +its blocker (or an honest explanation that no next question is justified). +Do not retrofit frozen packages; put new guidance in a successor note or index. +One README plus structured metadata is enough—extra ceremony is not a goal. + +Work on an isolated branch/worktree. Preserve upstream inputs and frozen source +pins. Use exact arithmetic or certified bounds for acceptance; finite-field and +floating-point searches can propose candidates but cannot certify a rational +rank identity or universal theorem on their own. + +For scalar linear programs with independent noncommuting unary operators, the +[universal dirty-circuit guide](universal-dirty-circuit-guide.md) offers compact +exact certificates for complete dirty endpoints and termwise tensor substitution. +Its grammar and independent-symbol hypotheses must match the actual caller; +native, inverse/group, nonlinear and physical cost obligations remain separate. + +Run checks relevant to your change, with a positive fixture and meaningful +failure controls when adding a verifier. State which obligations were **not** +checked. Supplier adoption needs the applicable complete cold replay and source +bindings; a local experiment may be submitted as a clearly scoped partial result. +Do not run every historical replay just to change documentation. Do not run +artifact-regenerating suites concurrently in the same worktree. Cache immutable, +source-bound evidence only when coverage and invalidation remain explicit. + +A new complex κ claim within this model should report its paid local profile's packing cap +(`research/complex-local-word-ceiling/ceiling.py`) and the fraction of it realized. +For claims outside the model, state which hypothesis changes and give an appropriate replacement bound. +Matching rank profiles alone does not establish identical circuits or a purely packing-based implementation change. + +Before submission, refresh the overlap check. Keep one focused PR with the task +card, precise delta, exact heads, commands, evidence, limitations and credit. +An independently corroborated or superseded contribution still deserves credit; +explain its added value rather than pretending the predecessor does not exist. +Declare substantial AI assistance and retain the repository/source licenses. + +Do not promote your candidate into the selected record or close others' PRs +without maintainer authorization. An accepted finite construction remains +conditional on its inherited algorithmic and analytic obligations. Lean proofs +should name exactly the statements formalized. + +**Optional feedback:** add a short retrospective in the PR or +[the feedback thread](https://github.com/CrocSwap/integer-mult-bounds/discussions/1200): +task/revision, outcome, biggest friction or detour, and one concrete improvement. +Link an existing report instead of repeating it. Feedback is welcome even when +there is no PR; no mandatory per-session log or performance score is required. + +## 6. Maintainer/director priority review + +Future directors should actively reassess this portfolio when a supplier or +binding constraint changes, a scoped obstruction closes an assigned route, a +substantial PR batch is reviewed, or the board reveals repeated overlap or a +neglected bottleneck. During a large active influx, roughly daily assessment is +reasonable. This is a review procedure, not an automatic scheduled job. + +**Use verified evidence to change allocations.** Read the selected record and +its review, the latest PR dispositions, the +[workflow feedback thread](https://github.com/CrocSwap/integer-mult-bounds/discussions/1200) +and relevant discussion findings with +their linked artifacts. Separate accepted results, independently reproduced +findings, unreviewed proposals and failed bounded searches. Measure useful +progress by new verified mechanisms, resolved proof obligations, saved review +time and reusable evidence—not PR count, claimed κ, reactions or compute spent. +Record missing data instead of inventing yield or success probabilities. +Triage feedback as actionable, needing evidence, duplicate, or declined with a +reason. Link the reports behind a decision in the priority log. Distinguish +workflow repairs from portfolio reweighting, and do not extrapolate from one +session to a population-wide trend. Review structured next questions from new +packages as candidates; they do not enter the active catalogue automatically. + +Use the [family expansion gate](research-family-status.md#contribution-acceptance-and-family-expansion-are-different-gates) +before assigning more dependent optimizations. Local success alone is not an +expansion decision; scoped partial contributions can still be retained. + +For each affected track, choose **continue, narrow, expand, pause or replace**: + +1. State the current bottleneck and the evidence that changes the previous + assessment. Check both primitive budgets and the actual outer contract. +2. Name what the next bounded experiment would decide. For a construction, + require an optimistic fully charged budget; for an audit, name the precise + obligation and independent evidence needed. +3. Specify a stop rule and what evidence would reopen a paused route. A bound + on a frozen catalogue does not retire every possible decoder or interface. +4. Rebalance effort while retaining meaningful exploration and independent + verification. Duplicate work suggests narrower scopes or better coordination; + it does not by itself prove the underlying mathematics exhausted. + +Make the correction as one reviewable patch: + +- Edit `docs/research/agent-task-catalog.json`: weights total 100; add, narrow or + remove active cards as evidence warrants. Preserve task IDs for unchanged + questions. Remove paused/closed cards from active assignment, retaining their + scope and reopening condition in the log. The helper needs no code change. +- Increment `priority_revision`, update `assessed_on`, and append a dated entry + to [the priority log](research-priority-log.md). Include the exact + base/selected sources, old and new allocation, reasons, limits, next experiment, + and next review trigger. The initial allocation is a hypothesis, not a mandate. +- Update `docs/research/current-priorities.md`'s diagnosis and allocation table in the same patch. + Refresh affected cards' `existing_checks`, including source pins, remaining scope + and selected-record context. Never mark an entire topic closed from a partial check. Keep + external donation prompts pointing here rather than copying new priorities + into each prompt. Do not repin frozen scientific inputs to change strategy. +- Run the bounded onboarding checks: `python3 -B tests/test_research_assignment.py` + and `python3 -B tests/test_research_coordination.py`. Run changed-tool tests too; + do not launch every historical research test for a guidance edit. + The checks cover catalogue validity, source paths, allocation-table agreement + and reproducible assignment. Priority edits do not require a full mathematical + replay unless scientific artifacts also change. + +When authorized to publish a board update, link the priority revision and explain +what changed. Existing agents should reassess at their next checkpoint, preserve +useful partial evidence and update their claims; avoid abandoning reproducible +work merely because weights changed. Claim assignment remains advisory, and a +director role alone does not grant permission to merge, close PRs or announce a +new mathematical result. + +## Short prompt for donating a session + +Use the [canonical short prompt](../../autoresearch.md#short-prompt-for-donating-a-session). +Keep external prompts pointing to the entry point rather than copying allocations. + +Prepared by Douglas Colkitt with OpenAI Codex assistance. Apache-2.0. diff --git a/research/p104-abcd-n18-funding-obstruction/guidance/pull_request_template.md b/research/p104-abcd-n18-funding-obstruction/guidance/pull_request_template.md new file mode 100644 index 0000000000..ae656e706b --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/guidance/pull_request_template.md @@ -0,0 +1,36 @@ +## Change and mathematical scope + +State the result, changed hypotheses and status: construction, proof, bounded +search, audit or tooling. Distinguish a scalar saving from a paid-profile or κ +improvement. List remaining obligations. + +## Task and overlap + +Give the base commit, exact dependency heads, concrete object and bounded domain. +For donated-agent work, include the task ID/scope key or link the task card from +autoresearch.md. Link the nearest overlapping PRs and explain the added value; +different random seeds alone are not separate contributions. + +Declare whether scope is unchanged, refined or changed. If the card's premise +changed, explain why and how the actual result connects to the bottleneck. + +## Validation + +Give reproduction commands, environment, exact evidence and meaningful failure +controls. Distinguish finite tests from proof arguments and list checks not run. +For a proposed bound, include the full paid budget and source bindings. + +## Credit + +Credit predecessor and parallel work, retain source licenses, and disclose +substantial AI assistance. Useful independent or superseded work still merits credit. + +## Open next questions + +For a research package, link its next questions and give the smallest useful +follow-up, why it matters and any blocker. “None justified” is acceptable. + +## Workflow feedback (optional) + +What helped, what caused friction or an unintended detour, and one suggested +improvement? A link to the feedback discussion or an existing report is enough. diff --git a/research/p104-abcd-n18-funding-obstruction/guidance/research-package-guide-historical.md b/research/p104-abcd-n18-funding-obstruction/guidance/research-package-guide-historical.md new file mode 100644 index 0000000000..b2856d6940 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/guidance/research-package-guide-historical.md @@ -0,0 +1,370 @@ +# Minimal research packages and explicit replay + +Use a package for a reusable result or verifier. A discussion finding or handoff +is enough when a session has not established something worth a PR. Existing +packages need not be retrofitted, and frozen source archives must not be edited +to satisfy a new documentation convention. + +## Create a draft + +From a checkout with committed source inputs: + +```sh +python3 scripts/new_research_package.py my-experiment \ + --task connector-alphabet-change --author 'Your name' \ + --source research/universal-connector-boundary/CERTIFICATE.json +``` + +The generator creates five files and refuses to overwrite an existing directory: + +- `README.md`: scope, result/evidence, reproduction, **Open next questions**, credit. +- `TASK.json`: original card, actual scope, scope-change reason, bottleneck link, + time budget, outcome, evidence and structured next questions. +- `SOURCES.json`: exact base commit, Git blob IDs and SHA256 hashes. +- `VERIFY.json`: explicit replay commands, inputs, dependency pins and timeouts. +- `verify.py`: a failing draft stub, to replace with a real scoped check. + +The original card and selected record are historical **provenance** in Git, so +future priority changes do not invalidate a package. Explicit `--source` entries +are **live inputs**: their working bytes must match their pins. Full Git history +is needed for provenance checks. A source export can instead use an existing +archive-based package format; the generator is optional. + +Do not make a new copy of a predecessor package merely to acquire provenance. +Preserve any license/NOTICE obligations if you actually vendor third-party work. +Extra files such as separate `CLAIM.md`, `EXPECTED.json` or `NOTICE.md` are needed +only when they serve a real purpose or a source license requires them. + +## Pin exact sources and declare live inputs + +Every `SOURCES.json` `files` row records `path`, `usage`, `git_blob` and `sha256`. +`usage: "input"` marks a live input and `usage: "provenance"` binds through the +Git blob at the recorded commit. **Every `usage: "input"` row must also appear in +`VERIFY.json` `inputs`**, because declared inputs drive CI invalidation; the +metadata check (including `--check-only`) rejects an undeclared live pin and +names the path. `inputs` may list more than the live pins (a provenance-only +path can still be declared), never fewer. + +A row without an explicit `pin` resolves as `base_commit:`. A file vendored +from a pull-request head can instead carry `"pin": "head:<40-hex sha>:"`, +whose bytes resolve at that commit rather than at the package base. Any other +pin form fails closed. Both forms preserve the exact path, including any LF or +CRLF characters in a Git filename; encode them as JSON escapes in the manifest. +The originating task catalogue +`docs/research/agent-task-catalog.json` must stay pinned at `base_commit`, so a +later catalogue revision cannot replace the card a package answers. Pins resolve +only against Git objects reachable in this repository (the base commit or an +explicit head sha); there is no `external` pin for bytes that are not a Git +object here. For such an input, record its source and a byte-equality check in +the verifier and explain the gap in the README. + +Shared Git source readers ignore local replacement refs, including a custom +`GIT_REPLACE_REF_BASE` namespace. Otherwise Git can report the original blob ID +while returning a replacement's bytes, allowing locally generated pins to fail +in a clean checkout. The generator, metadata validator, HEAD input inventory, +committed-byte preflight and package exporter use the stored objects. Replacement +refs are left intact; the policy applies only to these Git subprocesses and does +not change the caller's environment or verifier subprocesses. This authenticates +source bytes, not publication ancestry or mathematical claims; the optional +source-history preflight below remains separate. + +Regression controls use temporary Git repositories with blob and commit +replacements, the legacy batch fallback, newline paths, a custom replacement +namespace, forged live pins and an exported payload: + +```sh +python3 -W error -B -m unittest discover -s tests -p 'test_research_git_replacements.py' -v +``` + +This extends the immutable-object policy of Nick Petalas's +[source-history preflight (PR3304)](https://github.com/CrocSwap/integer-mult-bounds/pull/3304) +to the shared source readers. The runner and scaffold retain Douglas Colkitt's +attribution, and the exporter retains Tekalign's. Added regression coverage and +reader policy prepared for roger-sato with substantial OpenAI Codex assistance; +Apache-2.0. + +`original_card` in `TASK.json` must equal the full pinned catalogue card object. +Hand authors can print the exact object instead of copying it by hand: + +```sh +python3 scripts/research_package.py --package research/my-experiment --print-card +``` + +Paste the printed object verbatim as `original_card`; the checker reports every +key by which a copied card differs from its pin. + +## Declare the actual scope + +`scope_status` is `unchanged`, `refined` or `changed`. The latter two require a +reason. The original card is checked against its pinned catalogue. Keeping an +alphabet and increasing source count is a changed investigation when the card +asked for a new operation alphabet. It may be useful, but say what it contributes. + +The metadata checker catches missing declarations and mismatches. It cannot +decide whether a mathematical argument genuinely meets an acceptance gate. +Reviewers must compare the actual work to the original premise. + +For each open next question, give `question`, `why_it_matters`, `first_step` and +`blocked_by`. “f(7) is open” is not enough. If no next step is justified, an empty +list with `no_open_questions_reason` is valid. The overlap helper searches the +README; link the structured questions there so people can find them. + +## Register a bounded verification command + +Replace TODOs, implement the verifier and its meaningful controls, then set +`VERIFY.json` status to `ready`. Its commands are argument arrays, not shell +strings. `{python}` selects the active interpreter and `{package}` the package +directory. They run from the repository root. + +The launcher removes inherited `PYTHONOPTIMIZE` from each command's environment. +Otherwise a caller's shell setting can silently disable a verifier's assertions, +including assertions in its Python subprocesses. Other environment settings and +explicit command options remain intact. A manifest can still request `-O` or +`-OO` for a deliberate control; its author must account for disabled assertions. + +Each registered verification command also receives a fresh private Python +bytecode-cache namespace, removed after success, failure or timeout. This keeps +preexisting `.pyc` files from replacing source-authenticated modules: `-B` +disables cache writes but still permits cache reads. The runner replaces any +interpreter-level `-X pycache_prefix` with its own namespace; other interpreter +options and script arguments are preserved. This policy covers imports in that +registered interpreter, not separately launched child Python processes or direct +verifier calls. See the [source-binding reproduction and limits](bytecode-replay-isolation.md). + +```sh +python3 scripts/research_package.py --package research/my-experiment --check-only +python3.12 scripts/research_package.py --package research/my-experiment +``` + +The generic environment is Python 3.12. Standard-library packages need no +dependencies; exact numpy/sympy/scipy pins can be declared in `requirements`. +`--install-deps` explicitly permits installing those pins, preferably in a fresh +venv. Other dependencies, native/Lean builds and long replays need a dedicated +workflow or the package's existing reproducible environment. + +Declare every external proof-relevant input in `inputs`; package-local changes +already trigger replay. Use canonical repository-relative POSIX paths, such as +`research/example/input.json`, with forward slashes and no leading `./`, repeated +slashes or dot components. Each input must use its exact UTF-8 spelling in the +current `HEAD` tree. Validation and planning read that tree with NUL-delimited +Git output; neither filesystem case folding nor Unicode normalization defines +input identity. Untracked and staged-only inputs must be committed before they +can be validated. The index cannot override the spelling in `HEAD`. + +Planning also permits exact paths reported by its Git diff, so deleted inputs +and both sides of case-only renames still select their consumers. Validation +continues to require a present file: remove or update obsolete declarations +before replaying the selected package. A stale missing declaration outside the +current diff fails planning rather than silently becoming irrelevant. Git +failures publish no matrix. These shared boundaries require a Git checkout with +a valid `HEAD`; direct standalone verifiers keep their own source-export +contracts. The generic hook does not infer transitive imports. + +Existing components below the repository root must also be free of symbolic +links and Windows directory junctions. The planner and metadata validator reject +these aliases because Git reports changes under the target's path. Declare that +target path instead. Missing inputs still participate in replay selection, so +deleting an input or its parent directory cannot suppress its consumer's replay. +The checkout must remain stable during planning, validation and execution; these +checks do not provide an atomic filesystem snapshot. The generic hook does not +infer transitive imports. The [native Windows junction regression](replay-input-junctions.md) +records the skipped-replay failure and the boundary of the component check; +a junction at the repository root itself remains supported. + +Each command has a maximum 600-second timeout and the package total is at most +1200 seconds. On POSIX, the launcher terminates the command's local process +group on every exit, including success, failure, timeout and interruption, so +background solver processes in that group cannot continue into another replay. +Verification commands must wait for all proof-relevant children and propagate +their failures before returning; cleanup is not evidence that unfinished checks +passed. Descendants that deliberately detach into another group/session are +outside this cleanup contract. On Windows, tree cleanup uses `taskkill` while +the leader is still running; cleanup after leader exit needs a separate native +lifetime mechanism and is not provided here. A timeout still fails. These +bounds limit a verification job, not the mathematical search budget. + +The [registered-package workflow](../../.github/workflows/research-packages.yml) +selects **only opt-in packages**, using their directories, declared inputs, and shared replay controls. +Its planning job runs for pull requests and pushes to `main` without path filters, +because declared inputs can live anywhere in the repository. Unrelated changes +produce no replay jobs. Git renames count as removal of the old path and addition +of the new path, so packages that depend on either path receive a replay. +Changes to the package runner or this workflow select every registered package. +Each gets a fresh runner and explicit commands. It does not run every historical +`verify.py`. New hooks do not replace existing cold-replay obligations, and a +passing metadata check is not acceptance of a mathematical result. + +## Export committed bytes + +Use the [committed package exporter](package-export.md) to snapshot one package +and its declared inputs with deterministic archive metadata and an offline +integrity check. Export is separate from mathematical verification and does +not infer transitive dependencies. + +## Explain replay selection + +```sh +python3 scripts/research_package.py --changed-since origin/main \ + --explain-plan /tmp/replay-reasons.json +``` + +The normal stdout matrix and `--github-output` fields stay unchanged. The +optional JSON sidecar names every selected package and all three independent +causes: changed files inside its directory, changed declared inputs, and changed +shared replay controls. It includes the resolved base/head, exact changed and +unmatched paths, and SHA256 of each selected working `VERIFY.json`. A removed +or renamed input is reported under its old spelling when that triggers a replay. +The all-zero base mode is labelled `all-tracked` with a null base. + +Selection and explanation use one pass. A validation or sidecar-write failure +publishes no new stdout/GitHub matrix; a previous complete sidecar is left alone +on validation failure. Use the command exit status and base/head to distinguish +an old report. The sidecar is atomically replaced after complete serialization. +It explains selection from working manifests or authenticated unchanged sparse +HEAD manifests; it is not a claim that working manifests equal HEAD or that dependencies +were inferred transitively. Keep the checkout stable during planning. No verifier +runs and no mathematical acceptance follows from selection. + +Regression command: + +```sh +python3 -B -m unittest discover -s tests -p 'test_research_plan_explanations.py' -v +``` +Tekalign, with substantial OpenAI Codex assistance; the existing selector and +its invalidation rules retain Douglas Colkitt and Charles Bethin's attribution. + +## Check publication bytes + +After committing a package and before publishing it, optionally compare its +working files and declared inputs with the exact commit: + +```sh +python3 scripts/check_research_commit.py --package research/my-experiment +# For a different publication commit: +python3 scripts/check_research_commit.py --package research/my-experiment --ref COMMIT +``` + +Git attributes or clean filters can make a valid local source-hash receipt +describe different bytes from those committed, even when `git diff` is empty. +This read-only check compares raw bytes and reports missing, extra or changed +files. It includes tracked and nonignored untracked package files plus the +explicit `VERIFY.json` inputs, and rejects committed links/submodules. +Ignored runtime files and undeclared external dependencies are outside scope. + +If a mismatch is intentional, use an explicitly documented source adapter; +otherwise correct the working bytes or publication commit and rerun the +affected verifier before regenerating its receipt. The preflight never changes +files or normalizes scientific evidence. Passing it does not run the verifier, +validate the mathematics, or establish equivalence to a hosted CI environment. + +### Check declared source history before publication + +A correct source pin can work locally because another research branch left its +commit in the shared object store. A clean hosted checkout may not contain that +unmerged commit. To reject that dependency before pushing, opt in to the +publication preflight's history check: + +```sh +python3 -B scripts/check_research_commit.py --package research/my-experiment \ + --check-source-history +``` + +After the existing byte comparison, this reads `SOURCES.json` from the exact +publication commit. It requires the base commit and every supported explicit +`head:` source-pin commit to be ancestors of that publication. Separate local +branches and cached objects do not satisfy the check. Git replacement objects +and legacy grafts cannot supply the ancestry. A shallow repository fails with +a request for full history. The successful result lists the checked commit IDs +in `source_history_commits`; the default byte-only command is unchanged. + +If a pending predecessor fails, retain its exact bytes, hashes and credit in +your own published history or a self-contained committed export, then bind the +package to that retained source. Do not weaken hash or mathematical assertions. +The repaired PR3234 and PR3227 provenance chains motivated this opt-in check. +An intentional external dependency can remain external, but this stricter +publication check will not pass it. Document and test its explicit fetch step +instead of treating the local object cache as evidence of cold availability. + +This is a conservative check of **declared Git-history availability**, not full +metadata validation or a cold replay. Run the registered metadata and verifier +commands separately. It does not discover pins embedded in scripts or archives, +transitive imports, submodules, LFS payloads, dependencies or network services. +No source bytes, pins, Git refs or frozen evidence are changed. The new path +limits source metadata to 16 MiB, 100,000 rows and 256 distinct commits, with a +30-second timeout on each Git query. The checkout must remain stable. + +Regression commands: + +```sh +python3 -W error -B -m unittest discover -s tests -p 'test_research_source_history.py' -v +python3 -W error -B -m unittest discover -s tests -p 'test_research_commit_bytes.py' -v +``` + +The tests build synthetic Git histories and a bare object-only fixture, without +cloning the project or fetching remote objects. A valid side-commit pin passes +byte-only comparison but fails ancestry; exporting only the publication's +reachable objects confirms that the foreign commit is missing. Ancestor pins +pass the same cold object test. Replacement/graft, shallow-history, malformed +metadata, resource-limit, Git-failure and actual CLI controls remain active +under optimized Python. This is not a theorem or supplier-admission check. + +Open next questions are explicit dependency declarations for script-embedded +Git references and separately fetched sources. Start with one actual replay's +source manifest and fetch command. Automatic import inference is not supplied +by this check and would need its own contract and failure controls. + +The planner groups at most 256 package paths into each reusable-workflow batch, +so a shared-runner change can select more than GitHub's single-matrix limit. +Batches run one at a time and each batch runs at most four isolated package jobs; +the per-package fresh checkout, environment and 30-minute job bound are retained. +Changing either workflow selects all registered packages. Selection is never +truncated: more than 256 batches fails explicitly. The ordinary planner CLI keeps +its flat matrix format unless `--matrix-batch-size 256` is requested. +This is a matrix-count bound, not a promise that the largest grouping fits every +GitHub execution limit; the 1 MB job-output limit (estimated in UTF-16) and other +platform limits still apply. The submission measured 450 selected packages; later repository inventories may be larger. + +## Optional workflow feedback + +If something helped or obstructed the session, add a few sentences to your PR +or the [feedback discussion](https://github.com/CrocSwap/integer-mult-bounds/discussions/1200). +Link an existing retrospective instead of duplicating it. Include the task or +priority revision, outcome, largest friction/detour and one suggested change. +Directors record resulting decisions in the priority log, not a log entry for +every agent session. + +## Planning in a sparse checkout + +Replay selection inventories both committed `research/*/VERIFY.json` paths and +working manifests. Omitting a package directory from a sparse checkout must not +omit its declared input dependencies from the matrix. Absent manifests are read +from Git only when one stage-zero, regular, `skip-worktree` index entry has the +same mode and blob as HEAD. The planner reports the number of such declarations +on stderr; stdout and GitHub matrix formats stay unchanged. + +An ordinary missing file, staged content/mode change, unmerged index entry, +symlink manifest or unreadable inventory still fails. Commit an intentional opt-in +removal before planning that deletion. Existing working edits and new local +manifests are read as before, and all declared input spelling checks still run. +A fully omitted `research/` directory is supported when its manifests satisfy +the same Git/index checks. The checkout must remain stable during planning. + +This discovers declarations; it does **not** make sparse packages executable. +Materialize a selected package and its required inputs before actual validation +or replay. Partial clones may need Git's normal fetches for missing manifest +blobs. The fix needs only those declarations, not the full source packages. +Immutable inputs and upstream archives are unchanged. + +At base `997e6a9ca7b4f95d50e366f61412fd640d72a88a`, HEAD contains 1,244 registered +manifests, while the contributor's sparse checkout initially materialized 18. +The earlier filesystem-only scan returned an 18-package global-trigger matrix. +The real sparse/full fixture and rejection controls can be reproduced with: + +```sh +python3 -B -m unittest discover -s tests -p 'test_research_sparse_planning.py' -v +``` + +Tekalign, with substantial OpenAI Codex assistance. Apache-2.0. The exact +HEAD/index fallback premise follows Arham-Tahir64's PR3102 sparse-reference work; +this applies it to replay declarations. The original planner, canonical Git +spelling, symlink and inventory-error controls retain their predecessor credit. diff --git a/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-RECEIPT.json b/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-RECEIPT.json new file mode 100644 index 0000000000..12a4a9117d --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-RECEIPT.json @@ -0,0 +1,19 @@ +{ + "schema": "serial-research-run/v1", + "command": [ + "python3", + "-B", + "outputs/continuous-kappa-process-20261026/funding-plane-qualification/run_pair.py" + ], + "cwd": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453", + "exit_code": 0, + "termination": null, + "elapsed_seconds": 0.7055592560063815, + "sampled_peak_descendant_rss_bytes": 50593792, + "rss_samples": 7, + "memory_limit_mib": 512, + "timeout_seconds": 150.0, + "python": "3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0]", + "log_sha256": "720410f74180ad06cb583d86903e467b28d576dad4cfd71af59cac07806c0e38", + "scope": "Fresh command execution only; scientific claim determined by reviewed output." +} diff --git a/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-STDOUT.log b/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-STDOUT.log new file mode 100644 index 0000000000..ddc44df7bd --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/original-evidence/GUARD-STDOUT.log @@ -0,0 +1 @@ +{"complete_output_equal":true,"modes":2,"request_sha256":"affa58572a019b90640961b57c2f93934ca3dc623192565f44892b635e62c5ce","result_sha256":"b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036","schema":"exact-pair-equality/v2","scientific_fields_excluded":0,"scope":"Finite necessary funding obstruction for all nonnegative real invariant ABCD profiles at original n18 and two fixed points, retained cutoff17/floor18/tau1/5/.97 only. No physical contacts or new kappa."} diff --git a/research/p104-abcd-n18-funding-obstruction/original-evidence/PAIR-RECEIPT.json b/research/p104-abcd-n18-funding-obstruction/original-evidence/PAIR-RECEIPT.json new file mode 100644 index 0000000000..2f0fdf3bd6 --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/original-evidence/PAIR-RECEIPT.json @@ -0,0 +1,9 @@ +{ + "complete_output_equal": true, + "modes": 2, + "request_sha256": "affa58572a019b90640961b57c2f93934ca3dc623192565f44892b635e62c5ce", + "result_sha256": "b6c70c4779a0e1648a965a15143af337fb78be0a82893e66eb9012e457cee036", + "schema": "exact-pair-equality/v2", + "scientific_fields_excluded": 0, + "scope": "Finite necessary funding obstruction for all nonnegative real invariant ABCD profiles at original n18 and two fixed points, retained cutoff17/floor18/tau1/5/.97 only. No physical contacts or new kappa." +} diff --git a/research/p104-abcd-n18-funding-obstruction/original-evidence/RESULT-normal.json b/research/p104-abcd-n18-funding-obstruction/original-evidence/RESULT-normal.json new file mode 100644 index 0000000000..47a64757cc --- /dev/null +++ b/research/p104-abcd-n18-funding-obstruction/original-evidence/RESULT-normal.json @@ -0,0 +1 @@ +{"all_n_funding_claim":false,"analytic_premises":"Rational log/alternating exponential enclosures, fifth-root monotonicity, affine coefficient identities and Farkas multiplication by nonnegative profiles; headroom transport uses exp(-Delta log r)>=1-Delta L and target monotonicity. Not a proof-kernel theorem.","compiler_universal_claim":false,"credit":"Ali Romman PR5580/A; thu-nmrc PR5551 B/C; source controller/compiler/precision/native predecessors; Astra ABCD dual paper; Clear1nsight qualification; OpenAI Codex assistance.","fifth_root_extension":{"brackets":{"1":["1","1000000000001/1000000000000"],"145":["676415590741/250000000000","541132472593/200000000000"],"16":["27204705103/15625000000","1741101126593/1000000000000"],"17":["220292543479/125000000000","1762340347833/1000000000000"],"2":["1148698354997/1000000000000","574349177499/500000000000"],"24":["1888175022589/1000000000000","188817502259/100000000000"],"25":["380730787743/200000000000","475913484679/250000000000"],"3":["249146187923/200000000000","38929091863/31250000000"],"32":["2","2000000000001/1000000000000"],"33":["402469323417/200000000000","1006173308543/500000000000"],"4":["329876977693/250000000000","1319507910773/1000000000000"],"40":["1045639552591/500000000000","2091279105183/1000000000000"],"41":["84065299131/40000000000","525408119569/250000000000"],"48":["433788708479/200000000000","542235885599/250000000000"],"49":["1088953212241/500000000000","2177906424483/1000000000000"],"5":["1379729661461/1000000000000","689864830731/500000000000"],"56":["6990168217/3125000000","2236853829441/1000000000000"],"57":["561196533591/250000000000","448957226873/200000000000"],"6":["286193816221/200000000000","715484540553/500000000000"],"64":["1148698354997/500000000000","459479341999/200000000000"],"65":["1152265809901/500000000000","2304531619803/1000000000000"],"7":["737886580797/500000000000","295154632319/200000000000"],"72":["2352158045049/1000000000000","47043160901/20000000000"],"73":["921349929/390625000","2358655818241/1000000000000"],"8":["151571656651/100000000000","1515716566511/1000000000000"],"9":["310369114783/200000000000","387961393479/250000000000"]},"maximum_rank":145,"method":"integer bisection at denominator 10^12; each lo^5<=r<=hi^5 checked","negative_C_calls":0},"mutation_controls":{"bad_fifth_root":{"outcome":"rejected","strength":"real power-bound certificate mutation"},"bad_log_bound":{"outcome":"rejected","strength":"real power-bound certificate mutation"},"current_cutoff":{"outcome":"rejected","strength":"real source/accounting mutation"},"current_floor":{"outcome":"rejected","strength":"real source/accounting mutation"},"discard_rank6_slack_0":{"outcome":"rejected","strength":"real dual certificate coefficient mutation"},"discard_rank6_slack_1":{"outcome":"rejected","strength":"real dual certificate coefficient mutation"},"negative_lambda_0":{"outcome":"rejected","strength":"dual sign/domain sanity; not a source semantic mutant"},"negative_lambda_1":{"outcome":"rejected","strength":"dual sign/domain sanity; not a source semantic mutant"},"old_transpose_comparison":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_main_target":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_nonlocal_query":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_whole_idle":{"outcome":"rejected","strength":"real source/accounting mutation"},"other_caller_n17":{"outcome":"rejected","strength":"real source/accounting mutation"},"rank6_tag_weight":{"outcome":"rejected","strength":"real invariant coefficient mutation"},"rank_mass_invariant":{"outcome":"rejected","strength":"real affine constraint mutation"},"retained_gamma_formula_callsite":{"outcome":"rejected","strength":"real current compiler callsite formula mutation; code read only"},"source_p7_cancellation":{"outcome":"rejected","strength":"real source/accounting mutation"},"source_ratio_reused_at_goal":{"outcome":"rejected","strength":"analytic point-label sanity only, not a source mutant"},"source_target_credit":{"outcome":"rejected","strength":"real source/accounting mutation"},"tail_offset":{"outcome":"rejected","strength":"real source/accounting mutation"},"unsupported_gamma_constant_0":{"outcome":"rejected","strength":"source gamma premise sanity; no author interval substitution"},"unsupported_gamma_constant_1":{"outcome":"rejected","strength":"source gamma premise sanity; no author interval substitution"},"weakened_gamma_no_false_exclusion_0":{"available_headroom":"67173503065106035969/40000000000000000","outcome":"inconclusive_as_required","strength":"analytic sensitivity sanity"},"weakened_gamma_no_false_exclusion_1":{"available_headroom":"3358675245365579561/2000000000000000","outcome":"inconclusive_as_required","strength":"analytic sensitivity sanity"},"wrong_B18_denominator_0":{"outcome":"rejected","strength":"real required raw-gain certificate mutation"},"wrong_B18_denominator_1":{"outcome":"rejected","strength":"real required raw-gain certificate mutation"},"wrong_source_C0":{"outcome":"rejected","strength":"real source/accounting mutation"}},"n17_funding_claim":false,"new_kappa":null,"physical_witness":false,"points":[{"B18_current_strict_lower":"22697771413256967946048477/7650000000000000000000000","C":"33/10000","available_tail_increment_per_FULL_strict_upper":"112047004173940549113/800000000000000000","baseline_dual_slack_upper":"2718153533266175248881702134737/312500000000000000000000000000","lambda":"799/10","mu":"25258441555634188466294803462959/312500000000000000000000000000","necessary_tail_increment_per_FULL_strict_lower":"642283653465027856175238692662367/2812500000000000000000000000000","nu":"22808444365811533705196537041/312500000000000000000000000000","power_bounds":{"1":{"exp_neg":["1","1"],"raw":["1","1"],"tail":["1","1"]},"2":{"exp_neg":["31178595452195925652577/31250000000000000000000","19954307714210729/20000000000000000"],"raw":["31178595452195925652577/15625000000000000000000","19954307714210729/10000000000000000"],"tail":["716296023025099273476757462959/312500000000000000000000000000","573037013656230327417611/250000000000000000000000"]},"3":{"exp_neg":["1992761709885417220434863/2000000000000000000000000","4981905958450361/5000000000000000"],"raw":["5978285129656251661304589/2000000000000000000000000","14945717875351083/5000000000000000"],"tail":["744733469437185296235101066823777/200000000000000000000000000000000","930917158891795372780401/250000000000000000000000"]},"4":{"exp_neg":["3888419257424413152577/3906250000000000000000","4977180014210729/5000000000000000"],"raw":["3888419257424413152577/976562500000000000000","4977180014210729/1250000000000000"],"tail":["513079996756783938193338838407/97656250000000000000000000000","82092855600209618305921/15625000000000000000000"]},"5":{"exp_neg":["15915243683949208693639/16000000000000000000000","4973515417333601/5000000000000000"],"raw":["15915243683949208693639/3200000000000000000000","4973515417333601/1000000000000000"],"tail":["1097936687843619458407179081637/160000000000000000000000000000","686210678549760158764167/100000000000000000000000"]},"6":{"exp_neg":["1988208357839457806305739/2000000000000000000000000","19882097389570121/20000000000000000"],"raw":["5964625073518373418917217/1000000000000000000000000","59646292168710363/10000000000000000"],"tail":["213379851349937979359110615166259/25000000000000000000000000000000","8535200042653359461567967/1000000000000000000000000"]}},"six_rank_dual_lower_slacks":{"1":"0","2":"0","3":"426464178874833201418744236257/200000000000000000000000000000000","4":"21924482732693442115049470127/1562500000000000000000000000000","5":"755862410236276315403323687121/20000000000000000000000000000000","6":"17137899948574431914464519379/25000000000000000000000000000000"},"strict_gap":"248368404416018113199848067662367/2812500000000000000000000000000","zero_slack_ranks":[1,2]},{"B18_current_strict_lower":"907912936923305368931369/306000000000000000000000","C":"6600001/2000000000","available_tail_increment_per_FULL_strict_upper":"5602352183950761697/40000000000000000","baseline_dual_slack_upper":"21745138123305236507664056987560677423151227401/2500000000000000000000000000000000000000000000","lambda":"799/10","mu":"606202596914811152186861935879576336699269656621/7500000000000000000000000000000000000000000000","necessary_tail_increment_per_FULL_strict_lower":"5138282261314671913902816362111953903191638953391/22500000000000000000000000000000000000000000000","nu":"547403085188847813138064120423663300730343379/7500000000000000000000000000000000000000000000","power_bounds":{"1":{"exp_neg":["1","1"],"raw":["1","1"],"tail":["1","1"]},"2":{"exp_neg":["748286290593346186778619582778022700163/750000000000000000000000000000000000000","798172308291823271693238761/800000000000000000000000000"],"raw":["748286290593346186778619582778022700163/375000000000000000000000000000000000000","798172308291823271693238761/400000000000000000000000000"],"tail":["5730368182214648571542614200098687279598552207/2500000000000000000000000000000000000000000000","22921480538305794840096444696228299/10000000000000000000000000000000000"]},"3":{"exp_neg":["47826281010976645600371706408452614025197/48000000000000000000000000000000000000000","199276238228552724276973049/200000000000000000000000000"],"raw":["47826281010976645600371706408452614025197/16000000000000000000000000000000000000000","597828714685658172830919147/200000000000000000000000000"],"tail":["5957867752224527693203145416988863473053970224321/1600000000000000000000000000000000000000000000000","37236686335217838007967168502815409/10000000000000000000000000000000000"]},"4":{"exp_neg":["93322062113495061145094915278022700163/93750000000000000000000000000000000000","199087200430443271693238761/200000000000000000000000000"],"raw":["93322062113495061145094915278022700163/23437500000000000000000000000000000000","199087200430443271693238761/50000000000000000000000000"],"tail":["4104639971208935030896213280337693400821226311/781250000000000000000000000000000000000000000","3283714221732466326374254444881089/625000000000000000000000000000000"]},"5":{"exp_neg":["127321949369131328180698585942652215847/128000000000000000000000000000000000000","198940616533258795623554209/200000000000000000000000000"],"raw":["127321949369131328180698585942652215847/25600000000000000000000000000000000000","198940616533258795623554209/40000000000000000000000000"],"tail":["8783493495680439096305183927256816063441396101/1280000000000000000000000000000000000000000000","27448427119902970211028389301068103/4000000000000000000000000000000000"]},"6":{"exp_neg":["15905666848464979737169772244409236679147/16000000000000000000000000000000000000000","795283894870362289655818889/800000000000000000000000000"],"raw":["47717000545394939211509316733227710037441/8000000000000000000000000000000000000000","2385851684611086868967456667/400000000000000000000000000"],"tail":["1707038809270082360003735309429386541569592833107/200000000000000000000000000000000000000000000000","341408001400289398079731070639142303/40000000000000000000000000000000000"]}},"six_rank_dual_lower_slacks":{"1":"0","2":"0","3":"10235038825503321335960935718037628068840198083/4800000000000000000000000000000000000000000000000","4":"526185485070215469023168404986221588294013613/37500000000000000000000000000000000000000000000","5":"18140649318380731986857452885614694564366442899/480000000000000000000000000000000000000000000000","6":"411183349851605184966970690784280307680880601/600000000000000000000000000000000000000000000000"},"strict_gap":"1986959157842368459340316362111953903191638953391/22500000000000000000000000000000000000000000000","zero_slack_ranks":[1,2]}],"power_engine_credit":"Qualified retained interval_math.py positive-C power engine reused without independent reimplementation; root-only evaluation at C0.","prior_25_control_result_sha256":"f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de","retained_compiler_guard_binding":{"applicability":"1-C+1/5 >=1, retained cutoff17=1-Delta L and target monotonicity. Not a proof-kernel theorem.","compiler_universal_claim":false,"credit":"Ali Romman PR5580/A; thu-nmrc PR5551 B/C; source controller/compiler/precision/native predecessors; Astra ABCD dual paper; Clear1nsight qualification; OpenAI Codex assistance.","fifth_root_extension":{"brackets":{"1":["1","1000000000001/1000000000000"],"145":["676415590741/250000000000","541132472593/200000000000"],"16":["27204705103/15625000000","1741101126593/1000000000000"],"17":["220292543479/125000000000","1762340347833/1000000000000"],"2":["1148698354997/1000000000000","574349177499/500000000000"],"24":["1888175022589/1000000000000","188817502259/100000000000"],"25":["380730787743/200000000000","475913484679/250000000000"],"3":["249146187923/200000000000","38929091863/31250000000"],"32":["2","2000000000001/1000000000000"],"33":["402469323417/200000000000","1006173308543/500000000000"],"4":["329876977693/250000000000","1319507910773/1000000000000"],"40":["1045639552591/500000000000","2091279105183/1000000000000"],"41":["84065299131/40000000000","525408119569/250000000000"],"48":["433788708479/200000000000","542235885599/250000000000"],"49":["1088953212241/500000000000","2177906424483/1000000000000"],"5":["1379729661461/1000000000000","689864830731/500000000000"],"56":["6990168217/3125000000","2236853829441/1000000000000"],"57":["561196533591/250000000000","448957226873/200000000000"],"6":["286193816221/200000000000","715484540553/500000000000"],"64":["1148698354997/500000000000","459479341999/200000000000"],"65":["1152265809901/500000000000","2304531619803/1000000000000"],"7":["737886580797/500000000000","295154632319/200000000000"],"72":["2352158045049/1000000000000","47043160901/20000000000"],"73":["921349929/390625000","2358655818241/1000000000000"],"8":["151571656651/100000000000","1515716566511/1000000000000"],"9":["310369114783/200000000000","387961393479/250000000000"]},"maximum_rank":145,"method":"integer bisection at denominator 10^12; each lo^5<=r<=hi^5 checked","negative_C_calls":0},"mutation_controls":{"bad_fifth_root":{"outcome":"rejected","strength":"real power-bound certificate mutation"},"bad_log_bound":{"outcome":"rejected","strength":"real power-bound certificate mutation"},"current_cutoff":{"outcome":"rejected","strength":"real source/accounting mutation"},"current_floor":{"outcome":"rejected","strength":"real source/accounting mutation"},"discard_rank6_slack_0":{"outcome":"rejected","strength":"real dual certificate coefficient mutation"},"discard_rank6_slack_1":{"outcome":"rejected","strength":"real dual certificate coefficient mutation"},"negative_lambda_0":{"outcome":"rejected","strength":"dual sign/domain sanity; not a source semantic mutant"},"negative_lambda_1":{"outcome":"rejected","strength":"dual sign/domain sanity; not a source semantic mutant"},"old_transpose_comparison":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_main_target":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_nonlocal_query":{"outcome":"rejected","strength":"real source/accounting mutation"},"omit_whole_idle":{"outcome":"rejected","strength":"real source/accounting mutation"},"other_caller_n17":{"outcome":"rejected","strength":"real source/accounting mutation"},"rank6_tag_weight":{"outcome":"rejected","strength":"real invariant coefficient mutation"},"rank_mass_invariant":{"outcome":"rejected","strength":"real affine constraint mutation"},"retained_gamma_formula_callsite":{"outcome":"rejected","strength":"real current compiler callsite formula mutation; code read only"},"source_p7_cancellation":{"outcome":"rejected","strength":"real source/accounting mutation"},"source_ratio_reused_at_goal":{"outcome":"rejected","strength":"analytic point-label sanity only, not a source mutant"},"source_target_credit":{"outcome":"rejected","strength":"real source/accounting mutation"},"tail_offset":{"outcome":"rejected","strength":"real source/accounting mutation"},"unsupported_gamma_constant_0":{"outcome":"rejected","strength":"source gamma premise sanity; no author interval substitution"},"unsupported_gamma_constant_1":{"outcome":"rejected","strength":"source gamma premise sanity; no author interval substitution"},"weakened_gamma_no_false_exclusion_0":{"available_headroom":"67173503065106035969/40000000000000000","outcome":"inconclusive_as_required","strength":"analytic sensitivity sanity"},"weakened_gamma_no_false_exclusion_1":{"available_headroom":"3358675245365579561/2000000000000000","outcome":"inconclusive_as_required","strength":"analytic sensitivity sanity"},"wrong_B18_denominator_0":{"outcome":"rejected","strength":"real required raw-gain certificate mutation"},"wrong_B18_denominator_1":{"outcome":"rejected","strength":"real required raw-gain certificate mutation"},"wrong_source_C0":{"outcome":"rejected","strength":"real source/accounting mutation"}},"n17_funding_claim":false,"new_kappa":null,"physical_witness":false,"points":[{"B18_current_strict_lower":"22697771413256967946048477/7650000000000000000000000","C":"33/10000","available_tail_increment_per_FULL_strict_upper":"112047004173940549113/800000000000000000","baseline_dual_slack_upper":"2718153533266175248881702134737/312500000000000000000000000000","lambda":"799/10","mu":"25258441555634188466294803462959/312500000000000000000000000000","necessary_tail_increment_per_FULL_strict_lower":"642283653465027856175238692662367/2812500000000000000000000000000","nu":"22808444365811533705196537041/312500000000000000000000000000","power_bounds":{"1":{"exp_neg":["1","1"],"raw":["1","1"],"tail":["1","1"]},"2":{"exp_neg":["31178595452195925652577/31250000000000000000000","19954307714210729/20000000000000000"],"raw":["31178595452195925652577/15625000000000000000000","19954307714210729/10000000000000000"],"tail":["716296023025099273476757462959/312500000000000000000000000000","573037013656230327417611/250000000000000000000000"]},"3":{"exp_neg":["1992761709885417220434863/2000000000000000000000000","4981905958450361/5000000000000000"],"raw":["5978285129656251661304589/2000000000000000000000000","14945717875351083/5000000000000000"],"tail":["744733469437185296235101066823777/200000000000000000000000000000000","930917158891795372780401/250000000000000000000000"]},"4":{"exp_neg":["3888419257424413152577/3906250000000000000000","4977180014210729/5000000000000000"],"raw":["3888419257424413152577/976562500000000000000","4977180014210729/1250000000000000"],"tail":["513079996756783938193338838407/97656250000000000000000000000","82092855600209618305921/15625000000000000000000"]},"5":{"exp_neg":["15915243683949208693639/16000000000000000000000","4973515417333601/5000000000000000"],"raw":["15915243683949208693639/3200000000000000000000","4973515417333601/1000000000000000"],"tail":["1097936687843619458407179081637/160000000000000000000000000000","686210678549760158764167/100000000000000000000000"]},"6":{"exp_neg":["1988208357839457806305739/2000000000000000000000000","19882097389570121/20000000000000000"],"raw":["5964625073518373418917217/1000000000000000000000000","59646292168710363/10000000000000000"],"tail":["213379851349937979359110615166259/25000000000000000000000000000000","8535200042653359461567967/1000000000000000000000000"]}},"six_rank_dual_lower_slacks":{"1":"0","2":"0","3":"426464178874833201418744236257/200000000000000000000000000000000","4":"21924482732693442115049470127/1562500000000000000000000000000","5":"755862410236276315403323687121/20000000000000000000000000000000","6":"17137899948574431914464519379/25000000000000000000000000000000"},"strict_gap":"248368404416018113199848067662367/2812500000000000000000000000000","zero_slack_ranks":[1,2]},{"B18_current_strict_lower":"907912936923305368931369/306000000000000000000000","C":"6600001/2000000000","available_tail_increment_per_FULL_strict_upper":"5602352183950761697/40000000000000000","baseline_dual_slack_upper":"21745138123305236507664056987560677423151227401/2500000000000000000000000000000000000000000000","lambda":"799/10","mu":"606202596914811152186861935879576336699269656621/7500000000000000000000000000000000000000000000","necessary_tail_increment_per_FULL_strict_lower":"5138282261314671913902816362111953903191638953391/22500000000000000000000000000000000000000000000","nu":"547403085188847813138064120423663300730343379/7500000000000000000000000000000000000000000000","power_bounds":{"1":{"exp_neg":["1","1"],"raw":["1","1"],"tail":["1","1"]},"2":{"exp_neg":["748286290593346186778619582778022700163/750000000000000000000000000000000000000","798172308291823271693238761/800000000000000000000000000"],"raw":["748286290593346186778619582778022700163/375000000000000000000000000000000000000","798172308291823271693238761/400000000000000000000000000"],"tail":["5730368182214648571542614200098687279598552207/2500000000000000000000000000000000000000000000","22921480538305794840096444696228299/10000000000000000000000000000000000"]},"3":{"exp_neg":["47826281010976645600371706408452614025197/48000000000000000000000000000000000000000","199276238228552724276973049/200000000000000000000000000"],"raw":["47826281010976645600371706408452614025197/16000000000000000000000000000000000000000","597828714685658172830919147/200000000000000000000000000"],"tail":["5957867752224527693203145416988863473053970224321/1600000000000000000000000000000000000000000000000","37236686335217838007967168502815409/10000000000000000000000000000000000"]},"4":{"exp_neg":["93322062113495061145094915278022700163/93750000000000000000000000000000000000","199087200430443271693238761/200000000000000000000000000"],"raw":["93322062113495061145094915278022700163/23437500000000000000000000000000000000","199087200430443271693238761/50000000000000000000000000"],"tail":["4104639971208935030896213280337693400821226311/781250000000000000000000000000000000000000000","3283714221732466326374254444881089/625000000000000000000000000000000"]},"5":{"exp_neg":["127321949369131328180698585942652215847/128000000000000000000000000000000000000","198940616533258795623554209/200000000000000000000000000"],"raw":["127321949369131328180698585942652215847/25600000000000000000000000000000000000","198940616533258795623554209/40000000000000000000000000"],"tail":["8783493495680439096305183927256816063441396101/1280000000000000000000000000000000000000000000","27448427119902970211028389301068103/4000000000000000000000000000000000"]},"6":{"exp_neg":["15905666848464979737169772244409236679147/16000000000000000000000000000000000000000","795283894870362289655818889/800000000000000000000000000"],"raw":["47717000545394939211509316733227710037441/8000000000000000000000000000000000000000","2385851684611086868967456667/400000000000000000000000000"],"tail":["1707038809270082360003735309429386541569592833107/200000000000000000000000000000000000000000000000","341408001400289398079731070639142303/40000000000000000000000000000000000"]}},"six_rank_dual_lower_slacks":{"1":"0","2":"0","3":"10235038825503321335960935718037628068840198083/4800000000000000000000000000000000000000000000000","4":"526185485070215469023168404986221588294013613/37500000000000000000000000000000000000000000000","5":"18140649318380731986857452885614694564366442899/480000000000000000000000000000000000000000000000","6":"411183349851605184966970690784280307680880601/600000000000000000000000000000000000000000000000"},"strict_gap":"1986959157842368459340316362111953903191638953391/22500000000000000000000000000000000000000000000","zero_slack_ranks":[1,2]}],"power_engine_credit":"Qualified retained interval_math.py positive-C power engine reused without independent reimplementation; root-only evaluation at C0.","prior_25_control_result_sha256":"f0ab2ed10f91a5acd76c1c6753d970c59e51e83c3d0b96fe8a6a3a6c3f80e9de","retained_compiler_guard_binding":{"applicability":"1-C+1/5 >=1, retained cutoff17Q(193,200),'independent source gamma lower bound') + law=r['retained_compiler_guard_binding'] + need(law['gamma']=='M_P(1-C+1/5)/(17^(1/5)*M_T(1-C))' and + law['delta']=='18*|T|/(17^C*M_T(1-C))' and not law['source_modules_executed'], + 'literal retained compiler guard applicability') + need([p['C'] for p in r['points']]==['33/10000','6600001/2000000000'],'exact two-point domain') + for p in r['points']: + need(Q(p['necessary_tail_increment_per_FULL_strict_lower'])>Q(p['available_tail_increment_per_FULL_strict_upper']) and + p['six_rank_dual_lower_slacks']['1']==p['six_rank_dual_lower_slacks']['2']=='0' and + all(Q(p['six_rank_dual_lower_slacks'][str(k)])>0 for k in range(3,7)), + 'strict all-profile Farkas separation and all six coefficient slacks') + controls=r['mutation_controls'] + need(len(controls)==27 and sum(c['outcome']=='rejected' for c in controls.values())==25 and + sum(c['outcome']=='inconclusive_as_required' for c in controls.values())==2, + 'all 27 classified controls, including two inconclusive sensitivities') + need(r['fifth_root_extension']['maximum_rank']==145 and r['fifth_root_extension']['negative_C_calls']==0, + 'bounded finite fifth-root extension and positive-C engine reuse') + + +def authenticate(): + inventory=json.loads((HERE/'PAYLOAD-INVENTORY.json').read_bytes())['files'] + actual=set() + for path in HERE.rglob('*'): + need(not path.is_symlink(),'symlink package member') + if path.is_file() and path!=HERE/'PAYLOAD-INVENTORY.json':actual.add(path.relative_to(HERE).as_posix()) + need(actual==set(inventory),'complete package inventory') + for name,row in inventory.items(): + raw=regular(HERE,name).read_bytes() + need(len(raw)==row['bytes'] and sha(raw)==row['sha256'],'frozen package byte '+name) + capsule=HERE/'capsule';raw=regular(capsule,AUDIT+'/REQUEST.json').read_bytes() + need(sha(raw)==REQUEST_SHA,'original frozen request') + request=json.loads(raw) + need(request['caller']==18 and request['cutoff']==17 and request['floor']==18 and + request['tail_offset']=='1/5' and request['decay']=='97/100' and + request['goals']==['33/10000','6600001/2000000000'] and request['expected_controls']==27, + 'original caller/tail/domain contract') + for name,digest in request['files'].items():need(sha(regular(capsule,name).read_bytes())==digest,'original frozen input '+name) + expected=regular(HERE,'original-evidence/RESULT-normal.json').read_bytes() + need(sha(expected)==RESULT_SHA and regular(HERE,'original-evidence/RESULT-optimized.json').read_bytes()==expected, + 'both original complete scientific output bytes') + pair=json.loads(regular(HERE,'original-evidence/PAIR-RECEIPT.json').read_bytes()) + need(pair['request_sha256']==REQUEST_SHA and pair['result_sha256']==RESULT_SHA and + pair['complete_output_equal'] and pair['scientific_fields_excluded']==0,'original exact pair joins') + need(not regular(HERE,'original-evidence/STDERR-normal.txt').read_bytes() and + not regular(HERE,'original-evidence/STDERR-optimized.txt').read_bytes(),'original empty stderr') + semantic(json.loads(expected)) + return expected + + +def child_limits():resource.setrlimit(resource.RLIMIT_AS,(512*1024*1024,512*1024*1024)) + + +def main(): + expected=authenticate() + if sys.argv[1:]==['--integrity-only']: + print('PASS_P104_ABCD_FUNDING_INTEGRITY_ONLY_NO_SCIENCE');return + need(not sys.argv[1:],'unsupported verifier arguments') + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1');env.pop('PYTHONOPTIMIZE',None) + with tempfile.TemporaryDirectory(prefix='p104-abcd-funding-') as temp: + command=[sys.executable,'-I','-X','pycache_prefix='+temp+'/bytecode'] + command+=['-O'] if sys.flags.optimize else [] + command+=['-B',str(HERE/'capsule'/AUDIT/'check.py')] + with (Path(temp)/'stdout.json').open('wb+') as out,(Path(temp)/'stderr.txt').open('wb+') as err: + child=subprocess.run(command,cwd=HERE/'capsule',env=env,stdout=out,stderr=err,timeout=60,preexec_fn=child_limits) + out.seek(0);actual=out.read();err.seek(0);errors=err.read() + need(child.returncode==0 and not errors,'scientific child failed: '+errors.decode(errors='replace')[:3000]) + need(actual==expected,'complete original scientific output equality') + semantic(json.loads(actual));authenticate() + print('PASS_P104_ABCD_N18_FUNDING_OBSTRUCTION') + print(json.dumps({'complete_original_output_sha256':sha(actual),'goals':['33/10000','6600001/2000000000'], + 'caller':18,'controls_rejected':25,'sensitivity_controls_inconclusive':2,'all_n_funding_claim':False, + 'new_kappa':None},sort_keys=True,separators=(',',':'))) + + +if __name__=='__main__':main()