SSM-Clock Stamp – Observed-Time Evidence Pack (5.16)

Objective. Validate optional observed-time evidence for stamps that declare kv:time_mode=observed — fully offline, plain ASCII, deterministic.

When to use
You stamped with kv:time_mode=observed and recorded lightweight evidence about sources used to choose iso_utc. Evidence improves auditability but does not change core verification unless your local policy requires it.

Required sidecar lines (ASCII, one per line)

obs_iso_utc=<YYYY-MM-DDThh:mm:ssZ>
tolerance_sec=<int>
delta_sec=<int>
obs_sources_ascii=<comma-or-pipe list>     # e.g., OS,HTTPS_Date,NTP  or  OS|HTTPS_Date|NTP
obs_evidence_sha256=<64-hex>               # sha256( ascii(concat_of_sources_and_reported_times) )

Canonical evidence digest input (deterministic)

  • Build records as source_label "|" ISO_Z, one per observed source, ASCII only.
  • Join records with \n (LF). If input used \r\n, verifiers normalize to LF before hashing.
  • Optionally ASCII-sort by source_label if order is unspecified.
  • Compute: obs_evidence_sha256 = sha256( ascii(joined_records) ) (lowercase 64-hex).

Verifier steps (advisory checks)

  1. Parse UTC shapes; reject 23:59:60.
  2. Delta recompute:
    delta_sec' = abs( unix(iso_utc) - unix(obs_iso_utc) )
    Require delta_sec' <= tolerance_sec and |delta_sec' - delta_sec| <= 1 (rounding window).
  3. Evidence hash: rebuild canonical join → sha256( ascii(concat) ) equals recorded obs_evidence_sha256.
  4. Flag: EVIDENCE_OK=true if all above pass; else EVIDENCE_OK=false. (Absent sidecar → EVIDENCE_OK=absent.)

Producer guidance (minimal, ASCII)

  • Keep iso_utc shape strict: YYYY-MM-DDThh:mm:ssZ.
  • Choose a reasonable tolerance_sec (e.g., 30 or 300).
  • Record the exact source times used; prefer stable labels like OS, HTTPS_Date, OrgNTP.
  • Evidence is additive: the stamp line remains
    SSMCLOCK1|iso_utc|rasi_idx|theta_deg|sha256(file)|chain[|kv:...].

Expected verify output (stdout, ASCII)

HASH_OK=true CLOCK_OK=true CHAIN_OK=true ANCHOR_OK=na EVIDENCE_OK=true
VERDICT=PASS

(If evidence fails but your policy treats it as advisory, core PASS may still hold.)

Example (compact)

# stamp (one line)
SSMCLOCK1|2025-10-14T05:10:27Z|3|185.93750|<h64>|<c64>|kv:algo=sha256;chain_algo=sha256;theta_prec=5;float=ieee75464;time_mode=observed

# sidecar (ASCII)
obs_iso_utc=2025-10-14T05:10:26Z
tolerance_sec=60
delta_sec=1
obs_sources_ascii=OS,HTTPS_Date
obs_evidence_sha256=<64-hex>

Why this helps
Observed-time evidence makes the Shunyaya Symbolic Mathematical Clock Stamp more transparent about how iso_utc was chosen, while keeping core verification unchanged and ASCII-simple.

Navigation
Back: SSM-Clock Stamp – Streaming Hash Equivalence (large file) (5.15)
Next: SSM-Clock Stamp – SSM-Clock Sub-Day Hint (advisory Δ) (5.17)