feat(distill): bump the contract pin to 4bc31563, nine days of drift - #141
wallscaler wants to merge 1 commit into
Conversation
Nothing was advancing this pin. It sat at b2ad1edd (2026-08-05) while cathedral-distill moved 52 commits across 71 files to 4bc31563 (2026-08-14). The two open PRs that claimed to pin the current contract both pointed at commits OLDER than what main already had (63ae4802 and 6203fc18, both 2026-08-04) and would have moved the pin backwards. Closed as stale. What the gap was hiding, in launch terms: the tournament inputs our vendored adapter already reads (nonce + dispatched_units, distill#114) and the sealed-corpus tooling gate 4 depends on (reseal_task.py, distill#122).
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
CI found the incompatibility, and it is a deliberate oneIntegration lane, 3.11 and 3.12 all fail on the same thing. Publisher suite passes. This is not the bump breaking something. It is distill#99 ("prove the attested-receipt admission path and gate unattested epochs at export") doing its job: the newer build refuses to export an epoch whose score DB cannot show attestation was enforced. Our harness builds exactly such an epoch. # tests/thin/test_cybergym_prelaunch_e2e.py:300
attestation_required=False,
# :356 -- mark_epoch records state/scored_miners/at, and nothing about enforcement
score_store.mark_epoch(SOURCE_EPOCH, state=EPOCH_CLOSED, scored_miners=1, at=...)The decision is yours, @ai-hpc, because the two options mean different thingsA. Pass B. Make the harness record enforcement and close an attested epoch. More work, and it makes a test named I lean B on the name alone: if this is the prelaunch E2E and gate 2 is about proving one contract end to end, an E2E that opts out of the attestation gate proves less than its name claims. But A is legitimate if this test's job is transport plumbing and the attested path is covered elsewhere, which you would know and I do not. I have deliberately not picked. Choosing A silently would weaken a launch gate's evidence in a PR whose stated scope is a version bump. Everything else about the bump is cleanPublisher suite passes, which covers the vendored tournament adapter against the new contract. The lockstep assertion ( |
@ai-hpc please review. This is the distill integration PR; #138, #139 and #140 are closed as stale.
The state I found
Nothing was advancing the distill pin:
Worse, the two open PRs whose stated job was "pin the current distill contract" both pointed backwards:
63ae48026203fc18Both were current when written.
mainpassed them, nobody re-checked, and merging either would have regressedDISTILL_CONTRACT_COMMITand the integration extra. Closed rather than merged.I also closed #138 (tournament lane): rebased onto
mainit is empty.cybergym_tournament.py,mechanism_cybergym_adapter.pyand its tests are already there.Why this one matters for launch
Two things in the gap bear directly on #107:
nonce+dispatched_unitsin the score report. Those are exactly the tournament inputs our vendored adapter already reads and treats as optional. Until the pin moves, the producer side of that contract is not what we are compiled against.reseal_task.py, re-sealing bugs into admission-passing private tasks. That is gate 4 tooling, and gate 4 is currently the least evidenced of the four.Also in the 52: the trustless receipt gate (#113), attested-receipt admission with unattested epochs gated at export (#99), and the reference-miner canary for sealed corpora (#124).
Change
Two lines, kept in lockstep as
test_integration_admission_gates.py:42requires:pyproject.tomlintegration extracathedral_thin/integration.pyDISTILL_CONTRACT_COMMITPlus the pin comment, which still described what b2ad1edd added as though it were current.
What I cannot vouch for
I have not read all 52 commits. This bump is deliberately mechanical, and the Integration lane is the actual reviewer: it installs the extra and runs the contract-dependent thin tests that
importorskipwithout it. If the contract moved incompatibly, that job fails and this PR is the cheapest place to find out.Your call on whether 4bc31563 is the right target or whether a specific earlier commit is the reviewed one to land on. I picked distill
mainhead because no other commit had a claim to being current.