Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
274 changes: 221 additions & 53 deletions blueprints/us-equities/event-anchored-ranking/R3-VERIFY.py

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions blueprints/us-equities/event-anchored-ranking/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ Purchase remains the owner's decision. The former 2017 vendor question is unnece

`ROW14-SUBMISSION-R3.json` joins the current hashes. `SHA256SUMS` binds every candidate member, with identical `.R3`/`.R3B` carriers. The existing `R3-VERIFY.py` adds internal JSON/reference/status consistency to native `sha256sum --check`; these are structural integration checks, not source truth, designated reviewer PASS, upstream strategy execution or data acceptance. Historical runtime receipts remain historical.

R3-F2 hardens that local check before freeze. Binding digests must be 64 lowercase hexadecimal characters. All 17 current-packet normative joins are required at their declared target, including the five protocol contracts, registry exclusion contract and ROW's four contracts plus separate logit/runtime/protocol/registry/verifier references. Both alternate carriers are required and must equal `SHA256SUMS`. Missing files, filesystem probe failures, malformed JSON/UTF-8 and invalid required structure return a JSON `FAIL` diagnostic rather than a traceback. The verifier emits JSON and exits 0 on `PASS` or 1 on verification `FAIL`. The internal-binding count is the number of distinct source-file/digest-pointer locations: the current packet has 17, correcting the former 27 repeated checks. Valid optional historical/external references remain unverified boundaries; the two explicitly unfilled PIT-04 inputs remain unaccepted null placeholders. No external source is opened by this check.

The regression module `tests.test_r3_verify` mutates copies of the published metadata packet, rebuilding unrelated carrier bindings to isolate each failure path. It also checks the real CLI's JSON/nonzero-exit behavior. These are synthetic integration checks through the CPython `unittest` harness, not upstream scientific acceptance. Sources: [CPython v3.13.16 json](https://github.com/python/cpython/blob/v3.13.16/Lib/json/__init__.py), [decoder](https://github.com/python/cpython/blob/v3.13.16/Lib/json/decoder.py), [hashlib](https://github.com/python/cpython/blob/v3.13.16/Lib/hashlib.py), and the packet's normative path/digest fields at native-agent-stack commit `36e36ea498e23ffd5bfc103035a2da883a6a08e4`. The new head requires J8, both designated reads and the CC's later cue; this hardening does not freeze the protocol or close any data/identity gate.

Sources: the parent private protocol SHA256 `bc8ec9b89b73612b69e6c50f8ecdfe45c26a87c0d24e252f94572fc90f802b55`; the dated CC item SHA256 `5a2458c02430f45367df90a57f65d35885c8ddf633a09315c97dfae0b8615370`; design answer `b5f1415dfbfbb0948eda0dfa8ec722b2695244c29cf064c5ce9f694400eb8e2f`; revised source list `7175bfaaf0adfb33a7b059a6da0f27bd679a4b12ffb4db88555ae05461b325c3`; primary sample record `a9b08269a9f8a6bd7402fd694d5e82404978db39a33856601c0edd008b11ca0b`. Repository protocol/versioning precedent is [catalyst-experiment](../catalyst-experiment/README.md) and [mover-early-entry](../mover-early-entry/README.md). Native calendar source is [gerrymanoim/exchange_calendars](https://github.com/gerrymanoim/exchange_calendars), installed pin4.13.2, `ExchangeCalendar.sessions_in_range`; source analysis remains distinct from accepted delivered data.

The co-op schedules both designated R3 reads on the resulting full PR head and carrier. A candidate commit is a review input, not a freeze. Keep this PR draft; the CC cue through 5f owns any later frozen publication/landing. Prior draft #867 and prior verdicts do not accept this successor.
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@
},
"verifier": {
"path": "R3-VERIFY.py",
"sha256": "8d86e1d3cc517c549ad4f7b9dff660a50bc95cc3804822989b1d72086b9f5018",
"source": "CPython3.12.3json.load/hashlib.file_digest; nativeuutils0.10.0sha256sumtextcarrier; smallstructuraljoinglueforCC-R3-1,notupstreamtest/A-B/E2Erunner"
"sha256": "069b02a4fe697606207390daf7e91bedbaca82fe03507a64a85f75144a3becbf",
"source": "CPython 3.13.16 json.loads/hashlib.sha256, json.JSONDecodeError, pathlib/OSError and re.fullmatch; native uutils-coreutils 0.10.0 sha256sum text carrier. Small structural join glue for CC-R3-1 at native-agent-stack@36e36ea498e23ffd5bfc103035a2da883a6a08e4, hardened by R3-F2. Local structural checks and synthetic unittest mutations; not an upstream test, A/B or E2E runner or scientific acceptance."
},
"withdrawn_early_attempt_used": false
}
Expand Down
6 changes: 3 additions & 3 deletions blueprints/us-equities/event-anchored-ranking/SHA256SUMS
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ b26bf0fac3102f5aae6477dcb5f19ee0844c2a7e2b22d74390879eb7ab51d644 R2-LOGIT-OPERA
71229fdb6204dc10fbc7d8a109e9bb6e513f569c7809906748a559937c91ab1b R2-SURVIVORSHIP.json
1a29f1572326dca40c853d3b7fbc26bc9dd12388262ef50ee38e13246dd821ff R3-RUNTIME-ACCEPTANCE.json
95cb1caebc07e725fa46c6408ae31ea0e4806b14ec75416ab999b18df143e56b R3-RUNTIME-LOCK-VERIFICATION.json
8d86e1d3cc517c549ad4f7b9dff660a50bc95cc3804822989b1d72086b9f5018 R3-VERIFY.py
37ce6de89c5a6ce5ff8032942e6efb2ade0f755818cfa8e924749880c168a7be README.md
5252d7243f0ad5606a80c56f9dec364f03bd7ecfd84a1d45c5f290eabfcf22aa ROW14-SUBMISSION-R3.json
069b02a4fe697606207390daf7e91bedbaca82fe03507a64a85f75144a3becbf R3-VERIFY.py
9ee17075fef0a2d78267e33e78845d7648f0f0c1098320e03573ddfe236a0b57 README.md
5559c0d0c8ea47013b0767906f06fd3caaa9976a95d0431a94a5890e02e0d017 ROW14-SUBMISSION-R3.json
a64e61cccb5db24c51326364961ebeb630e6da1983732aae369d5e6be1a9c55d inspection-registry.draft.json
65be1aab008e52670a3611ddb6221b1c00422c8b68ea519d61aeaa9e301063c5 protocol.draft.json
6 changes: 3 additions & 3 deletions blueprints/us-equities/event-anchored-ranking/SHA256SUMS.R3
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ b26bf0fac3102f5aae6477dcb5f19ee0844c2a7e2b22d74390879eb7ab51d644 R2-LOGIT-OPERA
71229fdb6204dc10fbc7d8a109e9bb6e513f569c7809906748a559937c91ab1b R2-SURVIVORSHIP.json
1a29f1572326dca40c853d3b7fbc26bc9dd12388262ef50ee38e13246dd821ff R3-RUNTIME-ACCEPTANCE.json
95cb1caebc07e725fa46c6408ae31ea0e4806b14ec75416ab999b18df143e56b R3-RUNTIME-LOCK-VERIFICATION.json
8d86e1d3cc517c549ad4f7b9dff660a50bc95cc3804822989b1d72086b9f5018 R3-VERIFY.py
37ce6de89c5a6ce5ff8032942e6efb2ade0f755818cfa8e924749880c168a7be README.md
5252d7243f0ad5606a80c56f9dec364f03bd7ecfd84a1d45c5f290eabfcf22aa ROW14-SUBMISSION-R3.json
069b02a4fe697606207390daf7e91bedbaca82fe03507a64a85f75144a3becbf R3-VERIFY.py
9ee17075fef0a2d78267e33e78845d7648f0f0c1098320e03573ddfe236a0b57 README.md
5559c0d0c8ea47013b0767906f06fd3caaa9976a95d0431a94a5890e02e0d017 ROW14-SUBMISSION-R3.json
a64e61cccb5db24c51326364961ebeb630e6da1983732aae369d5e6be1a9c55d inspection-registry.draft.json
65be1aab008e52670a3611ddb6221b1c00422c8b68ea519d61aeaa9e301063c5 protocol.draft.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ b26bf0fac3102f5aae6477dcb5f19ee0844c2a7e2b22d74390879eb7ab51d644 R2-LOGIT-OPERA
71229fdb6204dc10fbc7d8a109e9bb6e513f569c7809906748a559937c91ab1b R2-SURVIVORSHIP.json
1a29f1572326dca40c853d3b7fbc26bc9dd12388262ef50ee38e13246dd821ff R3-RUNTIME-ACCEPTANCE.json
95cb1caebc07e725fa46c6408ae31ea0e4806b14ec75416ab999b18df143e56b R3-RUNTIME-LOCK-VERIFICATION.json
8d86e1d3cc517c549ad4f7b9dff660a50bc95cc3804822989b1d72086b9f5018 R3-VERIFY.py
37ce6de89c5a6ce5ff8032942e6efb2ade0f755818cfa8e924749880c168a7be README.md
5252d7243f0ad5606a80c56f9dec364f03bd7ecfd84a1d45c5f290eabfcf22aa ROW14-SUBMISSION-R3.json
069b02a4fe697606207390daf7e91bedbaca82fe03507a64a85f75144a3becbf R3-VERIFY.py
9ee17075fef0a2d78267e33e78845d7648f0f0c1098320e03573ddfe236a0b57 README.md
5559c0d0c8ea47013b0767906f06fd3caaa9976a95d0431a94a5890e02e0d017 ROW14-SUBMISSION-R3.json
a64e61cccb5db24c51326364961ebeb630e6da1983732aae369d5e6be1a9c55d inspection-registry.draft.json
65be1aab008e52670a3611ddb6221b1c00422c8b68ea519d61aeaa9e301063c5 protocol.draft.json
23 changes: 14 additions & 9 deletions manifests/evidence.json
Original file line number Diff line number Diff line change
Expand Up @@ -15497,32 +15497,32 @@
},
{
"path": "blueprints/us-equities/event-anchored-ranking/R3-VERIFY.py",
"sha256": "8d86e1d3cc517c549ad4f7b9dff660a50bc95cc3804822989b1d72086b9f5018",
"bytes": 6744
"sha256": "069b02a4fe697606207390daf7e91bedbaca82fe03507a64a85f75144a3becbf",
"bytes": 14430
},
{
"path": "blueprints/us-equities/event-anchored-ranking/README.md",
"sha256": "37ce6de89c5a6ce5ff8032942e6efb2ade0f755818cfa8e924749880c168a7be",
"bytes": 5519
"sha256": "9ee17075fef0a2d78267e33e78845d7648f0f0c1098320e03573ddfe236a0b57",
"bytes": 7377
},
{
"path": "blueprints/us-equities/event-anchored-ranking/ROW14-SUBMISSION-R3.json",
"sha256": "5252d7243f0ad5606a80c56f9dec364f03bd7ecfd84a1d45c5f290eabfcf22aa",
"bytes": 13494
"sha256": "5559c0d0c8ea47013b0767906f06fd3caaa9976a95d0431a94a5890e02e0d017",
"bytes": 13746
},
{
"path": "blueprints/us-equities/event-anchored-ranking/SHA256SUMS",
"sha256": "a920411fe56e9bb86b41d0d9d785625fefd66ca66833fa4fdb1200e267b3b775",
"sha256": "6c915c70c259992eb5f6dbbdb0ce5aeb0bc784c08e92a3717c9a79d4c7ab48b0",
"bytes": 1056
},
{
"path": "blueprints/us-equities/event-anchored-ranking/SHA256SUMS.R3",
"sha256": "a920411fe56e9bb86b41d0d9d785625fefd66ca66833fa4fdb1200e267b3b775",
"sha256": "6c915c70c259992eb5f6dbbdb0ce5aeb0bc784c08e92a3717c9a79d4c7ab48b0",
"bytes": 1056
},
{
"path": "blueprints/us-equities/event-anchored-ranking/SHA256SUMS.R3B",
"sha256": "a920411fe56e9bb86b41d0d9d785625fefd66ca66833fa4fdb1200e267b3b775",
"sha256": "6c915c70c259992eb5f6dbbdb0ce5aeb0bc784c08e92a3717c9a79d4c7ab48b0",
"bytes": 1056
},
{
Expand Down Expand Up @@ -58550,6 +58550,11 @@
"sha256": "ac1a31d28a737ca208d58595173e2f57ef43828088dc0c4e286de3c95f76d4ab",
"bytes": 20781
},
{
"path": "tests/test_r3_verify.py",
"sha256": "16d60855563eea73ada829dc96f91cd7cc7dcc3d3754b8f192a2c17304f4b23b",
"bytes": 23418
},
{
"path": "tests/test_receipt_staleness.py",
"sha256": "3bf62e631f72fc93740f4ebf361fd76d0da5c9b1743e7ba65542bea640e37fae",
Expand Down
Loading
Loading