inductive proof chain plumbing: extractOps fix, chain checks, CAS upsert
phase 1: fix extractOps/checkCommitStructure to read firehose "path" field
instead of nonexistent "collection"/"rkey" — verify_commit_diff was dead code.
phase 2: add since/prevData chain continuity checks and future-rev rejection.
log-only + chain_breaks metric, no commits dropped yet.
phase 3: conditional upsert (WHERE rev < EXCLUDED.rev) on updateAccountState
to prevent concurrent workers from rolling back rev on same DID.
also: fix deploy docs in CLAUDE.md (justfile module syntax, kubeconfig path).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>