Purpose. Establish must-follow formatting so any SSM-Clock Stamp can be reproduced and audited in plain ASCII.
UTC string (must)
iso_utc = "YYYY-MM-DDThh:mm:ssZ"— UTC only, no subseconds, no offsets.- Example:
2025-10-14T09:05:27Zis valid;2025-10-14T09:05:27.123Zand2025-10-14T09:05:27+05:30are invalid.
Float determinism (must)
- All intermediate math uses
IEEE-754 binary64. - Decimal point is
'.'; no thousands separators, no locale formatting.
Angle print (must)
theta_degis printed with exactlytheta_precfractional digits using round-half-to-even (banker’s rounding).- Default
theta_prec = 5(may be overridden bykv:theta_prec). - Compare angles as strings after formatting.
- Example: with
theta_prec=5, print163.48750not163.4875.
Digest fields (must)
sha256(file)andchainare lowercase64-hex strings:[0-9a-f]{64}.- Do not include
0xprefixes, spaces, or uppercase hex.
ASCII discipline (must)
- Any string that is hashed is the exact ASCII bytes of the concatenation shown in the spec.
- Example for a chain step: hash
ascii(chain_{k-1} + "|" + stamp_core)(7-bit ASCII, literal|, no extra spaces, no Unicode punctuation).
Stamp line shape (must)
- Single line, pipe-separated, no leading/trailing separators, no internal spaces:
SSMCLOCK1|iso_utc|rasi_idx|theta_deg|sha256(file)|chain - If a tail exists, it starts with
|kv:and contains;-separatedkey=valuepairs (ASCII).
Example:...|chain|kv:algo=sha256;chain_algo=sha256;theta_prec=5;float=ieee75464
Roll-up join for anchors (must, when anchoring)
- Sort stamps by the tuple
(iso_utc, stamp_core, chain)(lexicographic). - Join as the literal ASCII string
"Stamp_1|...|Stamp_n"— one|between full stamp lines, no leading/trailing separator. - Compute:
rollup_D = sha256( ascii(joined_string) ).
Leap-second handling (must)
23:59:60is forbidden. Producers must not stamp at a leap second; verifiers must reject a stamp claiming:60.
Quick conformance checklist
iso_utclooks like...Zand has exactly seconds precision.theta_degprints with the required digits and banker’s rounding.- Digests are
64-hex lowercase. - All hash inputs are exact ASCII of the shown concatenations.
- The final stamp is one line, with
|as the only separator.
Navigation
Back: SSM-Clock Stamp – Append-only Chain (1.4)
Next: SSM-Clock Stamp – Time Semantics & Anchors (1.6)