The reward channel, demonstrated in closed loop: a model proposes a decomposition, the grader answers every failure with its own refutation mechanism — the first violated equation and its exact discrepancy, nothing more — and the model retries in the same conversation. No hints, no partial answers, no human. This page renders every trajectory round by round; the question it measures is whether a certificate's failure mechanism is, by itself, a training signal.
Each row is one conversation with the grader; each cell is one graded proposal. A row that turns green after a red cell is a conversion — the verifier's own mechanism, fed back, moving a model from wrong to proved. Look for one.
Three failure classes, three fixed messages. A reply that did not parse is told the required JSON shape and nothing else. A proposal that failed the prune-only screen is told which class of check it failed (shapes, rank bound, or float spot-test) and nothing else. A proposal the certifier REFUTED is told the first index where the defining identity fails and the exact value of the discrepancy — the certificate's own first_violation field, verbatim. That is the entire vocabulary of the feedback channel.
This is the verified-reward property in motion: the loop can only converge to a certificate, because certification is the only exit the grader rewards, and the grader cannot be satisfied by anything less than the exact identity. There is no rubric to overfit, no judge to persuade, no reference value to reproduce — reward hacking is not difficult here, it is undefined.
| claude-haiku-4-5-20251001 · (2, 2, 2, 7) · trajectory 0 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 2 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 3 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 4 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 5 | malformed | Your reply did not parse as the required JSON object {"u": [...], "v": [...], "w": [...]}. Reply with ONLY that JSON object — no prose, no markdown code fences. |
| round 6 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 7 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 8 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| claude-haiku-4-5-20251001 · (2, 2, 2, 7) · trajectory 1 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 2 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 3 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 4 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 5 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 6 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 7 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 8 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| claude-haiku-4-5-20251001 · (2, 2, 2, 7) · trajectory 2 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 2 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 3 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 4 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 5 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 6 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 7 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| round 8 | rejected | Your proposal failed the screen: wrong row lengths, more rows than the rank bound, or a floating-point spot-check mismatch. Recheck the stated convention and shapes, then reply with ONLY the corrected JSON object. |
| claude-opus-5 · (2, 2, 2, 7) · trajectory 0 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | CERTIFIED | nothing — the terminal row is a theorem |
| claude-opus-5 · (2, 2, 2, 7) · trajectory 1 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | CERTIFIED | nothing — the terminal row is a theorem |
| claude-opus-5 · (2, 2, 2, 7) · trajectory 2 | verdict | what the verifier sent back |
|---|---|---|
| round 1 | CERTIFIED | nothing — the terminal row is a theorem |
Every row above is read off certs/matmul-loop-ledger.jsonl at build time — the raw proposals and full certificates are in the ledger. A trajectory that ends without certifying is rendered exactly like one that succeeds; the demonstration is the channel, not a highlight reel.
An evaluation grades one attempt; a reward channel shapes many. The loop is the smallest possible demonstration that this machine's grading is the second thing, not just the first: the same certificate that scores a proposal carries, in its refutation mechanism, enough signal to steer the next one — and because false positives are provably impossible, a policy trained against this channel cannot learn to exploit its grader. Scaled up, this is reinforcement learning on certified rewards for mathematical search; run once in a conversation, it is what this page shows.