Proven on itself
The proof matrix.
ThunderLang gates its own repository. Every number below is computed at build time by the shipped compiler (v0.4.2) running over the 24 example missions in this repo: per-claim verdicts, in-file test results, and diagnostics. Nothing on this page is hand-written, and the gaps are shown as plainly as the passes.
The same verdicts as thunder prove
Every claim, honestly counted.
A guarantee or prohibition is only verified when a named in-file test proves it and passes. Declared means a verification is named (a scan, an external test) but is not runnable in-file, so it never counts as proven. Needs verification means the claim names nothing at all. Failed means its test exists and fails; a failed claim fails this site's build.
thunder prove reports, and exactly the gap the language exists to make visible. The CI gate fails on any failed claim or compile error; today there are 0 failed claims and 0 errors.Each download is the live intent-proof-v1 artifact for that mission: the same output thunder prove emits, with per-claim verdicts and the freshness tuple. Reproduce any row locally with node compiler/src/cli.mjs prove examples/<Mission>.thunder.
The gate
A failed claim fails the build.
CI runs the same compiler over every example on every push: npm run intent:prove executes thunder prove per mission and exits non-zero if any claim's test fails, any in-file test fails, or any mission has a semantic error. Declared and needs-verification claims pass the gate, they are honest states, not failures, but they are reported here so the gap never hides. Current status: green.