fix(test): unbreak main — seed the downloadable corpus #9966 now requires - #9974
Conversation
…ires main has been red since #9966 (40133d7): every commit after it fails test/integration/public-eval-scores-route.test.ts with "expected [] to have a length of 1". Bisected -- the commit before it passes 9/9. #9966 made the DOWNLOADABLE corpus the only commitment source, deliberately dropping the persisted-backtest-run fallback: a commitment must name bytes a reader can fetch and re-hash. Correct change, but this suite's fixture recorded only the human OVERRIDES, and the corpus is built from rule-FIRED events joined to them -- so it produced a 0-case corpus, no commitment, and no record. Confirmed by probing loadPublicEvalCorpus directly: caseCount 0 with overrides alone, 20 once the fired events are seeded too. Seeding both halves restores what the fixture always meant to represent: 20 decided cases a reader can download. Changing the expectation to `records: []` would have gone green while silently dropping the recordDigest-recomputability check this suite exists for. The commitment assertion moves off the literal "freeze-point-checksum" (the old contract) and onto what /v1/public/eval-corpus actually serves, so the two surfaces cannot drift apart while both still look correct in isolation.
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-30 23:40:04 UTC
Review summary Nits — 1 non-blocking
Why this is blocked
📋 Copy for AI agents — paste into your coding agentCI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Decision record
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
loopover-ui | 865f3a6 | Jul 30 2026, 11:15 PM |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Bundle ReportBundle size has no change ✅ Affected Assets, Files, and Routes:view changes for bundle: loopover-uiAssets Changed:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9974 +/- ##
===========================================
+ Coverage 79.57% 91.87% +12.30%
===========================================
Files 282 928 +646
Lines 58664 113712 +55048
Branches 6842 27432 +20590
===========================================
+ Hits 46682 104478 +57796
+ Misses 11694 7936 -3758
- Partials 288 1298 +1010
Flags with carried forward coverage won't be shown. Click here to find out more. |
mainhas been red since #9966 (40133d789). Every commit after it fails:Bisected —
507960134(the commit before) passes 9/9,40133d789fails 3.Why
#9966 made the downloadable corpus the only commitment source, deliberately dropping the persisted-backtest-run fallback: a commitment must name bytes a reader can fetch and re-hash. That change is right.
But this suite’s fixture recorded only the human overrides, and the corpus is built from rule-fired events joined to them. So it produced a 0-case corpus → no commitment → no record. Confirmed by probing
loadPublicEvalCorpusdirectly:caseCount: 0with overrides alone,caseCount: 20once the fired events are seeded too.The fix
Seed both halves, restoring what the fixture always meant to represent: 20 decided cases a reader can download and re-hash.
Changing the expectation to
records: []would also have gone green — and silently dropped therecordDigest-recomputability check this suite exists for. That is the failure mode worth avoiding here, so the fixture was corrected rather than the assertion weakened.The commitment assertion also moves off the literal
"freeze-point-checksum"(the old contract) and onto what/v1/public/eval-corpusactually serves, so the two surfaces cannot drift apart while both still look correct in isolation.Full suite green: 25,926 passing, zero failures. No
src/**changes, socodecov/patchis unaffected.