Scope. Defines the single-line ASCII stamp, required fields, and the exact computations to produce and verify an SSM-Clock Stamp. All outputs are plain ASCII.
Stamp — one line (canonical shape)SSMCLOCK1|iso_utc|rasi_idx|theta_deg|sha256(file)|chain[|kv:...]
- ASCII-only, pipe-separated, no spaces, no leading/trailing separators.
- Optional tail starts with
kv:and carrieskey=valuepairs separated by;. Unknown keys are ignored.
Deterministic clock (from UTC only)wrap360(x) = x - 360*floor(x/360)theta_deg = wrap360( (unix_seconds / 86400) * 360 )rasi_idx = floor(theta_deg / 30)
Content integrity (file digest)h_file = sha256(file_bytes) (or algo via kv:algo; streaming allowed if the digest equals the monolithic hash).
Append-only chain (tamper-evident ordering)stamp_core = "SSMCLOCK1|" + iso_utc + "|" + rasi_idx + "|" + theta_deg + "|" + h_filechain_0 = "0"*64chain_k = H_chain( ascii(chain_{k-1} + "|" + stamp_core) ) (algorithm declared by kv:chain_algo, default sha256)
Canonical formatting rules (must)
- UTC:
iso_utc = YYYY-MM-DDThh:mm:ssZ(UTC only; no subseconds, no offsets). - Float determinism: all math uses
IEEE-754 binary64; decimal point is'.'. - Angle print:
theta_deguses exactlytheta_precdigits (default5) with round-half-to-even; compare as strings. - Digests:
sha256(file)andchainare lowercase64-hex.
Time semantics & anchors
- Declarative time:
iso_utcis chosen by the stamper; it makes the clock state deterministic and human-checkable. - Public “no-later-than” bound: publish
rollup_D = sha256( ascii(Stamp_1 "|" ... "|" Stamp_n) )using canonical sort by(iso_utc, stamp_core, chain).
Observed-time mode (optional)
- Use
kv:time_mode=observedwheniso_utccomes from lightweight observations (evidence kept in ASCII sidecar). - Core verification remains anchored to
iso_utc.
Additive key–value tail (kv:) — agility & policy
- Defaults if
kv:is absent:algo=sha256,chain_algo=sha256,theta_prec=5,float=ieee75464,time_mode=derived_utc. - Supported digests:
sha256,sha3_256,blake2b-256(all 256-bit →64-hex). - Optional helpers:
ssmc_hint_min(minutes,|Δ| <= 30, advisory),a_stamp ∈ (-1,+1)(quality scalar),chain_id(8-hex),device([A-Za-z0-9._-]{1,32}).
Leap-second policy (must)
- Stamping at
23:59:60is forbidden; verifiers MUST reject any:60.
Acceptance (summary)
- File digest and chain digest match recomputation under declared algorithms.
iso_utcformat valid; no leap second.theta_degprints with exactlytheta_precdigits underIEEE-754 binary64rounding;rasi_idxmatches.float == ieee75464;time_mode ∈ {derived_utc, observed}; unknownkv:keys ignored.
Navigation
Back: SSM-Clock Stamp – Verification Rules (0E)
Next: SSM-Clock Stamp – Stamp Format (1.1)
Explore Further
https://github.com/OMPSHUNYAYA/Symbolic-Mathematical-Clock-Stamp