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_labelif order is unspecified. - Compute:
obs_evidence_sha256 = sha256( ascii(joined_records) )(lowercase64-hex).
Verifier steps (advisory checks)
- Parse UTC shapes; reject
23:59:60. - Delta recompute:
delta_sec' = abs( unix(iso_utc) - unix(obs_iso_utc) )
Requiredelta_sec' <= tolerance_secand|delta_sec' - delta_sec| <= 1(rounding window). - Evidence hash: rebuild canonical join →
sha256( ascii(concat) )equals recordedobs_evidence_sha256. - Flag:
EVIDENCE_OK=trueif all above pass; elseEVIDENCE_OK=false. (Absent sidecar →EVIDENCE_OK=absent.)
Producer guidance (minimal, ASCII)
- Keep
iso_utcshape strict:YYYY-MM-DDThh:mm:ssZ. - Choose a reasonable
tolerance_sec(e.g.,30or300). - 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)