Every prompt change arrives with the same sentence attached: "this version is better." Sometimes it is. Often it is better on the one example the author looked at and worse on the three they didn't. The sentence is a promise, and promises about instructions have a bad track record.
A proof report replaces the promise with evidence. It is the artifact that travels with a rewrite and answers the only question that matters to whoever has to trust it: better how, and how do you know?
What a promise leaves out
"Better" is missing three things that turn it from an assertion into something checkable:
- Which two versions? Better than what — the last thing that shipped, or the draft from Tuesday? Without version hashes, "the new one" is a moving target.
- Better on what? A rewrite that raises objective clarity might quietly drop a safety constraint. A single overall vibe hides the trade.
- Proven how? A score is a judgment. An eval is a test. The difference is whether someone could reproduce your conclusion.
What the report carries
A Rubrkit proof report bundles the before and after into one reproducible object:
- The prior version and the rewrite, each pinned to a content hash, so there is no ambiguity about which text was graded.
- The rubric deltas — which dimensions moved, and by how much — so an improvement in one place can't hide a regression in another.
- The eval that decides it — the specific check the old version fails and the new one passes, run the same way both times.
Export it with rubrkit_export_proof_report over MCP, or from the app, and the evidence detaches from your session. It can go in a pull request, a client handoff, or a design doc — anywhere the reader wasn't in the room when you made the change.
A score tells you an instruction is weak. An eval tells you the rewrite is strong. The proof report is how that second fact leaves your machine.
Where this earns its keep
The proof report matters most exactly where trust is thinnest: handing a rewrite to a teammate, to a client, or to yourself six months from now. "Trust me, it's better" does not survive any of those. A before/after with a passing eval and two hashes does.
The payoff is boring in the best way — a prompt change stops being a story you tell and becomes a fact you can hand someone.