How to Verify JYOTINT Yourself — The Master Guide

The drop-dead-easy master guide to checking every claim yourself: 8 steps from a 30-second one-liner to a full offline audit, each with the exact command…

How to verify JYOTINT yourself — the master guide

One rule: don't trust the operator — recompute it. This is every check, in order, from a 30-second one-liner to a full offline audit, each with the exact command and the exact output you should get back. All commands were run against live production before being published.

Step 1 — recompute the headline score (30s)

Fetch the public grading ledger and average the per-call Brier terms: curl -s https://jyotishintelligence.com/grading-ledger.json | node -e '…mean(brierTerm)…' → you should see 0.0946 over 81 calls.

Step 2 — the rest of the numbers (1m)

The verdict tally (65 HIT / 4 NEAR / 4 PARTIAL / 8 MISS) and the strict-event luck test (exact-binomial p = 7.69e-5 for 43 of 57 strict hits) both recompute from the same public ledger.

Step 3 — prove a call predates its event (2m)

Recompute a seal's SHA-256 from the canonical string objectId|dateIssued|title|claim and confirm it matches the anchored manifest. The Crocus warning (IA-RU-008) was sealed 2023-09-04, ~200 days before the 2024-03-22 attack; the X post ID decodes to its own creation time.

Step 4 — run the full offline verifier (5m)

Download the AI verification kit and run node verify-jyotint.mjs --manifest ./seal-manifest.json --ots ./seal-manifest.json.ots; it recomputes every hash, the Merkle tree (92/92 inclusion proofs), the Bitcoin timestamp anchor, and the Brier, and exits non-zero on any drift.

Step 5 — grade it yourself

The regrade inputs (per call: claim, outcome, probability, verdict, base rate, vectors, evidence) are published CORS-open; re-score the whole record with your own values in the browser or with verify-jyotint.mjs --regrade.

Step 6 — query it as a machine

A read-only, CORS-open, CC-BY REST API (/api/v1/index.json) and a zero-dependency Model Context Protocol server (12 tools; descriptor at /.well-known/mcp.json) let an agent pull and verify the record directly. Two axes are their own tables: distribution (pre-event reach) at /dataset/advisory-impressions.json, and delivery (the dated public outreach posts — to whom each call was addressed, each row a live public URL) at /api/v1/delivery-log.json.

Step 7 — reproduce every number in the paper (peer reviewers)

One zero-dependency script recomputes every published statistic from the raw graded record and checks each against the served value: curl -sLO https://jyotishintelligence.com/reproduce-paper.mjs && node reproduce-paper.mjs. It re-derives the Brier, the full five-way calibration suite (Murphy decomposition, Spiegelhalter Z, Cox slope/intercept, sharpness, calibration-in-the-large), the luck-test clustering (43 of 57 strict events, break-even 0.642), Information Yield, SITA, and the novel axes — printing PASS/FAIL per line and exiting non-zero on any mismatch. A MATCH proves the published analysis JSON is an honest projection of the raw data. Pair with verify-jyotint.mjs (Step 4), which checks the seals, Merkle tree, and Bitcoin anchor.

Step 8 — read it honestly

The caveats travel: self-scored grades, a small high-confidence-weighted sample, a base-rate baseline that ties the aggregate Brier, and no independent adjudication yet (peer review pending). The two-sided verdict is in credibility.json; the case for and against is on /case.

Two hashes, on purpose

manifestHash (a8d8529…) is the hash of the sealed records inside the manifest; the whole-file SHA-256 (3586e21…) is what the Bitcoin anchor commits to. Both are correct and answer different questions; the verifier checks both.

This page is the stable how-to home the paper and every artifact link to: jyotishintelligence.com/guide. The full artifact index is the Proof Desk (/proof).

JYOTINT — sealed, falsifiable, Bitcoin-anchored forecasting. Verify every claim at jyotishintelligence.com.