{"id": 2656, "prediction_verbatim": "SPY closes higher in 48h (consolidation holds, no new escalation catalyst)", "created_at": "2026-04-03 18:50:20", "direction": "up", "timeframe": "48h", "score": null, "outcome": "Auto-expired \u2014 excluded from accuracy metrics", "resolved_at": "2026-04-05 19:14:17", "chain_hash": "a3b649ca3b22a8dc795b9de6a756986e2716dd9693e9b20955aa0f79014de2aa", "chain_tx": "48HBSi2bQkQrmT6CUaYm1puddAjnnQRhvgUZk2LpM4fbuTKXnSMei7GCR6LkN4KqDWdjfHmB5uvR9xuUU6j2bcWn", "verify": "sha256(f'{prediction_verbatim}|{created_at}|{id}') must equal chain_hash, and the Solana tx memo must read 'workshop:pred:<id>:<chain_hash>' with a timestamp BEFORE resolved_at. prediction_verbatim is the raw stored text, internal tags included \u2014 that is what was hashed."}