fix chain-break metric: ~91% false positives from commit CID in data_cid master
with verify_commit_diff off (prod default), sig-only verification returned the commit CID in the data_cid field — a different block than the MST root the prevData continuity check compares against, so nearly every commit with prevData counted as a chain break (80.9M breaks vs 75.1M frames received). - validator: sig-only paths (validateSync + verifyCommit fallback) now return null data_cid instead of the commit CID - frame_worker/subscriber: prevData comparison gated on verify_commit_diff (the only path that stores a real MST root) - split relay_chain_breaks_total by reason ("since" | "prev_data") so the real since-vs-stored-rev signal is separable; JSON stats keeps the sum - regression test: real signed commit CAR through both validate paths, asserting data_cid is null Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>