SSM-Clock Stamp – Verdict Logic (2.6)

Purpose. Combine verification flags into a clear PASS/FAIL decision for an SSM-Clock Stamp, with explicit handling when a ledger or anchor is not provided.

Flags (from prior steps)

  • HASH_OK — file digest match (2.2)
  • CLOCK_OK — UTC→angle/sector checks (2.3)
  • CHAIN_OK — chain rewalk over a ledger (2.4)
  • ANCHOR_OK — daily roll-up match (2.5)
  • EVIDENCE_OK — observed-time evidence (2.9), if any

Verdict rule (deterministic, ASCII)

  • PASS when all applicable checks are true:
    HASH_OK = true and CLOCK_OK = true
    and (CHAIN_OK = true or CHAIN_OK = na)
    and (ANCHOR_OK = true or ANCHOR_OK = na)
    and (EVIDENCE_OK = true or EVIDENCE_OK = absent or EVIDENCE_OK = na)
  • FAIL otherwise, with the first failing reason recorded.

Applicability rules

  • If no ledger is supplied → set CHAIN_OK = na (do not fail on chain).
  • If no anchor is supplied → set ANCHOR_OK = na (do not fail on anchor).
  • If no evidence is supplied → set EVIDENCE_OK = absent (does not affect PASS/FAIL).
  • Local policy may require EVIDENCE_OK = true when kv:time_mode = observed; the core spec treats evidence as advisory.

Reference pseudo-code (plain ASCII)

verdict = "PASS"
reason  = ""

if not HASH_OK:
    verdict = "FAIL"; reason = "HASH mismatch"
elif not CLOCK_OK:
    verdict = "FAIL"; reason = "CLOCK mismatch"
elif CHAIN_OK == false:
    verdict = "FAIL"; reason = "CHAIN rewalk failed"
elif ANCHOR_OK == false:
    verdict = "FAIL"; reason = "ANCHOR digest mismatch"
elif (kv_time_mode == "observed") and (policy_requires_evidence) and (EVIDENCE_OK != true):
    verdict = "FAIL"; reason = "Observed-time evidence not accepted"
# else PASS

Recommended report format (concise, ASCII)

HASH_OK=true
CLOCK_OK=true
CHAIN_OK=na        # or true/false
ANCHOR_OK=na       # or true/false
EVIDENCE_OK=absent # or true/false
VERDICT=PASS

Examples (minimal)

  • PASS without ledger/anchor: HASH_OK=true, CLOCK_OK=true, CHAIN_OK=na, ANCHOR_OK=na → VERDICT=PASS
  • FAIL due to chain: ... CHAIN_OK=false → VERDICT=FAIL (reason="CHAIN rewalk failed at k=127")
  • FAIL due to angle print: CLOCK_OK=false → VERDICT=FAIL (reason="theta string mismatch")

Navigation
Back: SSM-Clock Stamp – Anchor Verification (2.5)
Next: SSM-Clock Stamp – Failure Modes & Guidance (2.7)