Purpose. Quick triage for anchor-related problems in SSM-Clock Stamp. Each item lists the symptom, likely cause, and a fix, all in plain ASCII.
1) Digest mismatch
- Symptom:
rollup_D' != rollup_sha256. - Likely cause: Missing/extra stamp; non-canonical order; wrong join (e.g., newline instead of
|); inner field reformatted. - Fix:
- Re-select same UTC day via
YYYY-MM-DDfromiso_utc. - Canonical sort by
(iso_utc, stamp_core, chain)wherestamp_core = "SSMCLOCK1|" + iso_utc + "|" + rasi_idx + "|" + theta_deg + "|" + sha256(file). - Join literally:
"Stamp_1|...|Stamp_n"(single|, no leading/trailing). - Recompute:
rollup_D' = sha256( ascii(joined) ).
- Re-select same UTC day via
2) Count mismatch
- Symptom:
n != countin the note. - Likely cause: Anchor metadata out of sync with the set.
- Fix: Recompute
nfrom the canonical set and republish the anchor note.
3) Source parity fail (ledger vs sidecars)
- Symptom:
rollup_D(ledger) != rollup_D(sidecars)or counts differ. - Likely cause: Orphan sidecars; stale ledger export; accidental edits.
- Fix:
- Diff line sets (ASCII) to list
missing_in_ledgerandmissing_in_sidecars. - Rewalk ledger chain (see 2.4) to detect deletions/reorders.
- Rebuild both anchors strictly per 3.1–3.3.
- Diff line sets (ASCII) to list
4) Wrong separator / whitespace
- Symptom: Digest differs only on some platforms.
- Likely cause: Joined with
\nor spaces, or added a trailing|. - Fix: The joined string must be
"Stamp_1|...|Stamp_n"— a single literal|between full lines, no whitespace padding, no trailing/leading separators.
5) Inner formatting drift
- Symptom: A stamp line looks the same numerically but hashes differ.
- Likely cause: Re-emitted fields with different formatting (e.g.,
theta_degnot fixed totheta_precdigits; uppercase hex). - Fix: Treat each stamp as an immutable ASCII line. Do not reprint inner fields. Required shapes:
theta_deguses exactlytheta_precdigits (default5) with round-half-to-even.- Digests are lowercase 64-hex.
6) Leap-second contamination
- Symptom: A line includes
23:59:60. - Likely cause: Attempted stamping during a leap second (forbidden).
- Fix: Exclude such lines; producers must not create them; verifiers must reject
:60.
7) Day selection error
- Symptom: Stamps near midnight fall into the wrong set.
- Likely cause: Local timezone used instead of UTC.
- Fix: Day key is strictly UTC from
iso_utc→YYYY-MM-DD.
Navigation
Back: SSM-Clock Stamp – Verification Procedure (3.6)
Next: SSM-Clock Stamp – Operational Cautions (3.8)