| RR9-001 | payload-too-large | no | n/a | Exceeds rk2_payloadMaxBytes. |
| RR9-002 | checkpoint-stale | yes | exp backoff, max 5 attempts | Check rk7 freshness; fetch new checkpoint. |
| RR9-003 | shard-mismatch | no | n/a | Wrong shard per rk3 routing. |
| RR9-004 | inclusion-proof-missing | yes | exp backoff, max 3 | Retry with same payload; fail hard after 3. |
| RR9-005 | idempotency-duplicate | no | n/a | Duplicate submission key (rk5); caller should not retry. |
| RR9-006 | pq-unsupported | no | n/a | PQ toggle disabled (rk8). |
| RR9-007 | validation-failed | yes | linear backoff 1s,5 attempts | Generic validation error; log context. |
| RR9-008 | transport-error | yes | exp backoff, jitter | Network/transport failure. |
| RR9-009 | policy-annotation-missing | no | n/a | Missing rk10 annotations. |