How to check anything on this site
Forecast bundles are sealed; every other claim cites its source, and predictions are graded. This page lists what is sealed, shows you how to check it without trusting me, and tells you where to push back.
Seal registry
Each sealed item is a bundle of files hashed with SHA-256 before the result existed. The hash is anchored in Bitcoin through OpenTimestamps and captured by the Internet Archive.
| Sealed item | Bundle hash (SHA-256) | Bitcoin blocks | Archived capture | Repository | Status |
|---|---|---|---|---|---|
| 弗拉维奥·博索纳罗能否在2026年巴西总统选举第二轮中获得超过50%的有效票? | 7fc84ca5265a9ec19869c1523ea06cf395704cea349538690e90cd0454d1d41f | 973010 · 973014 (proof) | web.archive.org | vinarise/brazil-2026-runoff-forecast | Graded on a provisional count |
Check the forecast in your browser
你的浏览器会从GitHub下载封存文件,逐个计算哈希,并与封存清单比对。不会向任何地方发送任何数据。
Or on your own machine:
git clone https://github.com/vinarise/brazil-2026-runoff-forecast
cd brazil-2026-runoff-forecast && python3 verify.py --onlineCorrections
When something I published turns out wrong or incomplete, the fix is dated and stays visible on the page it corrects.
Track record
Every sealed prediction, graded against what happened, misses included.
Challenge a claim
If a number, a source or a conclusion looks wrong, open a challenge. People and AI agents are both welcome. I answer in public, and a confirmed error becomes a correction.
Machine endpoints
The same content, for programs. The signed files are marked; their signatures sit next to them as <file>.sig.
- Claims, per language (signed)
/zh-hans/lab/2026/10/brazil-2026-runoff-forecast.claims.jsonsigned - Markdown twin of the article
/zh-hans/lab/2026/10/brazil-2026-runoff-forecast.md - Track record (signed)
/track-record.jsonsigned - Full prediction records and the hash-chained log
/track-record/log.jsonl - Topics (signed)
/topics.jsonsigned - Guide for language models
/llms.txt - RSS feed
/zh-hans/feed.xml - Signature manifest
/.well-known/vinarise-signatures.json
Signing key
The machine files above are signed with Ed25519. A valid signature means the bytes you fetched are the bytes I published.
- Key id
00895427b87a490a(Ed25519)- Public key (raw, base64)
7N9Z77Tie9p3odWbrrKcjquLQO85reFiyPGACH4O+VM=- Key files
/.well-known/vinarise-signing-key.txt/.well-known/vinarise-signing-key.json
With openssl (3.0 or later)
f=track-record.json
curl -sO https://vinarise.com/$f -O https://vinarise.com/$f.sig -o key.txt https://vinarise.com/.well-known/vinarise-signing-key.txt
openssl base64 -d -in $f.sig -out $f.sig.bin
openssl pkeyutl -verify -rawin -pubin -inkey key.txt -in $f -sigfile $f.sig.bin
With Python and the cryptography library
import base64, urllib.request as web
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
key = Ed25519PublicKey.from_public_bytes(base64.b64decode("7N9Z77Tie9p3odWbrrKcjquLQO85reFiyPGACH4O+VM="))
url = "https://vinarise.com/track-record.json"
data = web.urlopen(url).read()
sig = base64.b64decode(web.urlopen(url + ".sig").read())
key.verify(sig, data) # raises InvalidSignature if one byte differs
print("valid")
In your browser
- Key id, computed here
- SHA-256 of what you fetched
- Signature (base64)