D1 case history

Receipts survive refresh.

Every policy run is saved to a session-owned D1 record so judges can inspect approval, block, and signature proof after the first click.

Run another case