# PLN-023 Lab — Idempotent Publish Transaction & Verification

Offline only; no API key and no network call.

1. Inspect `fixtures/cases.json`.
2. Run `python run_checks.py`.
3. Change one decisive field at a time: request identity, payload hash, target account, read-back evidence, provenance, freshness, or retry budget.
4. Explain why the typed state changes without claiming a real provider effect.

The starter contains no hidden answer key.
