mapping_note: the downloadable SHA does NOT replace the recorded SHA; both identify different byte representations of the same semantic artifact

root_cause: Path.write_text defaulted to newline=None, translating LF to CRLF on Windows; the lock SHA was computed over those CRLF bytes while git normalised the committed file to LF and the site serves LF

semantic_equivalence: parsed JSON identical; binary round-trip proves newline-only difference

track: SAR


track: DMR


mapping_note: proof left untouched; re-stamping would destroy the original attestation

root_cause: meta.json was edited after being stamped (publish_time_et, scratches_as_of_et, weather, pick_notes); the proof attests the original revision at commit b80d2dd

semantic_equivalence: NOT newline-only; presentation metadata changed. The embedded card sha256 field never changed and card.json.ots still verifies


canonical_grade_source: chart-backfill

root_cause: designed append-only supersession, not accidental double grading: 07-23 was provisionally graded from a free winner map, then backfill_from_charts.py appended a chart-enriched result. The append-only ledger cannot mutate the provisional line, so both remain. compute_record keys results by (track,date,race,pick) and the later entry wins -- correct, but implicit and invisible to a raw reader

canonical: LOSS

superseded: LOSS

superseded_grade_source: free-winner-grade


canonical: WIN

superseded: WIN