Corrections & verification
Two integrity defects were found on 2026-07-26 and are recorded here in full. No card, metadata file, ledger entry, recorded hash, or timestamp proof was rewritten to make either go away.
How to verify a card
Download card.json from any card page and hash it (sha256sum card.json). That value should equal the downloadable artifact hash shown in that card’s “Verifying this card” box. The card’s OpenTimestamps proof commits to those same bytes.
There are four independent evidence layers, answering different questions:
- The append-only ledger and Git history — when the card was committed, and that nothing was edited afterwards.
- The card lock and publication timestamps — that the card existed before first post.
- The OpenTimestamps calendar commitment — independent third-party evidence that those exact bytes existed when we say they did.
- A Bitcoin attestation, once the proof is upgraded — the same evidence anchored in a block.
Layers 1 and 2 establish that a pick was published before post. A Bitcoin confirmation arriving later strengthens the external evidence; it is not what makes the pre-post claim true, and a pending proof does not weaken it.
Card hashes: recorded lock hash vs downloadable file
Cards published before 2026-07-26 were generated on Windows. The lock hash was calculated from CRLF-formatted bytes before Git stored the same JSON with LF line endings, so the recorded hash does not match the file you can download. The selections and JSON values are unchanged — the difference is exclusively line endings, proven byte-for-byte for every affected card. This broke reproducible verification, which is why it is disclosed here rather than described as a formatting detail.
| Card | Downloadable hash | Original lock hash | Difference | OpenTimestamps |
|---|---|---|---|---|
| 2026-07-16-sar | 91f2264a9bd2786d… | 970405a2813327fc… | newline-only | Bitcoin confirmed (block 958263) |
| 2026-07-17-dmr | 5c5738c552644939… | 910012f7fdcbbcbd… | newline-only | Bitcoin confirmed (block 958444) |
| 2026-07-17-sar | eee831ef7500a09f… | cb1ec2f6d1d68ffd… | newline-only | Bitcoin confirmed (block 958444) |
| 2026-07-18-dmr | f054f172d11271ff… | 452a707b645298a8… | newline-only | Bitcoin confirmed (block 958590) |
| 2026-07-18-sar | 7470d5434d899bc6… | ba2c741b3ea0c8a2… | newline-only | Bitcoin confirmed (block 958587) |
| 2026-07-19-dmr | 0a22d8979143b47d… | 4c9c5e8e4aef0d3a… | newline-only | Bitcoin confirmed (block 958756) |
| 2026-07-19-sar | a295b82f5d0ccac7… | a989d8e7773e6e83… | newline-only | Bitcoin confirmed (block 958756) |
| 2026-07-23-dmr | 3c06ef8b29249138… | 5d18e4b2450bfe33… | newline-only | Bitcoin confirmed (block 959238) |
| 2026-07-23-sar | 09ba713f7784c496… | 834825237f681453… | newline-only | Bitcoin confirmed (block 959238) |
| 2026-07-24-dmr | 4e9088b356aa5dd4… | 7a988efd1ee58c4d… | newline-only | Bitcoin confirmed (block 959385) |
| 2026-07-24-sar | 8b399bb0a6fe598b… | 74b3e1d7629297c4… | newline-only | Bitcoin confirmed (block 959385) |
| 2026-07-25-dmr | 6784f29f6adc84a4… | 7bfff866e6b7172b… | newline-only | Bitcoin confirmed (block 959570) |
| 2026-07-25-sar | 7ed9dae36137d5e8… | f82ed51d5645eb05… | newline-only | Bitcoin confirmed (block 959570) |
| 2026-07-26-dmr | 1c5d42b418bbde69… | ee2f7ccdc08a723a… | newline-only | Bitcoin confirmed (block 959652) |
| 2026-07-26-sar | db33d2f0e2962fc1… | 99d2c0a8398a0d5d… | newline-only | Bitcoin confirmed (block 959652) |
Machine-readable: card_hash_corrections.jsonl (hash-chained, append-only) and proof_status.json.
Metadata proofs
A card’s meta.json holds presentation detail — publish time, weather, per-pick notes. For 2026-07-17 (both tracks) that file was edited after its proof was created, so the original proof commits to the metadata as first published, not to the current file. Both are kept: meta.json.ots is the original-publication proof, and meta.current.json.ots commits to the current bytes, stamped 2026-07-26 and labelled as such. The card hash embedded in the metadata never changed, and the card.json proofs are unaffected. Metadata is presentation, not locked evidence — the card is the locked evidence.
Result entries: provisional grades superseded by chart grades
Provisional results were later superseded by enriched chart results. Both entries remain in the append-only ledger, while the canonical record counts each selection once. Settlement values — win/loss and P/L — agree in every case; the later entry only adds finishing position, closing odds and drift.
| Raw result entries in the ledger | 59 |
|---|---|
| Effective unique results | 51 |
| Chart-enrichment supersessions | 8 |
| Conflicting settlements | 0 |
| Pending selections | 8 |
| Record | 11-35 |
| Voids | 5 |
| Net (flat $2) | -24.74 |
| ROI | -26.9% |
Machine-readable: record.json. It distinguishes raw ledger entries from effective results, so the de-duplication rule is visible rather than something you have to reconstruct.