diff --git a/research/r437-native-transport/.gitattributes b/research/r437-native-transport/.gitattributes new file mode 100644 index 000000000..a154a13b7 --- /dev/null +++ b/research/r437-native-transport/.gitattributes @@ -0,0 +1 @@ +inputs/** -text -diff diff --git a/research/r437-native-transport/PROOF.md b/research/r437-native-transport/PROOF.md new file mode 100644 index 000000000..ac836928e --- /dev/null +++ b/research/r437-native-transport/PROOF.md @@ -0,0 +1,207 @@ +# Uniform R437/OQ4 owner transport and packet separation + +The source is the unpooled current R437/OQ4 catalogue at PR3647 commit +`a24f9ff95c12fd0b6792e3f710569237efd72db2`, through the PR3967 adapter. +Its ordered request digest is +`cbfea55f5cd0b74a2a0d4292ad0139d2b5bb73127951127698030bc90c73c532`. +This proves the **owner transport interface**, not the complete source supplier. +The local residual's functional contract remains an explicit premise. + +Nick Petalas/PR2989 already gives the general separation and conditional ordering +arguments for the old selected source, with chart invertibility retained. The +new exact coverage here is the current R437 chart determinant certificate and +its changed owner inventory. The following interface arguments apply those +principles to these certified matrices; they are not claimed as new general +routing theorems. + +The mathematical pairing is the right action of a matrix group on its low/high +fibres, with disjoint writable subobjects in a typed packet interface. It yields +an actual source condition needed by the complete emitter: the original Driver +checks owner-packet uniqueness, while `compile_node` does not repeat that guard. +The source-specific theorem below discharges that condition uniformly. + +## 1. Source certificate over the dyadic rationals + +Let D=Z[1/2], d=64. The actual current source has 1,235 distinct chart labels. +The verifier reconstructs each chart from its source geometry and support label, +compares it to the reused catalogue matrix, and computes its determinant by an +independent exact elimination. Every entry belongs to D. Every determinant is ++1 or -1 (236 and 999 labels respectively). Hence each chart sigma belongs to +GL_d(D), with inverse in D by the adjugate identity. This is a certificate over +D; it is not an inference from tests at q=3. + +For every pair of distinct roles sharing one family in a canonical call, the +verifier exhibits an entry of sigma_a-sigma_b equal to +1/2, -1/2 or -1. +There are 5,619 such pairs over the nine calls. The explicit 32-fold owner +replication is checked at every role, giving 179,808 pair instances over all +288 calls. These differences are units in D and remain nonzero modulo every +odd prime. `RESULT.json` records the inventory and canonical witness digest; +the verifier regenerates every witness rather than trusting that digest. + +Consequently all charts are invertible over R=Z/q^w Z for **every odd prime q +and w>=1**, and same-family charts are distinct over F_q. This includes the +five changed stage-six owner routes; old source ordinals are not substituted. +This removes the chart-invertibility premise only; any separate source-prime +assumptions of projectors, split bases or numerical normal forms remain. +The theorem is restricted to the authenticated unpooled source. A cross-replica +owner construction must supply its own inventory and separation witnesses. + +## 2. Typed low/high chart action + +Let L=GL_d(F_q), N=|L|, H=q^(d^2(w-1)). For ell in L, let +F_ell be the set of raw matrices g in GL_d(R) reducing to ell. Each fibre has +H elements and has the canonical enumeration g=ell+q X, with each entry of X +in {0,...,q^(w-1)-1}; ell denotes its entrywise canonical representative. +Invertibility holds because a matrix over this local ring is invertible exactly +when its reduction is invertible. + +For an actual chart sigma, right multiplication is the bijection + + rho_sigma : F_ell -> F_(ell sigma mod q), g -> g sigma mod q^w. + +Its inverse is rho_(sigma^-1), so no invertibility of the high-digit matrix X +is required (the complete raw header g is invertible). If d0 is a chosen common low, the owner's native low is +ell=d0 sigma^-1 mod q. Thus every matching native high fibre is transported +bijectively to the common fibre. As d0 ranges over all L, the native low also +ranges over L exactly once. Neither low-class cardinality nor a uniform bad-low +fraction changes under this right translation. + +This is precisely the `compile_owner` direction: it returns native ell, +forward `(ell,sigma,d0)`, and backward `(d0,sigma^-1,ell)`. Supplying the common +low as the native low, or applying sigma twice, changes the map. + +The high key must include the carry: + + Y=(canonical(g sigma mod q^w)-canonical(d0))/q. + +The numerator is entrywise nonnegative and divisible by q, and 0<=Y_ij=1 be their number and b>=1 the fibre +length. A route permutes only the high-lift index, separately in each occurrence; +it neither coalesces prefixes nor changes any payload bits. + +The functional refinement of `route_cube` follows these loop invariants: + +1. Odometer enumeration decorates each of the H source rows with the exact + target high key Y and copies all b payload bits. Section 2 gives one copy of + every target key. +2. Each `partition` is a stable binary partition of all H complete decorated + rows. It copies every key and every payload bit once into one bucket and + concatenates buckets 0 then 1. It preserves equal-key internal order. +3. The cursor scans the fixed-width binary key from least to most significant + bit. Coordinates are visited in reverse lexicographic order. Stable radix + sorting therefore leaves keys in the Odometer's lexicographic order. +4. The final pass checks every expected key and removes only decoration. Its + H rows are exactly the pushforward by rho_sigma. At w=1, H=1 and the sorting + loop is skipped; the same conclusion holds. + +`route_packet` repeats this operation for each of the C physical prefix +occurrences. Its source is rewound; completed temporaries are cleared. These +are invariants of the cited source loops under the existing binary word, +Counter, Matrices, tape and allocation contracts. This note does not separately +reprove those primitive contracts or their machine tariff. + +Now let P be the actual local residual's base projector. In a routed row d=g +sigma, the common residual acts with d P d^-1. The native action is + + g (sigma P sigma^-1) g^-1 = (g sigma) P (g sigma)^-1. + +Thus forward route, completed common residual and inverse route commute with +the native conjugated residual. This equality is valid over R and for each row; +equality of the address permutations gives equal pullbacks on **every Boolean +payload function**, including nonlinear or correlated dirty helpers. It does not assume that a source contains only a named clean +summand. For COPY the runtime uses the actual permitted common source code; +this equality does not introduce a forbidden native COPY code. + +An IDLE source is already native and retains its family chart in its preparation. +The actual rank26 and rank42 sources consequently remain native sources; they +are not converted by relabeling the rank7 common COPY code. Conjugation preserves +rank after reduction, so the old rank34 IDLE code cannot be transported into +the current rank26 or rank42 source by any invertible change of chart. Equal +numeric code widths or stable source ordinals supply no version-portability law. + +## 5. Gather, local call and chronological scatter + +For fixed d0, Section 3 gives disjoint writable packets inside the family array. +Gathering all roles from that array and routing each yields the staged local +state. Let F be **any completed local map** on those staged packets, satisfying +its declared source, target, private-buffer and restoration contract. Inverse +routing and scattering each result into the **latest** family state implements +exactly the simultaneous replacement of those disjoint packets by F's outputs. +Proof: after k scatters, precisely the first k selected packets have changed; +all others retain their previous contents. Disjointness makes the next step +preserve this invariant. It is independent of values or correlations of bits. + +This supplies a commuting square between native family state and staged state, +conditional on F. It does not prove F or execute all GL64 classes. Subsequent +common-low invocations remain chronological; this lemma does not authorize +reordering different invocations, whose selected packets may overlap. + +A counterexample is retained in the verifier: scattering two disjoint returned +packets into their original stale snapshots loses the first change. Thus +`Machine.commit`/`Driver.commit` reading the latest family is a substantive +premise, not merely an implementation convenience. + +## 6. Complete transport invoice and retained obligations + +Let G,S,R be **completed** gather, scatter and route tariffs at this node, +including their setup, temporary output, ownership transfers and disposal of +replaced/temporary streams. They may be nonuniform; the following expression +uses the maximum over the actual charts and source roles. Write N=|GL64(F_q)|. +The current complete compiler has + +- 189,792 N local gathers and the same number of local scatters; +- 379,584 N routes, counting both directions; +- 63,936 N native-IDLE gathers and the same number of native-IDLE scatters. + +Hence its complete owner/IDLE transport charge is bounded by + + C_transport <= 253728 N (G+S) + 379584 N R. + +Equivalently there are 507,456 N whole-family scans. The verifier derives these +numbers from all 659 owners in 288 calls and all 1,998 canonical IDLE requests, +not from the 903,456 paid residual count. A paid child count alone is not a +transport count. Under a primitive convention excluding commit/disposal, add +those charges explicitly to G,S,R before using this expression. + +For C old-prefix occurrences, H high lifts, fibre b and Vp=CHb, a full family +has N Vp bits. The inherited sequential implementation gives completed gather +and scatter O_q(N Vp+setup), and route +O_q(J Vp+CH(poly(w)+J^2)), J=O_q(w), when its binary arithmetic, allocation and +cleanup contracts hold. No H=1 or controlled-payload simplification is used in +the counts. Converting this into O_q(w V) additionally needs the actual node +volume, root/history/stock coupling and allocation/visited-cell reserve. +Those premises are not supplied here. In particular erased scratch is not a +bound on all backing cells visited across repeated calls. + +The complete ordinary caller still pays residual children and their preparation, +clones, XORs, private-result consumers/disposal, global bridges and exchanges, +fresh-row routing, ordinary wrappers, normalization and numerical reserves. +This transport lemma sets none of them to zero. It supplies an independently +reviewable source/transport implication to their full invoice; it is not a +complete multiplication theorem or a frontier update. diff --git a/research/r437-native-transport/README.md b/research/r437-native-transport/README.md new file mode 100644 index 000000000..775a900ad --- /dev/null +++ b/research/r437-native-transport/README.md @@ -0,0 +1,115 @@ +# R437/OQ4: uniform native/common owner transport + +This package closes the chart-invertibility premise retained by Nick Petalas's +[PR2989 audit](../physical-compiler-correspondence/README.md), and refreshes its +owner-separation certificate to the actual current R437/OQ4 source. It establishes: **all owner packets within a call are disjoint, for every odd prime q, +every invertible common low class and every high lift**. The actual current +R437/OQ4 charts have exact dyadic determinant ±1; every same-family chart pair +has an entry difference ±1 or ±1/2. Consequently the compiler may rely on the +original Driver's owner-key separation predicate without testing enormous GL64 +cohorts. The [proof](PROOF.md) then gives the typed gather/route/local/scatter +commuting square for an arbitrary completed local map and arbitrary dirty data. + +This is a new current-source independent arithmetic certificate, plus an explicit +application of the existing uniform interface arguments. The catalogue/compiler and primitive tape implementations are +reused and credited. It does not certify the complete multiplication theorem, +execute a full GL64 physical packet, admit a supplier or change the frontier. + +The two mathematical viewpoints are finite-field group actions on low/high +matrix fibres and disjoint packet interfaces. Their conjunction identifies the +precise implication: injective owner keys permit staged local execution followed +by chronological scatter into the latest family state. + +Evidence in [RESULT.json](RESULT.json): + +- 1,235 actual chart labels: 236 determinant +1, 999 determinant -1 over Z[1/2]. +- 5,619 same-family role pairs across nine canonical calls; explicit 32-fold + symmetry gives 179,808 pairs across 288 calls. Every pair has a dyadic-unit + entry witness, so its distinction survives every odd characteristic. +- The exact current ordered request digest is + `cbfea55f5cd0b74a2a0d4292ad0139d2b5bb73127951127698030bc90c73c532`. +- The full transport counts are253,728 N completed gathers,253,728 N completed + scatters and 379,584 N completed routes, where N=|GL64(F_q)|. The transport bill + is253728 N(G+S)+379584 N R, with setup, transfer and disposal inside each tariff. +- Actual rank26 native chart 98 produces nonzero high carries from a raw identity + header at(q,w)=(3,2),(5,3),(7,4); low-only retagging loses those carries. +- Controls reject duplicate charts, an odd-prime determinant, an odd denominator + and a chart difference vanishing modulo3. A separate small semantic control + exhibits the lost write from scattering into a stale family snapshot. + +The universal assertion follows from the exact dyadic certificate plus the +algebraic proof. The finite carry controls are diagnostic checks, and the small +stale-scatter example is not a physical production replay. The new checker +predicates remain enabled under optimized Python. + +## Reproduce + +From the repository root, standard-library Python 3.12: + +```sh +python3 scripts/research_package.py --package research/r437-native-transport --check-only +python3 scripts/research_package.py --package research/r437-native-transport +``` + +The registered commands authenticate every declared input and regenerate the +complete exact certificate against its frozen JSON, normally and with `-O`. +They are read-only. Optional `check_transport.py --write` regenerates the receipt +when deliberately changing a source; do not use it to excuse a mismatch. + +All pending-source bytes needed for replay are retained in this package. The +adapter is byte-for-byte PR3967's source, derived from zxv/PR3690; canonical +caller inputs are declared in `VERIFY.json` and SHA-256/Git-blob bound in +`SOURCES.json`. No remote predecessor Git object is needed for cold replay. + +## Scope and overlap + +Explicit donor continuation of PR3967 at canonical main 20ecf289, priority 6. +The predecessor already binds actual rank26/COPY515 controlled physical returns, +full literal event chronology and seven changed catalogue records. This package +adds the current-source all-odd-q chart certificate and owner-key injection, +not another controlled return. The sibling whole-program lane may consume this +lemma; this package does not depend on that sibling's result. + +The retained PR2753 proof states owner/common route and separation arguments for +its older source. Nick Petalas/PR2989 already independently certifies463 distinct +chart pairs covering 181,056 old-source owner pairs, and proves conditional +compiler ordering. It explicitly leaves chart invertibility as a premise. +The present determinant certificate checks all 1,235 current charts and removes +that chart premise for every odd modulus. Separate projector/normal-form +source-prime restrictions are retained. The pair inventory is newly bound to 659 +current roles and 179,808 occurrences; the general separation theorem, omitted +guard observation and conditional ordering principle retain their predecessors' +credit. This package independently certifies the exact current R437 +matrices and all within-call pairs, explains the predicate omitted by the emitter, +and counts the current transport calls. It does not claim a new general routing +algorithm or independent implementation of the reused catalogue. + +The source is unpooled a24f9ff. Cross-replica pooled proposals such as PR3959 need +new source separation and native-emission proofs. Same numeric low-code ordinals +do not authorize migrating old histories: rank34 IDLE cannot be conjugated to +rank26 or42. R437 residuals, ordinary wrappers, original-width stock and complete +visited-cell/precision/analytical premises remain open or inherited. + +## Open next questions + +1. Use the verified injective owner-key premise in a source-generic whole + compiler/dispatcher simulation. Begin with actual `compile_owner` directions + and latest-family commit semantics. The residual/block and primitive tape + contracts still need their own proofs. +2. Derive an actual completed G/S/R tariff and uniform visited-cell reserve for + the original-width ordinary constructor. Begin with the exact operation + counts here and preserved prefix multiplicity; live scratch alone is not a + visited-cell bound. +3. For a genuinely different pooled owner source, rerun the rational certificate + and all same-family pair checks before carrying over any of these implications. + Changed family assignments invalidate the present source pin. + +## Credit + +Chris R / Clear1nsight, with substantial OpenAI Codex assistance and a parallel +research team. Apache-2.0. Preserve zxv/PR3690; Jose Manuel and David Arias's +physical ordinary/caller work including PR2753/2809/2899/3562; Nick Petalas/PR2989 for the prior independent compiler/owner audit, and his +source catalogue and owner/common transport lineage includingPR2234/2405/2569; +ai-nanachi and Ali Romman's R437/PR3647; Chris R/PR3883/3936/3950/3967; +Jeremy Kothe, Dugongue, Ross Richardson, eumemic/DreamingOfClouds and all retained +source/geometry/hosting contributors. The canonical source notices remain intact. diff --git a/research/r437-native-transport/RESULT.json b/research/r437-native-transport/RESULT.json new file mode 100644 index 000000000..081153a85 --- /dev/null +++ b/research/r437-native-transport/RESULT.json @@ -0,0 +1,72 @@ +{ + "actual_native_carry_controls": [ + { + "nonzero_high_entries": 24, + "q": 3, + "raw_identity_high_zero": true, + "w": 2 + }, + { + "nonzero_high_entries": 24, + "q": 5, + "raw_identity_high_zero": true, + "w": 3 + }, + { + "nonzero_high_entries": 24, + "q": 7, + "raw_identity_high_zero": true, + "w": 4 + } + ], + "canonical_same_family_pairs": 5619, + "chart_certificate_sha256": "7fdb9184c8e8f3f7027437ed446fec419a2935ece0665f9f3e865d9bd5369f45", + "chart_labels": 1235, + "complete_transport_counts": { + "all_family_scans_per_low_class": 507456, + "idle_gathers_per_low_class": 63936, + "idle_scatters_per_low_class": 63936, + "local_gathers_per_low_class": 189792, + "local_routes_per_low_class": 379584, + "local_scatters_per_low_class": 189792 + }, + "controls": [ + "same_family_duplicate_chart", + "odd_prime_determinant", + "odd_denominator", + "difference_vanishes_mod_3", + "stale_scatter_snapshot" + ], + "determinants": { + "-1": 999, + "1": 236 + }, + "full_GL64_physical_execution": false, + "per_stage_pairs": [ + 214, + 435, + 856, + 871, + 871, + 869, + 854, + 435, + 214 + ], + "quantifier": "Every odd prime q, every w>=1, every invertible common low, every high lift; algebraic owner/route interface only.", + "replicated_same_family_pairs": 179808, + "request_binding_sha256": "cbfea55f5cd0b74a2a0d4292ad0139d2b5bb73127951127698030bc90c73c532", + "request_kinds": { + "COPY": 81, + "IDLE": 1998, + "MOVE": 26154 + }, + "status": "PASS_CURRENT_R437_UNIFORM_OWNER_SEPARATION", + "supplier_admission": false, + "witness_differences": { + "-1": 4388, + "-1/2": 776, + "1/2": 455 + }, + "witness_sha256": "01a96432258b8cae08cbbfa6a7088228452cdf2dd3741a279f9bca359d46a0eb" +} diff --git a/research/r437-native-transport/SOURCES.json b/research/r437-native-transport/SOURCES.json new file mode 100644 index 000000000..d22dff5d3 --- /dev/null +++ b/research/r437-native-transport/SOURCES.json @@ -0,0 +1,866 @@ +{ + "schema_version": 1, + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "input", + "sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81" + }, + { + "path": "research/community-hyperplane599-audit/pr589/bit589/v9/hosted/GLOBAL-TEMPLATE.json.gz", + "usage": "input", + "sha256": "0357b7cfbd7c29b4983982baf153c8a9f1e1e412690cd7fa9fc3d23d7963b20f", + "git_blob": "9eafb8776cbf78c72124f833534469ddfa5e98ec" + }, + { + "path": "research/community-hyperplane599-audit/pr589/bit589/v9/nine/GEOMETRY.json", + "usage": "input", + "sha256": "0058c491d839142aa99ef86a5ec697ce99857632228531512ea3fa74fb24d734", + "git_blob": "44006542202ca6037533a754f0bcd00549d7e088" + }, + { + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "usage": "input", + "sha256": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "git_blob": "e293ddc557742637f9f679f083a1a282d87b1b13" + }, + { + "path": "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz", + "usage": "input", + "sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "git_blob": "85a4499bf9e4911a705d50567a2c2ef6cf23739a" + }, + { + "path": "research/pr589-five-helper-hosting/PROOF.md", + "usage": "input", + "sha256": "59cae781bfbe1a01ed9e66a8efeeb5a2b995e5ecdf908586b23ecc39f2b8d647", + "git_blob": "bbd3f12b9a32b3ad3cba85a2d5a1b3054214fa02" + }, + { + "path": "research/pr589-five-helper-hosting/verify.py", + "usage": "input", + "sha256": "cf90e19ae9991b0698be03d395a8cc29061ecb307eb7fea19adfb2d23c25a367", + "git_blob": "dbc71f56bb4205ebe378ada1f9f4ea88630d1d39" + }, + { + "path": "research/recursive-parking-boundary/README.md", + "usage": "input", + "sha256": "491aa208391ee4c2936510b1a5c5c018dd5509d9a0e88687c72ab8406cd77b18", + "git_blob": "251f335ebaccc11d69393ee7aeb5a2e84526d0bb" + }, + { + "path": "research/selected-bit-local-ring-sweeps/PROOF.md", + "usage": "input", + "sha256": "846c59440cc99e28bae93ad2af99525bc769de29368080071b8427141215b4f7", + "git_blob": "4330de85dd9862ed15d84ab917887d249753df99" + }, + { + "path": "research/selected-bit-physical-caller/PROOF.md", + "usage": "input", + "sha256": "e5a827e93fe313ba9bf4a2e300bae01b58b28004aa8a8ee119cf6d950edd9f93", + "git_blob": "548ecff3ef79a32c14bafc7f2309781181d3c23d" + }, + { + "path": "research/selected-bit-physical-caller/README.md", + "usage": "input", + "sha256": "989ad891ce3f866c920a25e0cdd661815f982c4c854370f8c00668eaa15d770c", + "git_blob": "abd0edba96101a025609d2840c3dbdf4d3e30aa8" + }, + { + "path": "research/selected-bit-physical-caller/RESULT.json", + "usage": "input", + "sha256": "de6216b9f89f22b9602867776a7fc951ec558c852e6abd4624151e95d868af56", + "git_blob": "44afaf8dca8f76b3c9f5ef58616b6d57ff7ff2f3" + }, + { + "path": "research/selected-bit-physical-caller/SNAPSHOTS.json", + "usage": "input", + "sha256": "c7b3485bdae5ddf43166cd6626bd512816e179617a4234c36584f6c57c34744a", + "git_blob": "034836cfaa3e4f984e900a980eecc986ec405b1d" + }, + { + "path": "research/selected-bit-physical-caller/SOURCES.json", + "usage": "input", + "sha256": "94e1f55094bbd122e4ee73413650fa24072c392d53d257041cd5d38a2269e4fd", + "git_blob": "a27291a91519f9f4e074712afa3262c4d372aaaf" + }, + { + "path": "research/selected-bit-physical-caller/TASK.json", + "usage": "input", + "sha256": "84319cb2f8c7c121927123e8c3271c3ec4ec93fc9be362dcfdf7ee4366cd1a74", + "git_blob": "28b8d5e1cbd29824e702d384937831ddb3876da7" + }, + { + "path": "research/selected-bit-physical-caller/VALIDATION.md", + "usage": "input", + "sha256": "c38eaa31a9cf3489356f2e2a675e2bc6194fa41796589edc9cbd8578b5d71c0f", + "git_blob": "5b1a9221f35cbd637183282489e8eeaa30314ea8" + }, + { + "path": "research/selected-bit-physical-caller/VERIFY.json", + "usage": "input", + "sha256": "5bb3cf67018f35de5b825c9bb4b7a6590296da85f492ba3dbff7a6ce9bdebf8e", + "git_blob": "682809777271adfe08df6e6ba2fae89571420212" + }, + { + "path": "research/selected-bit-physical-caller/continuation_checks.py", + "usage": "input", + "sha256": "c6ef8fa86a7099af0eb6763a3f5bd43f8f94e1e176cfba38c0077b3e0f5fda48", + "git_blob": "f2be8aad16e279c0d1467e21d79d2dd81dcae8d8" + }, + { + "path": "research/selected-bit-physical-caller/frame_checks.py", + "usage": "input", + "sha256": "ced41d9244afcb5275ad5c46dc0f60265afc1e6422d29b277364e945825c4dd8", + "git_blob": "4b992ffcb0a613da54ca24e31d25e61445799e10" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/EVIDENCE.json", + "usage": "input", + "sha256": "77b7cbefa2ca30acf2f77e23d14808ccd27848e9c76e4c5e68a045ef7891a07f", + "git_blob": "c2c347abc2b8c19bb642c4da1aad5b3e8383016f" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/PREDECESSOR.json", + "usage": "input", + "sha256": "e3127475913d62dbdf1b45d9283d2db2e9b689e0f81a703189150c1e5be2bca0", + "git_blob": "56d76c357b51f4fc6856923222bfca47f03334e7" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/PROOF.md", + "usage": "input", + "sha256": "552fa306d5cc228f4d8d8553f8ac5fc6a738ef2b66a2cb765ba0638cd229794d", + "git_blob": "1a08e57eac2a37764066d31baa3ecd3769759158" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/README.md", + "usage": "input", + "sha256": "6ce41fd7e6dfbe5faecc25bd36561f0a65b6ebca6fc69d3fb72569424a405045", + "git_blob": "75461632856f94d6b48ae820cf5d0b2b232305c2" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/RESULT.json", + "usage": "input", + "sha256": "4919655bae2e5cff051e8f2d240a8e4ebb03392a9da2fb5328daa9248fb7e88b", + "git_blob": "75faec7844e18fc7c44543dbab87aba2ecf32b3e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/SOURCES.json", + "usage": "input", + "sha256": "7c78f539078e1bc3d893b78b5ee24cb22dc090d3763fe554e861b6c3d3e7eaf7", + "git_blob": "ff8c8e36176aa56e319d0f9e584167ac21d67f33" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/TASK.json", + "usage": "input", + "sha256": "ac7d4b38da31b373e665929027fc04afb66c3e9aedaea3296e3783637912d0e8", + "git_blob": "d70ad317275d2a517ab1294ce48ecb1f83dfedbf" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/VALIDATION.md", + "usage": "input", + "sha256": "ac0f2fab0ca810ce0202d31480daa8329cba0897ab015520a2bfd4b689c4086b", + "git_blob": "d91680665a28c12c27c99336b55c3d5341dd0fe4" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/VERIFY.json", + "usage": "input", + "sha256": "6ad0e07f68458afedece927550655b5bc5cd9861a70044fcd95bb10a2179f0a6", + "git_blob": "b6072f66c13a38b5d8dff3ca3bc5f3f3562f1b6e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/bootstrap.py", + "usage": "input", + "sha256": "eef1c418e8edbdf317d159683e30beaecd971c77cf41d6b09708576405e2141e", + "git_blob": "448c9b3a86eedb84220646ab27ff089a32ad5b9b" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_layout.py", + "usage": "input", + "sha256": "454b1587d1ed5ccaea19b621a67e2ceba999d7ede61188125faa41c4dd2ab2b1", + "git_blob": "be59d614d25961f891e1640bf85cf5e2f474a059" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_nested_model.py", + "usage": "input", + "sha256": "b1941b882b0659722c3c41994c82f020c1f7ab320dc28c43c2758029ef8a48b7", + "git_blob": "20fed6bd389cb53fc52d0ad8389e9e7704c90265" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_recursion.py", + "usage": "input", + "sha256": "dde82badf043e553bc635a34295e2b5505d84d6dfbaf96e0cfccb8a8c3dbb158", + "git_blob": "8f36c88e196cf5afc0d6e227ba8568a10bb23c6a" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_runtime.py", + "usage": "input", + "sha256": "9fcf0c9a3c84a17446fafe8da50b63db296ba9465d48ddb6fdeac8742dfc98b1", + "git_blob": "fe355a703475325bca4807b8ffedfa9f6edb74f5" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_sign.py", + "usage": "input", + "sha256": "ee4fd34acd49962a18d268aefeb20aa3c2673a10e7a43eee3e51a9bd3cf9106a", + "git_blob": "50669949a1325e8c49aa0ff714c40a50077b5eb8" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/check_sources.py", + "usage": "input", + "sha256": "1c49984ae6ee7f8a44cde16b51e486f0b3ba4ee5c973389ac8d58a82d0a0aa3b", + "git_blob": "5c09a13943070a3bb3c0da06fd19fbc6916d1743" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/consumer.py", + "usage": "input", + "sha256": "2f2a8604c23fb2c81f24320c71ed0142118d98dde3be6086adad28e89954a777", + "git_blob": "a66d9276f829ce2c619871866816649d5f3687fd" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/control_checks.py", + "usage": "input", + "sha256": "c09d33327932b4ffbb8acb26c8a6bb621bcca542157d22f1edf72679a9359981", + "git_blob": "11daa0b2221c5870d19ba2eaf411a6bff3a0398d" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/driver.py", + "usage": "input", + "sha256": "ceaf8f75de9810a05ebf8f65780b6f8bd7599a5768401d5e4386182afe615cdf", + "git_blob": "5b7846a70aada53d87480b337e1c04217118771b" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/evidence/NOTICE.md", + "usage": "input", + "sha256": "fd7c42e89878cda6df86dde8720ece34625a337cf5edd795a421e2d3b42919e9", + "git_blob": "d0318d43ed420e21dc52166a19de703aa87fbb3e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2688-NOTICE.md", + "usage": "input", + "sha256": "c899fccf7bd32397f0ddd85e4af35a166cefb3e3ae3407ec40edc3ab2051b617", + "git_blob": "f2b49cdef83a4a685fad32c01fba93e12cfcb5a8" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2688-PROOF.md", + "usage": "input", + "sha256": "fa9bec0952468e4acb760a88d45d5be216325650e1a4080cf590e07b90c9f533", + "git_blob": "1395e1941863e40ff6d62dd91c41de2cb56edae9" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2708-README.md", + "usage": "input", + "sha256": "5906f6b7b2c8eea90e441476c4cbd60fe2ef981b690c63357bcfe67e3104aeef", + "git_blob": "79b8742f32b4ffb991f91ddd2d3c6be693084e6d" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2731-README.md", + "usage": "input", + "sha256": "19683df4394de299cbd7e1cce39bf9434ad260b1a37006587cf9aed84c9c0a03", + "git_blob": "ac5b826f9c34e1faadc5d5a02d5d260823112078" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/layout.py", + "usage": "input", + "sha256": "3beef6534b02c3b011b741f957a7d9fb05a9ac0bba1fed53b2c71834e4ea6bc1", + "git_blob": "aa554b14fe0f6b308d9fba0a2afc92e5a28e20cb" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/linear_sign.py", + "usage": "input", + "sha256": "73e895fc701a4145cbe89d60f5775128354e7f08d0a45eacf22f423913f54e67", + "git_blob": "6a6e5c02f299fad8c4f7ab724fc36e14a22ab13c" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/node.py", + "usage": "input", + "sha256": "0bd4f640cafb5c8f070c161d86445910f77578a672bf5886936ed89e7f6bd21b", + "git_blob": "28c98a3573b458f7a055678d70b602b80e6e959e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/packet_engine.py", + "usage": "input", + "sha256": "c80fc3aa9092f91cc309b2fb2dbc3618bf96bdb9b8498503993ea161f0ae2134", + "git_blob": "72543f684f38fefeacc2ee66d81661f1a2439cf7" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/peel.py", + "usage": "input", + "sha256": "8b20888f74b4cd814a97b42ec72528fbfb6d2e936c5022df726f0785d0d01a2e", + "git_blob": "38502515afc928082c849cd2cda8578d33a5050a" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/NOTICE.md", + "usage": "input", + "sha256": "c446b32b8a621844fb2fbe654810c8122035bdd43fed2132f1137d98cb6f9943", + "git_blob": "ef9f81510db86eaf2f0a7191d85e92a6db30ddc0" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/PROOF.md", + "usage": "input", + "sha256": "88754d57bae35a2089d9de221ff32ba802b7a56b810f96271f3ea36985edfb14", + "git_blob": "a4746d1786f41e45a36fdedf37966b80fbab3562" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/README.md", + "usage": "input", + "sha256": "15631eb826b2d8d54fbee18fb6f70ee035e172d524c2a209b6c467c3f0204f64", + "git_blob": "988ff622029aff49d7e99deb2468684d904bc852" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/RESULT.json", + "usage": "input", + "sha256": "0d94c5e9150f3fbd603526c67ea33168d3ba45e158aaf722e848bf5c316a37a8", + "git_blob": "7b7dfe0eab22a7b511483f268b97a7c707fd8b90" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/SOURCES.json", + "usage": "input", + "sha256": "1b02a5c607a5967948988c3beaf37d9975d650ad501a99fcf74c135dc1f05fdd", + "git_blob": "4fef1a4d6c2d5e2620d3506d6032f9226870ed39" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/TASK.json", + "usage": "input", + "sha256": "a4cd54d4b09ad12a90a5feeb39a127f0f0d5a2a04f9f88554c5fc3ee0cfe77f4", + "git_blob": "eb2ce7cc00df816daf566f101d56a0330852c1d9" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/VERIFY.json", + "usage": "input", + "sha256": "e1dd0ee5f267ffa515bb345054ff8637cfedb0079b0d2da29b90b7848264926e", + "git_blob": "69c7ad75abe494be386f73a5d51359b9053cd9be" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/cardinal_counts.py", + "usage": "input", + "sha256": "59ddeac102a0cc51fa49b15aae6aeb68cd68ed217fa974ce916372a177d2ec8f", + "git_blob": "6a14feac45094ae9156e8c2c982d6727544f180e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/catalogue.py", + "usage": "input", + "sha256": "83ea88f82d4a83c5f889774bfe3519b7ebaa24b6a0e2a969dafff012107a89bf", + "git_blob": "0efc0575a7623ac41c094d2e8772beda5a9fdc29" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_headers.py", + "usage": "input", + "sha256": "a41dab0c487c341eb32b34a03af74454e15e9e61e7386a1ca426d83f3b68b1ca", + "git_blob": "1c372b19e19b838a89c0e64daeda15ec6b49f079" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_layout.py", + "usage": "input", + "sha256": "8f776a21dc0e31f9738d822cfda38db92f1e3672afb880d4246ec5e084a50a41", + "git_blob": "174d843716a684145f934cb55a612bca85aad725" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_runtime.py", + "usage": "input", + "sha256": "5357e4ff255f17c4209aaf71a3413a4148475f11180c4f829e8f0ebacd2877cb", + "git_blob": "5647693b3a5c1555b65e281c6609f98b92d45542" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_sources.py", + "usage": "input", + "sha256": "6463c2724e04a313181b78e90a17cd62ee42465754902cca3e9a65c6140a15a1", + "git_blob": "9219cdf863d9f060d6e38a4f2f4760fd227af003" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/consumer.py", + "usage": "input", + "sha256": "b28ec97b0873ff2be25aff4bdde268247ffcec0d21279d0ada196de19a0bdc66", + "git_blob": "24b53521fce94d3349072cf47d70e62195f4d541" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/control.py", + "usage": "input", + "sha256": "d3a93e54bb7d333b73917586407d11674d38b5c3fda4fbdc436fb5293ae7786a", + "git_blob": "4f6ac09bffab43dbccc470bd0bde2ffbe969a8b2" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/control_checks.py", + "usage": "input", + "sha256": "5ea6ded8c2508fbb00d93655affdfe7907ffb60916389e0736249c003a7a5148", + "git_blob": "712cfddc4caaad9e788d97b0e1e3f623172c43ed" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/driver.py", + "usage": "input", + "sha256": "ee9e42fe95ab28fdd5e927c2d46fd480305aaad610eb2ca7ae514a5d22d9f0ac", + "git_blob": "0bdee4c9e348259b470a636a98e7657770f97fae" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/fresh_rows.py", + "usage": "input", + "sha256": "e4ae08fbd658add630eb7754ebe0cbcb42c6f39cf4128f9cb92e27fcf5213a7d", + "git_blob": "aa3a327604308d3a5c7a27b65f5e631d430ab093" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/layout.py", + "usage": "input", + "sha256": "7534b0166805f2ae8d11495c811d2bd272cea89c89b6bb5251fd411c89245a20", + "git_blob": "267d5ab98cd013ee82ba75e6d41609f1778af25f" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/model.py", + "usage": "input", + "sha256": "c937ae8e46162f88fc1cd7646d3b22c99273029ad0f0e3131f46ddec230676cb", + "git_blob": "9fb82fa57d29cdf8402f91534dffed8f586ced6c" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/node.py", + "usage": "input", + "sha256": "b88fc9ac0b22d939311ff4f7aff788e8c87a64fd5e866498e59bd27940ee3f28", + "git_blob": "13badda6f059da2132cbe325c071307e5191baa3" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/packet_engine.py", + "usage": "input", + "sha256": "ce7f132a6a69c802406f07c4a2119ef921e8978520ff58d5eeaeedb982c257f2", + "git_blob": "27a0dbf82e78252beede56ff86f5933c93eb55c1" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/peel.py", + "usage": "input", + "sha256": "3de018e68601566c364c7568b110f60c1bf34941b846cdffb94401bb799f85e3", + "git_blob": "2ae1769a9726ab738d3981891d0b76beccac2d99" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/topology.py", + "usage": "input", + "sha256": "384d456ddba76de137a63b50019d5bba2e9f6daa4177c91643e0565d4cf1d44b", + "git_blob": "39a2916c207d04be5efc44750d8606f5da0c2990" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/binding.py", + "usage": "input", + "sha256": "20169a8af6ed2b34069fd353a2bc1c42335ab686c58de8479baef33dd3fb493b", + "git_blob": "21a5a21220a18ab62a19ac403a9944bc3a8665c8" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/bitstream.py", + "usage": "input", + "sha256": "f78bac9641007dbd8824984edcac057274fe016ce78bd9cb512d0c0913274783", + "git_blob": "4d1fd4abb0f2aabe833e5cbc9efb51039739e7ca" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/cardinality.py", + "usage": "input", + "sha256": "505d5e560c5a507e6184edcc19a87cf1fed243eb34a5cb21fbe1e4fe017e7f22", + "git_blob": "b8ba857e32c5903408e1e61ff916300848b4a208" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/check_support.py", + "usage": "input", + "sha256": "d9977e87ddc5acdb836b8e4a4e3942da17a05b04ce67c04547d17b986b518964", + "git_blob": "e1f961df9fa3a441fc5b600d1288a8d038eca51e" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/children.py", + "usage": "input", + "sha256": "a78866939631214c1d1659203b2b5fc062e3c6255e9f11f975c310046b010bd6", + "git_blob": "ce4935f838516e2b08d13bec767cb803786fbc6b" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/controller.py", + "usage": "input", + "sha256": "fa09146991f6c04e6f4b6eb9bf0c8e103e70e90a0e402ff3d69814e6aac8ff8c", + "git_blob": "c631a9e77fbcccf0e8f448adc22978728aed7b60" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/counts.py", + "usage": "input", + "sha256": "00b476dbda0e8cc99886bf794439e1cb9e775f435f599a3557e99321fe084069", + "git_blob": "81b48940ce222290a40d4fb349ce827f4788469d" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/directory.py", + "usage": "input", + "sha256": "4270e370b2bfe38ef73aadcd97d1b3496b56bd582115d74331eb9e5ceb90bec7", + "git_blob": "c74cacf5ce809c0561d374f137a52df0992b4226" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/episode.py", + "usage": "input", + "sha256": "38f79cb2a370548471063952d5f7c74bd795a2a8496fdcf3ce0996d79e3adaff", + "git_blob": "30d11ff4f333813855d36da3eb5a1ab0e154bafe" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/forms.py", + "usage": "input", + "sha256": "1fdf9d31b7eb107c396e33f94dad61c9d3f2c709cae61178268a44ca80dbc0b4", + "git_blob": "6667c0b772a63f0059c7caffec63e0d919a92398" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/low_codes.py", + "usage": "input", + "sha256": "f657e17f6088c840e3f7783e662257630f6d2c1e71c217721ffbca4d6ac93e87", + "git_blob": "737edfc4a10f4b7b3b97a7cef4b40864efd806e6" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/matrices.py", + "usage": "input", + "sha256": "00b687434039b54529ee092e34f9435cfcd66e0816eb3bd2a6688c73f4e01459", + "git_blob": "5d497353efbb9eeaaf4facd96ab40ffb0f3aa20d" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/numeric.py", + "usage": "input", + "sha256": "7327b05c4ec3e0f6d9c352cc7de85bfd4ebe940482553e77c59a773a8c09c514", + "git_blob": "6d4ebca8398008375b8f4762d1a9f1514e8c2611" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/oracle.py", + "usage": "input", + "sha256": "7bd18089e32ce48085b5e3a75159f6a82cdb2649ec682c53db05e399d97aef67", + "git_blob": "244f131466698a3ace10b657242fe1f65c07fd1f" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/packet.py", + "usage": "input", + "sha256": "970e7fe0719e3dfe122b248941e6f21cd90d7dd62089fa6acbd0e5412ce083a5", + "git_blob": "ebc9b616514412b80c56d523776e6ba5d6766453" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/plan.py", + "usage": "input", + "sha256": "d9c8dc93762db4d3a449814aa51e2211460648694469854d89cb48cb04188cf3", + "git_blob": "48255d5454308c07635fae4e7eb4873b0bd2a4f8" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/records.py", + "usage": "input", + "sha256": "0c9c4b23e998597fb877bb1a29da69ac869b68262abe635b162b4dba9c69b372", + "git_blob": "4f00467a0ff580954ad2fd0c7380240c753ddef3" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/residual.py", + "usage": "input", + "sha256": "8fd24747cae498dfb2ba333e7f8a68d7315ae4c2d7530d8ca145aab95ede21df", + "git_blob": "3d070d2539a529f3b14ecb086a92a3db056229fe" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/routes.py", + "usage": "input", + "sha256": "ed7dc3679451696ab1dd841146b215c9515a3eec5e4ff3763f33c315f1696ada", + "git_blob": "35531201dc349a811dfabc6f1f6e64697d665194" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/selection.py", + "usage": "input", + "sha256": "bc8e371fb1fa0b41fb05ef0b34d0f4c317b2396f9833d91f44f95c2b54b4052b", + "git_blob": "2c28f1aaec104a75c4e6c170b3e6a60300ee6700" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/sources.py", + "usage": "input", + "sha256": "f102edc7816d742bd89db8097254c19b843d0ef5cf6758ad42e93bcc0b214c62", + "git_blob": "16d5e7e6a28018f1e2d76d61efe2d54f6a6941d4" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/stream.py", + "usage": "input", + "sha256": "c7dc7da5b00f27016982ada4c0416f8328568b00df16d97012f33d4b372d79b5", + "git_blob": "5e5a4bb0f98971447043e25d4dd6991bfc070389" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/stream_runner.py", + "usage": "input", + "sha256": "751c5023ca0e477369e448583961ace6a76db2723bb6c26f81203def539f1249", + "git_blob": "efff281d4c4be5c1378e31404fbcc634fe4ade59" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/trace.py", + "usage": "input", + "sha256": "c71ba11d793dde2ac6e4cdcf468482872975c34589bf1167f2a460cb8a74e984", + "git_blob": "bb845a90f5bcf006e683e581e385936208f6a1f4" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/words.py", + "usage": "input", + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9", + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/predecessor/verify.py", + "usage": "input", + "sha256": "cd83797d1f420f7e5de61c1a693110b4ee0c80bac0adae4699599046b7f76f8a", + "git_blob": "121acc1ff15ec85a8011e96eda2eb587608413b9" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/recursive_call.py", + "usage": "input", + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e", + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/scheduler.py", + "usage": "input", + "sha256": "0d96f7fbd6f90416167c5a52c0e3de942d1a0cae3d2968831932a9576701699f", + "git_blob": "60c2b6d065eba91dd5e0edb7a77fc087971eca3f" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/stream_runner.py", + "usage": "input", + "sha256": "b255feaf6cc6e40413ae73fe302bf8f290bf4dd89f4128b23a91cc9860601801", + "git_blob": "6ba5df130bb4a0fcb06b6c630830ae3a6922921b" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/trace.py", + "usage": "input", + "sha256": "3a664224c558244f606b603cad816d75e94a17c9b2620a06a1530e893dfceac2", + "git_blob": "4b002201ce54cdecec9acf4e874b7f71cd75fe71" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2753/verify.py", + "usage": "input", + "sha256": "65126e788eeea10e830fc583cf4afe0bfc4d67495cbf8ac21de3507dbe624d56", + "git_blob": "96be8f5859a3f3799344d46dec1ee68170d96bfa" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/NOTICE.md", + "usage": "input", + "sha256": "8640d1b52fd21e5b20e8109ce9c4957ca1e19a95e26a1c80d019a6e6f4d5f178", + "git_blob": "307c2da733f7f3a76e97c77e71072e811f40df02" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/PROOF.md", + "usage": "input", + "sha256": "fc9e7dcc5b385b6e508d6a6e9524b93059fa3e9fd5fcfb5eedbd85b3a54ba55e", + "git_blob": "7207ce7dec86694f01a3d9c049dcb87cc909e380" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/README.md", + "usage": "input", + "sha256": "6550a466bfafff2ca11740e931ed9fce062eb488f23e74edff7e4bbae8282bb1", + "git_blob": "c96e0d6cec56a9a5579ae159456fc15767315bc3" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/RESULT.json", + "usage": "input", + "sha256": "4406fec9515bb4206c75b681f046b5441319cf1ed39a13b9b0134696b1c192a7", + "git_blob": "b2d1889d77019e06ac0326ac91b1322340cf3866" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/SOURCES.json", + "usage": "input", + "sha256": "a6476b786632c2cbffabbe27eece790e378996c8b03eb17a01f1094f20fc4cdf", + "git_blob": "746393061c55f47412601e3d346e914762683e0c" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/TASK.json", + "usage": "input", + "sha256": "964d3a4fbfb53fd58936840328ac4b770b324c9e78f722861b1db04663110626", + "git_blob": "216dc8f8bcb33fe32d0eaccdadb0fe0383d73848" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/VERIFY.json", + "usage": "input", + "sha256": "f9e252e8ab255b49c3b18d4db76cc09ebd9fb61d599305e0aca8bf295189028d", + "git_blob": "6537be05745836106c753e1388ffc8b1bd23ce4c" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/checks.py", + "usage": "input", + "sha256": "98ffbd58881aa138b8dbae4d5722855ece2a5fdf7585e53978069ae9b064eb09", + "git_blob": "46630a7648b1c93530e9253872a19cce338929ff" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/codec.py", + "usage": "input", + "sha256": "5b9fda8136f7e60bece54e3fcc74f4ea0bec7145fa60e1ae3a4d252741b81fd3", + "git_blob": "9cd54d9417eb685dcd3f8293f01299ef9046ad31" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/vendor/parking_machine.py", + "usage": "input", + "sha256": "68134779debfb795468a1aaecbc2b9d321d7d4e451313ce7dc8fa7092561df4c", + "git_blob": "cafd614a3b7bc87b019361fcdf890ed976f26d19" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/vendor/pr2753_recursive_call.py", + "usage": "input", + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e", + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/vendor/words.py", + "usage": "input", + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9", + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50" + }, + { + "path": "research/selected-bit-physical-caller/inputs/pr2769/verify.py", + "usage": "input", + "sha256": "37f9e51e6c038a2493b4550e3cf0bd52621b6c20e115f0886406fc9909a82120", + "git_blob": "6be4f94eda9c96f4e7265a294f63e39309dcb0c6" + }, + { + "path": "research/selected-bit-physical-caller/loader.py", + "usage": "input", + "sha256": "4d8647f520b2967a0ca7dcadeb39d6ebabbce44df4193f609fef22911d0ae67b", + "git_blob": "4a0326c9af88626938645f288e559b5b97cb1787" + }, + { + "path": "research/selected-bit-physical-caller/macro_binding.py", + "usage": "input", + "sha256": "9ef31765d03d2c54fad9296f2ff0707a190ce169e44de4f0f45214e3c410c01a", + "git_blob": "c197eb6458be9374cb4684c654bfc99e619dcaf0" + }, + { + "path": "research/selected-bit-physical-caller/macro_checks.py", + "usage": "input", + "sha256": "0631b4d6b547a76d8ea4babd3465908b9efaa058503f8330140bcc8eb22a51cb", + "git_blob": "6a9226a647d095419840fd9d6696ffcef9827b0b" + }, + { + "path": "research/selected-bit-physical-caller/macro_code.py", + "usage": "input", + "sha256": "f626b018124747a5f17c1603bea36cd74c00a69a0647fd7b10e9c4e2964caea8", + "git_blob": "2f5f8ecfac6457171707b1b5ff02b5071954fcb7" + }, + { + "path": "research/selected-bit-physical-caller/macro_controls.py", + "usage": "input", + "sha256": "a5343faffadfdd9ea0e52d4c7c4ef24ba5e8d2dee86c8af27c094ad78944b845", + "git_blob": "b7c1d28dd47ff463df02ea97b5907a041c05bdde" + }, + { + "path": "research/selected-bit-physical-caller/macro_local_checks.py", + "usage": "input", + "sha256": "a9be60378d1282184632066b87cb044a8510b6623acf0df4dbf2f1bcd35cb830", + "git_blob": "421f9030f91f3ab309a9873928c09ba8a2ade580" + }, + { + "path": "research/selected-bit-physical-caller/macro_machine.py", + "usage": "input", + "sha256": "7bc6e42072a09a08ac961e05c3da01cde012d740d4b4c605f298d994f2ad7c5a", + "git_blob": "5a032e8923f7f8b22bb98f3e39b804beb9906c16" + }, + { + "path": "research/selected-bit-physical-caller/macro_selected_checks.py", + "usage": "input", + "sha256": "080e147837a4983a73e598af0cc97333e2cfb1d328f5190c9d4447a8bdbb4668", + "git_blob": "14f224e975fdd1a580088baf26e23ca44091a2f7" + }, + { + "path": "research/selected-bit-physical-caller/nested_bank_checks.py", + "usage": "input", + "sha256": "4c225e7d91c767b4cedcf9f9b5222875be948bf8b4ef03cedc4f46f1d570e9bb", + "git_blob": "c48f87429773e3b80719c209b4ad3f3977e3c41e" + }, + { + "path": "research/selected-bit-physical-caller/numerical_frame.py", + "usage": "input", + "sha256": "3fd62eda5d0b48bf31ea244708a77afdc6d16cf4fc9439d140ef422a38c7406c", + "git_blob": "dc92611dd5f131718806fa96470b8f3494e15e2a" + }, + { + "path": "research/selected-bit-physical-caller/residual_blocks.py", + "usage": "input", + "sha256": "ab7f3df8906decd2efecfb138eac1456c106bb520b2598761f699f80680d8331", + "git_blob": "fba75e7649cf77e352a75324495191bbd7853c22" + }, + { + "path": "research/selected-bit-physical-caller/role_parking.py", + "usage": "input", + "sha256": "1884a3c260d81d5efbc0c33d86a810d6728e55e5764cfcd423f858cc685470f3", + "git_blob": "fc48c244eefdbaa3e320e86c75a7d187cb5765ef" + }, + { + "path": "research/selected-bit-physical-caller/scratch_pool.py", + "usage": "input", + "sha256": "41f1eb93652b7174c3b02f95f70e1a9ce2e2aed0a729e725167c8f226e65d8db", + "git_blob": "0f22807c65d1bca374b905538512bf8c43702070" + }, + { + "path": "research/selected-bit-physical-caller/verify.py", + "usage": "input", + "sha256": "bfba14c842ea4d97bf160588abc061553d3e4eab66cd5f32b903e1a67e661aec", + "git_blob": "fbdc87b9f98dc7722db45a42a742c5569089eeeb" + }, + { + "path": "research/selected-bit-recursive-closure/PROOF.md", + "usage": "input", + "sha256": "74cc8de20f21acb5123fe2d20996fe0925ea6e51b3dec633bd5221fb719b3344", + "git_blob": "6c410cab5713979214a45835091fbeb9ee9b8531" + }, + { + "path": "upstream/build/sections/02-streams.tex", + "usage": "input", + "sha256": "606c80db61cad13aa0c3b6060dc4b88dbbe7ac60cdd831aa93f28d908fd09dab", + "git_blob": "088fceea1867abc76271d7efe7532b779fee9039" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0", + "git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5" + }, + { + "path": "research/physical-compiler-correspondence/README.md", + "usage": "input", + "sha256": "bb04d8a05f0fbda2df0dc653118524ecaace3d22dd924179574fc115524df901", + "git_blob": "1b542517f938ef64a25155f96214ba332d8ce623" + }, + { + "path": "research/physical-compiler-correspondence/owners.py", + "usage": "input", + "sha256": "220918b53e45c5992471bb2fd0a95e62f410679048f3517504c851077ee94845", + "git_blob": "3fdf157278aa00308df706e11fc4a9e428b05e66" + } + ], + "retained": [ + { + "path": "inputs/EXPECTED.json", + "bytes": 1118, + "sha256": "67d06bcb90d2307a11975d6b25107a695be477f168f2dc289b8484ba0b7e2de0", + "git_blob": "bc2585e1404402395a7c59ba6f6dde58b04e65a2", + "origin_commit": "a24f9ff95c12fd0b6792e3f710569237efd72db2", + "origin_path": "research/bit-p111-r437-gl464-470-20261018/EXPECTED.json" + }, + { + "path": "inputs/geometry.json.gz", + "bytes": 105558, + "sha256": "edcaebb35d313f403b2db45a2cf808617f921c83cf7a11dd5d74356570ede1a8", + "git_blob": "a01a33c4753955ec4707db9515cee82a567cc1cb", + "origin_commit": "125f5afad680ef128e386fa58e76eef5fadaa5d6", + "origin_path": "research/t385-r437-copy-audit/inputs/r437-geometry.json.gz" + }, + { + "path": "inputs/template.json.gz", + "bytes": 797946, + "sha256": "6e03c76f5a4227394ea57e901eb7e93f4d1ee411ccfecd483fd44ea043550494", + "git_blob": "f56efc7ca3648d2070b791d4551a3d77dd7fdde4", + "origin_commit": "125f5afad680ef128e386fa58e76eef5fadaa5d6", + "origin_path": "research/t385-r437-copy-audit/inputs/r437-template.json.gz" + }, + { + "path": "inputs/word.json.gz", + "bytes": 42280, + "sha256": "e432182d5b62c8bbefeb871fce30317234d707e5e18d4295e65ac21f7fd8365e", + "git_blob": "c558a221dd44cbdaa732a401f9876de4c096d4a7", + "origin_commit": "125f5afad680ef128e386fa58e76eef5fadaa5d6", + "origin_path": "research/t385-r437-copy-audit/inputs/r437-word.json.gz" + }, + { + "path": "adapter.py", + "bytes": 2963, + "sha256": "c1c054e5a2c650cfc267117b32896073e6735b93c5fbfb1defe6e379c4afab9e", + "git_blob": "276a9a0f436ba03e2a0bb1cd95d57ebc3cc3a290", + "origin_commit": "32af060614fefa9729c86370524c2e72265acd76", + "origin_path": "research/r437-oq4-caller-binding/adapter.py" + } + ], + "origin_heads": { + "current_R437": "a24f9ff95c12fd0b6792e3f710569237efd72db2", + "predecessor_adapter": "03c141ef1fd372cf42951488767537e55675c072", + "prior_complete_stream_audit": "125f5afad680ef128e386fa58e76eef5fadaa5d6", + "uniform_local_reduction": "364701494bc3d726806a15d4d1d4b547c1e0f9d5", + "current_adapter": "32af060614fefa9729c86370524c2e72265acd76" + }, + "retained_provenance": "Four immutable current R437 inputs and byte-exact PR3967 adapter retained locally. Origin commits identify credit and original bytes; replay uses retained files and canonical main inputs, not foreign Git object availability." +} diff --git a/research/r437-native-transport/TASK.json b/research/r437-native-transport/TASK.json new file mode 100644 index 000000000..2b5ff71fa --- /dev/null +++ b/research/r437-native-transport/TASK.json @@ -0,0 +1,85 @@ +{ + "schema_version": 1, + "task_id": "independent-moment", + "priority_revision": 6, + "base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "original_card": { + "id": "independent-moment", + "question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?", + "starting_points": [ + "certificates/selected-result.json", + "research/rank7-joint-endframes/README.md", + "docs/research/research-family-status.md" + ], + "methods": [ + "Independently reconstruct a coordinated frame/circuit change and its single-change control, then derive the complete rank and physical ledger.", + "Implement certified moment inequalities through a different exact enclosure method." + ], + "acceptance_gate": "Demonstrate independence, source binding, positive cases and semantic failure controls. Name the existing checks and the missing coverage. More digits or another equivalent evaluation of an unchanged root is not by itself new verification coverage.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read #2979 joint rank-7 end-frame proposal and the revision-6 evidence status. Its claimed kappa is not selected. Compare coordinated changes with the losing single-change controls and locate the complete physical ledger; an aggregate moment alone does not validate the mechanism.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Prioritize a bounded independent audit of #2979: reconstruct one joint group and its single-lowering control, check the declared frames/chronology, then trace changed children, idle widths and cleanup buffers into the complete invoice and both supplier caps. Choose one still-missing implication after checking existing audits. Stop with exact unresolved dependencies if full admission exceeds the session; do not launch a new lowering census on an unvalidated premise or substitute extra root digits for mechanism checking.", + "bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.", + "allowed_variations": [ + "Reconstruct either a source ledger or a numeric enclosure with a different method." + ], + "scope_change_triggers": [ + "Importing the primary function and calling its output independent verification.", + "Promoting #2979 from merged source archive to validated supplier solely from author PASS receipts or aggregate pricing." + ], + "overlap_terms": [ + "independent moment", + "rank histogram", + "exact enclosure", + "2979", + "rank7 joint endframes", + "paired extraction", + "joint lowering" + ] + }, + "scope_status": "refined", + "actual_scope": "Independently certify all current R437 dyadic charts and same-family owner pairs; prove uniform native/common fibre transport and disjoint packet scatter interface, with complete transport operation count.", + "scope_change_reason": "Explicit donor multi-agent continuation of the R437/OQ4 caller stream; this lane supplies the all-q owner separation condition needed by the separate compiler refinement lane.", + "bottleneck_link": "An exact finite identity and a price endpoint do not establish the arbitrary-complete-stream implementation contract or its normalization.", + "budget_minutes": 60, + "stop_rule": "One approximately 60-minute session from 2026-10-19 07:35UTC, finalquarter verification/publication; stop at the source-specific transport lemma and preserve primitive/residual/stock cost obligations.", + "outcome": "partial", + "evidence": "1,235 exact dyadic-unit chart determinants and 5,619 unit entry witnesses, extended by checked32-fold symmetry; typed uniform route and arbitrary-payload scatter proof; exact complete route/scan counts.", + "author": "Chris R (@Clear1nsight), with substantial OpenAI assistance", + "ai_assistance": "Substantial OpenAI Codex assistance in new implementation, execution and writing; no independent human or formal kernel review.", + "open_questions": [ + { + "question": "Can the complete current caller consume this source-specific owner separation lemma in a whole-program simulation?", + "why_it_matters": "The finite emitter omits the Driver dynamic uniqueness check; this lemma supplies that particular premise.", + "first_step": "Bind exact compile_owner directions, completed local residual and latest-family commit.", + "blocked_by": "Remaining residual/block/primitive semantics." + }, + { + "question": "What actual uniform completed route and visited-cell tariff is available for the original-width constructor?", + "why_it_matters": "The exact counts do not supply the numerical/stock coupling or a bound on all backing cells visited.", + "first_step": "Combine253728N(G+S)+379584NR with the actual root/history dimensions and allocator reserve.", + "blocked_by": "Original-width stock and primitive resource contracts." + } + ], + "freshness": { + "canonical_main": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "priority_revision": 6, + "entry_utc": "2026-10-19T07:35:00Z", + "PR3967_head": "32af060614fefa9729c86370524c2e72265acd76", + "PR3967_CI": "39215291431 allsuccess checked by coordinating parent before dispatch", + "R437_head": "a24f9ff95c12fd0b6792e3f710569237efd72db2", + "overlap_coverage": "Offline find_overlap has no usable remote snapshot; targeted live GitHub PR searches plus coordinating parent discussion/claim checks. No exhaustive novelty claim.", + "claim": "https://github.com/CrocSwap/integer-mult-bounds/pull/3967#issuecomment-6262146714", + "important_overlap": "PR2989 Nick Petalas head133cd8a7c5ce16a3d66e3372c5fdd9e88067d75b, merged canonical package physical-compiler-correspondence: old-source owner separation and conditional ordering already covered. Current result closes its chart-invertibility premise for current R437 and recertifies changed source.", + "submission_main": "20ecf2891d80b5acf18d980b2164fb44ea7faa90", + "submission_utc": "2026-10-19T07:49:55.739489+00:00" + } +} diff --git a/research/r437-native-transport/VALIDATION.md b/research/r437-native-transport/VALIDATION.md new file mode 100644 index 000000000..f867b9b15 --- /dev/null +++ b/research/r437-native-transport/VALIDATION.md @@ -0,0 +1,24 @@ +# Validation + +Canonical main was refreshed at entry and before submission, unchanged at +20ecf2891d80b5acf18d980b2164fb44ea7faa90, priority revision 6. + +The complete registered package replay passed under normal and optimized +CPython 3.12. Each command authenticated134 canonical inputs, four retained +R437 source files and the byte-exact PR3967 adapter, then regenerated the +full exact chart, owner-pair and transport-count receipt. Both invocations +ran all five semantic/predicate controls and the three actual native +chart 98 carry diagnostics. No assertion-dependent acceptance checks are +used by the new checker. + +The result is a source-specific dyadic algebra certificate and conditional +transport refinement. No full GL64 packet, ordinary root, local residual +permutation, native supplier, kernel proof or selected cold replay was run. +Hosted CI and publication-byte checks are reported separately in the PR. + +Commands: + +```sh +python3 scripts/research_package.py --package research/r437-native-transport --check-only +python3 -B scripts/research_package.py --package research/r437-native-transport +``` diff --git a/research/r437-native-transport/VERIFY.json b/research/r437-native-transport/VERIFY.json new file mode 100644 index 000000000..5e8cefd26 --- /dev/null +++ b/research/r437-native-transport/VERIFY.json @@ -0,0 +1,165 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "certificates/selected-result.json", + "research/community-hyperplane599-audit/pr589/bit589/v9/hosted/GLOBAL-TEMPLATE.json.gz", + "research/community-hyperplane599-audit/pr589/bit589/v9/nine/GEOMETRY.json", + "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz", + "research/pr589-five-helper-hosting/PROOF.md", + "research/pr589-five-helper-hosting/verify.py", + "research/recursive-parking-boundary/README.md", + "research/selected-bit-local-ring-sweeps/PROOF.md", + "research/selected-bit-physical-caller/PROOF.md", + "research/selected-bit-physical-caller/README.md", + "research/selected-bit-physical-caller/RESULT.json", + "research/selected-bit-physical-caller/SNAPSHOTS.json", + "research/selected-bit-physical-caller/SOURCES.json", + "research/selected-bit-physical-caller/TASK.json", + "research/selected-bit-physical-caller/VALIDATION.md", + "research/selected-bit-physical-caller/VERIFY.json", + "research/selected-bit-physical-caller/continuation_checks.py", + "research/selected-bit-physical-caller/frame_checks.py", + "research/selected-bit-physical-caller/inputs/pr2753/EVIDENCE.json", + "research/selected-bit-physical-caller/inputs/pr2753/PREDECESSOR.json", + "research/selected-bit-physical-caller/inputs/pr2753/PROOF.md", + "research/selected-bit-physical-caller/inputs/pr2753/README.md", + "research/selected-bit-physical-caller/inputs/pr2753/RESULT.json", + "research/selected-bit-physical-caller/inputs/pr2753/SOURCES.json", + "research/selected-bit-physical-caller/inputs/pr2753/TASK.json", + "research/selected-bit-physical-caller/inputs/pr2753/VALIDATION.md", + "research/selected-bit-physical-caller/inputs/pr2753/VERIFY.json", + "research/selected-bit-physical-caller/inputs/pr2753/bootstrap.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_layout.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_nested_model.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_recursion.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_runtime.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_sign.py", + "research/selected-bit-physical-caller/inputs/pr2753/check_sources.py", + "research/selected-bit-physical-caller/inputs/pr2753/consumer.py", + "research/selected-bit-physical-caller/inputs/pr2753/control_checks.py", + "research/selected-bit-physical-caller/inputs/pr2753/driver.py", + "research/selected-bit-physical-caller/inputs/pr2753/evidence/NOTICE.md", + "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2688-NOTICE.md", + "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2688-PROOF.md", + "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2708-README.md", + "research/selected-bit-physical-caller/inputs/pr2753/evidence/pr2731-README.md", + "research/selected-bit-physical-caller/inputs/pr2753/layout.py", + "research/selected-bit-physical-caller/inputs/pr2753/linear_sign.py", + "research/selected-bit-physical-caller/inputs/pr2753/node.py", + "research/selected-bit-physical-caller/inputs/pr2753/packet_engine.py", + "research/selected-bit-physical-caller/inputs/pr2753/peel.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/NOTICE.md", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/PROOF.md", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/README.md", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/RESULT.json", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/SOURCES.json", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/TASK.json", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/VERIFY.json", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/cardinal_counts.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/catalogue.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_headers.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_layout.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_runtime.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/check_sources.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/consumer.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/control.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/control_checks.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/driver.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/fresh_rows.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/layout.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/model.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/node.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/packet_engine.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/peel.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/topology.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/binding.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/bitstream.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/cardinality.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/check_support.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/children.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/controller.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/counts.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/directory.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/episode.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/forms.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/low_codes.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/matrices.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/numeric.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/oracle.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/packet.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/plan.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/records.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/residual.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/routes.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/selection.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/sources.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/stream.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/stream_runner.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/trace.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/vendor/words.py", + "research/selected-bit-physical-caller/inputs/pr2753/predecessor/verify.py", + "research/selected-bit-physical-caller/inputs/pr2753/recursive_call.py", + "research/selected-bit-physical-caller/inputs/pr2753/scheduler.py", + "research/selected-bit-physical-caller/inputs/pr2753/stream_runner.py", + "research/selected-bit-physical-caller/inputs/pr2753/trace.py", + "research/selected-bit-physical-caller/inputs/pr2753/verify.py", + "research/selected-bit-physical-caller/inputs/pr2769/NOTICE.md", + "research/selected-bit-physical-caller/inputs/pr2769/PROOF.md", + "research/selected-bit-physical-caller/inputs/pr2769/README.md", + "research/selected-bit-physical-caller/inputs/pr2769/RESULT.json", + "research/selected-bit-physical-caller/inputs/pr2769/SOURCES.json", + "research/selected-bit-physical-caller/inputs/pr2769/TASK.json", + "research/selected-bit-physical-caller/inputs/pr2769/VERIFY.json", + "research/selected-bit-physical-caller/inputs/pr2769/checks.py", + "research/selected-bit-physical-caller/inputs/pr2769/codec.py", + "research/selected-bit-physical-caller/inputs/pr2769/vendor/parking_machine.py", + "research/selected-bit-physical-caller/inputs/pr2769/vendor/pr2753_recursive_call.py", + "research/selected-bit-physical-caller/inputs/pr2769/vendor/words.py", + "research/selected-bit-physical-caller/inputs/pr2769/verify.py", + "research/selected-bit-physical-caller/loader.py", + "research/selected-bit-physical-caller/macro_binding.py", + "research/selected-bit-physical-caller/macro_checks.py", + "research/selected-bit-physical-caller/macro_code.py", + "research/selected-bit-physical-caller/macro_controls.py", + "research/selected-bit-physical-caller/macro_local_checks.py", + "research/selected-bit-physical-caller/macro_machine.py", + "research/selected-bit-physical-caller/macro_selected_checks.py", + "research/selected-bit-physical-caller/nested_bank_checks.py", + "research/selected-bit-physical-caller/numerical_frame.py", + "research/selected-bit-physical-caller/residual_blocks.py", + "research/selected-bit-physical-caller/role_parking.py", + "research/selected-bit-physical-caller/scratch_pool.py", + "research/selected-bit-physical-caller/verify.py", + "research/selected-bit-recursive-closure/PROOF.md", + "upstream/build/sections/02-streams.tex", + "research/physical-compiler-correspondence/README.md", + "research/physical-compiler-correspondence/owners.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 300, + "checks": "Exact current source authentication, all dyadic chart/pair certificates, actual native carry and semantic failure controls" + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "-O", + "{package}/verify.py" + ], + "timeout_seconds": 300, + "checks": "Same exact assertions-independent predicates under optimized Python" + } + ] +} diff --git a/research/r437-native-transport/adapter.py b/research/r437-native-transport/adapter.py new file mode 100644 index 000000000..276a9a0f4 --- /dev/null +++ b/research/r437-native-transport/adapter.py @@ -0,0 +1,63 @@ +"""Current OQ4 source binding, derived from zxv/PR3690's adapter. + +Reuse Jose Manuel/David Arias's canonical physical runtime without copying an +unrelated ordinary/T360 archive. Apache-2.0; substantial OpenAI Codex assistance. +""" +import gzip +import hashlib +import json +from pathlib import Path +import sys +import types + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +PHYSICAL = ROOT / 'research/selected-bit-physical-caller' +REQUEST_DIGEST = 'cbfea55f5cd0b74a2a0d4292ad0139d2b5bb73127951127698030bc90c73c532' + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def replacement(source, before, after, count): + require(source.count(before) == count, 'exact adaptation context: ' + before[:65]) + return source.replace(before, after) + + +def load(): + sys.path.insert(0, str(PHYSICAL)) + import loader + loader.activate() + import catalogue, topology + expected = json.loads((HERE / 'inputs/EXPECTED.json').read_bytes()) + paths = {name: HERE / ('inputs/' + name + '.json.gz') + for name in ('word', 'template', 'geometry')} + for name, field in [('word','word_content_sha256'), ('template','template_content_sha256')]: + require(hashlib.sha256(gzip.decompress(paths[name].read_bytes())).hexdigest() + == expected[field], 'current R437 ' + name + ' identity') + require(expected['profile'].get('26') == 32 and '34' not in expected['profile'], + 'current OQ4 profile, not predecessor rank34') + original = Path(catalogue.__file__).read_text() + source = replacement(original, 'private=661', 'private=659', 1) + source = replacement(source, '==661', '==659', 3) + source = replacement(source, 'self.old.WORD,self.old.HOST,self.old.GEO', + "R437_PATHS['word'],R437_PATHS['template'],R437_PATHS['geometry']", 1) + source = replacement(source, 'expected={int(k):v for k,v in self.old.read("research/e8-bit-p111-tuned/tune/EXPECTED.json")["nine"]["profile"].items()}', + 'expected={int(k):v for k,v in R437_EXPECTED["profile"].items()}', 1) + source = replacement(source, '==904896', '==903456', 1) + source = replacement(source, '"f5a4fb124709adc4b56376a3146e3609e91c0f4d3ed1931a61785a5d99bf8ee7"', + 'R437_REQUEST_DIGEST', 1) + module = types.ModuleType('oq4_catalogue') + module.__file__ = str(HERE / 'adapter.py') + module.R437_PATHS, module.R437_EXPECTED = paths, expected + module.R437_REQUEST_DIGEST = REQUEST_DIGEST + sys.modules[module.__name__] = module + exec(compile(source, '', 'exec'), module.__dict__) + value = module.Catalogue(3) + code = replacement(Path(topology.__file__).read_text(), '==661', '==659', 1) + topo = types.ModuleType('oq4_topology') + sys.modules[topo.__name__] = topo + exec(compile(code, '', 'exec'), topo.__dict__) + return value, topo.SelectedTopology(value) diff --git a/research/r437-native-transport/check_transport.py b/research/r437-native-transport/check_transport.py new file mode 100644 index 000000000..5bd3c8a38 --- /dev/null +++ b/research/r437-native-transport/check_transport.py @@ -0,0 +1,208 @@ +"""Independent dyadic chart and packet separation certificates for R437/OQ4. + +Chris R / Clear1nsight with substantial OpenAI Codex assistance. Apache-2.0. +The source catalogue is reused; exact determinant and separation checks are new. +""" +from collections import Counter, defaultdict +from fractions import Fraction as F +from hashlib import sha256 +import json +from pathlib import Path +import sys + +HERE = Path(__file__).resolve().parent + +def need(ok, message): + if not ok: + raise ValueError(message) + +def power_two(n): + return n > 0 and n & (n - 1) == 0 + +def dyadic(x): + return power_two(F(x).denominator) + +def dyadic_unit(x): + x = F(x) + return power_two(abs(x.numerator)) and power_two(x.denominator) + +def determinant(matrix): + """Exact elimination independent of predecessor chart/inverse routines.""" + a = [list(map(F, row)) for row in matrix] + n, result = len(a), F(1) + need(all(len(row) == n for row in a), 'square determinant') + for col in range(n): + pivot_row = next((i for i in range(col, n) if a[i][col]), None) + if pivot_row is None: + return F(0) + if pivot_row != col: + a[pivot_row], a[col] = a[col], a[pivot_row] + result = -result + pivot = a[col][col] + result *= pivot + for i in range(col + 1, n): + if not a[i][col]: + continue + factor = a[i][col] / pivot + for j in range(col + 1, n): + if a[col][j]: + a[i][j] -= factor * a[col][j] + a[i][col] = F(0) + return result + +def distinguishing_entry(a, b): + for i, (ra, rb) in enumerate(zip(a, b)): + for j, (x, y) in enumerate(zip(ra, rb)): + if dyadic_unit(x - y): + return i, j, str(x - y) + raise ValueError('no universally nonzero dyadic-unit chart witness') + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')) + +def reconstructed_chart(chart, geometry): + """Sparse coordinate specification; no catalogue matrix/route functions.""" + entries = {(i, i): F(1) for i in range(64)} + if chart.kind == 'data' and chart.stage: + axes = tuple(range(8)) + tuple(range(8 + 7*(chart.stage-1), 8 + 7*chart.stage)) + rho = geometry['ports'][chart.port]['rho15'] + for i, a in enumerate(axes): + for j, b in enumerate(axes): + entries[a,b] = F(rho[i][j]) + elif chart.kind == 'family' or chart.kind == 'host' and chart.port >= 0: + port = geometry['ports'][chart.port] + for i in range(8): + entries[i,0] = F(port['q'][i], 2) + for j in range(1,8): + entries[i,j] = F(port['complement_columns'][i][j-1]) + else: + need(chart.kind in ('identity','host','data'), 'known chart label') + if chart.kind == 'host': + support, native = set(chart.axes), set(range(8)) + need(len(support) == 8, 'eight owner axes') + exchanges = dict() + for a,b in zip(sorted(native-support), sorted(support-native)): + exchanges[a], exchanges[b] = b,a + entries = {(i, exchanges.get(j,j)): x for (i,j),x in entries.items()} + return tuple(tuple(entries.get((i,j),F(0)) for j in range(64)) for i in range(64)) + +def source_certificate(): + import adapter + catalogue, topology = adapter.load() + charts = sorted(catalogue.charts, key=lambda x: canonical(x.key)) + chart_ids = {chart: i for i, chart in enumerate(charts)} + matrices, determinants, chart_rows = {}, Counter(), [] + for chart in charts: + matrix = reconstructed_chart(chart, catalogue.geometry) + need(matrix == catalogue.chart_matrix(chart), 'independent exact chart reconstruction') + need(all(dyadic(x) for row in matrix for x in row), 'dyadic chart entries') + det = determinant(matrix) + need(dyadic_unit(det), 'unit determinant at every odd modulus') + matrices[chart] = matrix + determinants[str(det)] += 1 + chart_rows.append([chart.key, str(det)]) + witnesses, difference_counts, stage_counts = [], Counter(), [] + for stage in range(9): + call = topology.call(stage,0) + groups = defaultdict(list) + for role,owner in enumerate(call.owners): + groups[owner.family].append((role,owner.chart)) + before = len(witnesses) + for family, roles in sorted(groups.items()): + for a, (role_a, chart_a) in enumerate(roles): + for role_b,chart_b in roles[:a]: + entry = distinguishing_entry(matrices[chart_a],matrices[chart_b]) + difference_counts[entry[2]] += 1 + witnesses.append([stage,family,role_a,role_b,chart_ids[chart_a],chart_ids[chart_b],*entry]) + stage_counts.append(len(witnesses)-before) + # Check the precise replica reduction, not only an aggregate histogram. + for replica in range(32): + other = topology.call(stage,replica) + need(len(other.owners)==len(call.owners)==659, 'current complete role inventory') + need(all(o.chart==b.chart and o.family==b.family+888*replica + for o,b in zip(other.owners,call.owners)), 'all actual replica owner labels') + # A source-specific carry control at actual native IDLE27776/chart98. + idle = catalogue.requests[27776] + need(idle.kind == 'IDLE' and idle.base.rank == 26 and idle.chart.port == 98, + 'actual rank26 native chart') + sigma = matrices[idle.chart] + carry_cases = [] + for q,w in ((3,2),(5,3),(7,4)): + modulus = q**w + reduced = tuple(tuple(x.numerator*pow(x.denominator,-1,modulus)%modulus + for x in row) for row in sigma) + low = tuple(tuple(x.numerator*pow(x.denominator,-1,q)%q + for x in row) for row in sigma) + # Raw native identity has zero high digits, but rational chart entries carry. + high = tuple(tuple((x-y)//q for x,y in zip(a,b)) for a,b in zip(reduced,low)) + need(all((x-y)%q == 0 and 0 <= h < q**(w-1) + for a,b,c in zip(reduced,low,high) for x,y,h in zip(a,b,c)), + 'complete canonical raw-to-high quotient') + nonzero = sum(x != 0 for row in high for x in row) + need(nonzero > 0, 'low-only chart retag loses actual native carry') + carry_cases.append({'q':q,'w':w,'nonzero_high_entries':nonzero, + 'raw_identity_high_zero':True}) + receipt = catalogue.receipt() + kinds = receipt['request_kinds'] + local_roles = 9*32*659 + idles = kinds['IDLE']*32 + counts = { + 'local_gathers_per_low_class':local_roles, + 'local_scatters_per_low_class':local_roles, + 'local_routes_per_low_class':2*local_roles, + 'idle_gathers_per_low_class':idles, + 'idle_scatters_per_low_class':idles, + 'all_family_scans_per_low_class':2*(local_roles+idles), + } + need(receipt['binding_sha256']==adapter.REQUEST_DIGEST,'current complete source binding') + need(len(charts)==1235 and len(witnesses)==5619,'frozen chart and pair inventory') + return { + 'status':'PASS_CURRENT_R437_UNIFORM_OWNER_SEPARATION', + 'request_binding_sha256':receipt['binding_sha256'], + 'chart_labels':len(charts),'determinants':dict(sorted(determinants.items())), + 'chart_certificate_sha256':sha256(canonical(chart_rows).encode()).hexdigest(), + 'canonical_same_family_pairs':len(witnesses),'replicated_same_family_pairs':32*len(witnesses), + 'per_stage_pairs':stage_counts,'witness_differences':dict(sorted(difference_counts.items())), + 'witness_sha256':sha256(canonical(witnesses).encode()).hexdigest(), + 'request_kinds':kinds,'complete_transport_counts':counts, + 'actual_native_carry_controls':carry_cases, + 'quantifier':'Every odd prime q, every w>=1, every invertible common low, every high lift; algebraic owner/route interface only.', + 'full_GL64_physical_execution':False,'supplier_admission':False, + } + +def finite_controls(): + identity = ((F(1),F(0)),(F(0),F(1))) + swap = ((F(0),F(1)),(F(1),F(0))) + need(determinant(identity)==1 and determinant(swap)==-1,'determinant positive controls') + rejected = [] + for label, action in [ + ('same_family_duplicate_chart',lambda:distinguishing_entry(identity,identity)), + ('odd_prime_determinant',lambda:need(dyadic_unit(determinant(((3,0),(0,1)))),'odd determinant rejected')), + ('odd_denominator',lambda:need(dyadic(F(1,3)),'odd denominator rejected')), + ('difference_vanishes_mod_3',lambda:distinguishing_entry(identity,((F(4),F(0)),(F(0),F(1))))), + ]: + try: action() + except ValueError: rejected.append(label) + else: raise ValueError('control accepted: '+label) + # Disjoint writes into the latest family compose; stale snapshots lose writes. + original = [0,1,1,0,0,1] + def scatter(state, index, values): + result = state[:];result[2*index:2*index+2] = values;return result + latest = scatter(scatter(original,0,[1,1]),2,[0,0]) + stale = scatter(original,2,[0,0]) + need(latest == [1,1,1,0,0,0] and stale != latest,'stale scatter semantic control') + rejected.append('stale_scatter_snapshot') + return rejected + +def main(): + result = source_certificate() + result['controls'] = finite_controls() + target = HERE/'RESULT.json' + if '--write' in sys.argv: + target.write_text(json.dumps(result,indent=2,sort_keys=True)+'\n') + else: + need(json.loads(target.read_text())==result,'frozen exact transport receipt') + print(json.dumps(result,sort_keys=True)) + +if __name__ == '__main__': + main() diff --git a/research/r437-native-transport/inputs/EXPECTED.json b/research/r437-native-transport/inputs/EXPECTED.json new file mode 100644 index 000000000..bc2585e14 --- /dev/null +++ b/research/r437-native-transport/inputs/EXPECTED.json @@ -0,0 +1,34 @@ +{ + "word_gzip_sha256": "e432182d5b62c8bbefeb871fce30317234d707e5e18d4295e65ac21f7fd8365e", + "word_content_sha256": "da77deaf11368d016622348227657b98404b6afbc7e4f3d6fe9a246baae0dcce", + "records_sha256": "caeb2eb0e417992788c32c1f5812ada60b46d1dfdba9f4ac376299b2dede13cb", + "template_content_sha256": "c425a64739981b3ae3ed6b36d1a2f42c2d35e93f007649e89d4c677d8e158fe5", + "program_sha256": "a777373994bd84681d6c2be75251ba6a04a1521580910f23afe09bb50db632b2", + "profile": { + "1": 380160, + "2": 400864, + "3": 22176, + "4": 26592, + "5": 29376, + "6": 17376, + "7": 26496, + "26": 32, + "42": 384 + }, + "live": 28416, + "physical": 28425, + "rank_mass": 1808352, + "deficit": 10272, + "emitted_events": 7814016, + "hosted_residuals": 125856, + "BIT_c": "1736646042038446578551/1000000000000000000000000", + "BIT_c_decimal": "0.001736646042038446578551", + "next_grid": "217080755254805822319/125000000000000000000000", + "invoice": { + "prefix_bits": 177, + "charged_prefix": 192, + "two_level_bits": 393, + "charged_two_level": 512, + "ROW": 18355 + } +} diff --git a/research/r437-native-transport/inputs/geometry.json.gz b/research/r437-native-transport/inputs/geometry.json.gz new file mode 100644 index 000000000..a01a33c47 Binary files /dev/null and b/research/r437-native-transport/inputs/geometry.json.gz differ diff --git a/research/r437-native-transport/inputs/template.json.gz b/research/r437-native-transport/inputs/template.json.gz new file mode 100644 index 000000000..f56efc7ca Binary files /dev/null and b/research/r437-native-transport/inputs/template.json.gz differ diff --git a/research/r437-native-transport/inputs/word.json.gz b/research/r437-native-transport/inputs/word.json.gz new file mode 100644 index 000000000..c558a221d Binary files /dev/null and b/research/r437-native-transport/inputs/word.json.gz differ diff --git a/research/r437-native-transport/verify.py b/research/r437-native-transport/verify.py new file mode 100644 index 000000000..8dc4786b9 --- /dev/null +++ b/research/r437-native-transport/verify.py @@ -0,0 +1,38 @@ +"""Read-only, source-authenticated replay; no foreign Git objects required.""" +from hashlib import sha1, sha256 +import json +from pathlib import Path +import sys + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +sys.path.insert(0,str(HERE)) +from check_transport import need, main + +def regular(path): + need(path.is_file(), 'regular source file: '+str(path)) + need(all(not part.is_symlink() for part in (path,*path.parents)), 'no source symlink') + +def authenticate(): + sources = json.loads((HERE/'SOURCES.json').read_text()) + need(sources['base_commit']=='20ecf2891d80b5acf18d980b2164fb44ea7faa90','canonical base') + for row in sources['files']: + if row['usage']!='input': + continue + path=ROOT/row['path']; regular(path); data=path.read_bytes() + need(sha256(data).hexdigest()==row['sha256'] and + sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest()==row['git_blob'], + 'canonical source identity: '+row['path']) + expected=set() + for row in sources['retained']: + path=HERE/row['path']; regular(path);data=path.read_bytes();expected.add(row['path']) + need(len(data)==row['bytes'] and sha256(data).hexdigest()==row['sha256'] and + sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest()==row['git_blob'], + 'retained source identity: '+row['path']) + observed={f.relative_to(HERE).as_posix() for f in (HERE/'inputs').rglob('*') if f.is_file()} + need(expected==observed|{'adapter.py'},'complete retained source inventory') + need('--write' not in sys.argv,'registered verification is read-only') + +if __name__ == '__main__': + authenticate() + main()