lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

verified_profiles.v1.json (84688B)


      1 {
      2   "suite": "post_profiles",
      3   "contract_version": "1.0.0",
      4   "vectors": [
      5     {
      6       "id": "authored_update_wire",
      7       "kind": "social.update.build_authored_draft.valid",
      8       "input": {
      9         "content": "Farm update"
     10       },
     11       "expected": {
     12         "kind": 1,
     13         "content": "Farm update",
     14         "tags": []
     15       }
     16     },
     17     {
     18       "id": "authored_update_blank",
     19       "kind": "social.update.build_authored_draft.invalid",
     20       "input": {
     21         "content": " \t"
     22       },
     23       "expected": {
     24         "error": "post_content_missing"
     25       }
     26     },
     27     {
     28       "id": "authored_photo_update_wire",
     29       "kind": "social.photo_update.build_authored_draft.valid",
     30       "input": {
     31         "content": "Harvest https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     32         "images": [
     33           {
     34             "bytes_utf8": "strawberries",
     35             "url": "https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     36             "media_type": "image/webp",
     37             "uploaded": 1784347200,
     38             "width": 1200,
     39             "height": 900,
     40             "alt": "Harvest",
     41             "fallbacks": [
     42               "https://backup.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp"
     43             ]
     44           }
     45         ]
     46       },
     47       "expected": {
     48         "kind": 1,
     49         "content": "Harvest https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     50         "tags": [
     51           [
     52             "imeta",
     53             "url https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     54             "x 1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276",
     55             "m image/webp",
     56             "dim 1200x900",
     57             "size 12",
     58             "alt Harvest",
     59             "fallback https://backup.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp"
     60           ]
     61         ]
     62       }
     63     },
     64     {
     65       "id": "authored_photo_update_mime_underscore",
     66       "kind": "social.photo_update.build_authored_draft.invalid",
     67       "input": {
     68         "content": "Harvest https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     69         "images": [
     70           {
     71             "bytes_utf8": "strawberries",
     72             "url": "https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     73             "media_type": "image/p_ng",
     74             "uploaded": 1784347200,
     75             "width": 1200,
     76             "height": 900,
     77             "alt": "Harvest",
     78             "fallbacks": [
     79               "https://backup.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp"
     80             ]
     81           }
     82         ]
     83       },
     84       "expected": {
     85         "error": "imeta_mime_invalid"
     86       }
     87     },
     88     {
     89       "id": "authored_ask_wire",
     90       "kind": "social.ask.build_authored_draft.valid",
     91       "input": {
     92         "content": "When are carrots ready? https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     93         "images": [
     94           {
     95             "bytes_utf8": "strawberries",
     96             "url": "https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
     97             "media_type": "image/webp",
     98             "uploaded": 1784347200,
     99             "width": 1200,
    100             "height": 900,
    101             "alt": "Harvest",
    102             "fallbacks": [
    103               "https://backup.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp"
    104             ]
    105           }
    106         ]
    107       },
    108       "expected": {
    109         "kind": 1,
    110         "content": "When are carrots ready? https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
    111         "tags": [
    112           [
    113             "t",
    114             "radroots-ask"
    115           ],
    116           [
    117             "imeta",
    118             "url https://media.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp",
    119             "x 1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276",
    120             "m image/webp",
    121             "dim 1200x900",
    122             "size 12",
    123             "alt Harvest",
    124             "fallback https://backup.example/1ff0938846474bffb82fe6f107422337fd051c1191c9cc3584854fbb1501b276.webp"
    125           ]
    126         ]
    127       }
    128     },
    129     {
    130       "id": "authored_ask_blank",
    131       "kind": "social.ask.build_authored_draft.invalid",
    132       "input": {
    133         "content": "\n"
    134       },
    135       "expected": {
    136         "error": "post_content_missing"
    137       }
    138     },
    139     {
    140       "id": "authored_nip10_direct_wire",
    141       "kind": "social.reply.build_authored_draft.valid",
    142       "input": {
    143         "content": "Direct reply",
    144         "root": {
    145           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    146           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    147           "relay": "wss://root.relay.example"
    148         }
    149       },
    150       "expected": {
    151         "kind": 1,
    152         "content": "Direct reply",
    153         "tags": [
    154           ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://root.relay.example", "root"],
    155           ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"]
    156         ]
    157       }
    158     },
    159     {
    160       "id": "authored_nip10_nested_wire",
    161       "kind": "social.reply.build_authored_draft.valid",
    162       "input": {
    163         "content": "Nested reply",
    164         "root": {
    165           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    166           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    167           "relay": null
    168         },
    169         "parent": {
    170           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    171           "author": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    172           "relay": "wss://parent.relay.example"
    173         }
    174       },
    175       "expected": {
    176         "kind": 1,
    177         "content": "Nested reply",
    178         "tags": [
    179           ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    180           ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://parent.relay.example", "reply"],
    181           ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    182           ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"]
    183         ]
    184       }
    185     },
    186     {
    187       "id": "authored_nip10_ambiguous_parent",
    188       "kind": "social.reply.build_authored_draft.invalid",
    189       "input": {
    190         "content": "Ambiguous",
    191         "root": {
    192           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    193           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    194           "relay": null
    195         },
    196         "parent": {
    197           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    198           "author": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    199           "relay": null
    200         }
    201       },
    202       "expected": {
    203         "error": "reply_reference_ambiguous"
    204       }
    205     },
    206     {
    207       "id": "authored_nip10_invalid_event_id",
    208       "kind": "social.reply.build_authored_draft.invalid",
    209       "input": {
    210         "content": "Invalid",
    211         "root": {
    212           "event_id": "not-an-event-id",
    213           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    214           "relay": null
    215         }
    216       },
    217       "expected": {
    218         "error": "reply_event_id_invalid"
    219       }
    220     },
    221     {
    222       "id": "authored_nip10_canonical_ipv6_relay",
    223       "kind": "social.reply.build_authored_draft.valid",
    224       "input": {
    225         "content": "Canonical relay",
    226         "root": {
    227           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    228           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    229           "relay": "wss://[2001:db8::1]:8443/nostr?region=ca-bc&next=%2Ffeed"
    230         }
    231       },
    232       "expected": {
    233         "kind": 1,
    234         "content": "Canonical relay",
    235         "tags": [
    236           ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://[2001:db8::1]:8443/nostr?region=ca-bc&next=%2Ffeed", "root"],
    237           ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"]
    238         ]
    239       }
    240     },
    241     {
    242       "id": "authored_nip10_invalid_relay_percent_host",
    243       "kind": "social.reply.build_authored_draft.invalid",
    244       "input": {
    245         "content": "Invalid relay",
    246         "root": {
    247           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    248           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    249           "relay": "wss://%"
    250         }
    251       },
    252       "expected": {
    253         "error": "reply_relay_invalid"
    254       }
    255     },
    256     {
    257       "id": "authored_nip10_invalid_relay_bad_percent_host",
    258       "kind": "social.reply.build_authored_draft.invalid",
    259       "input": {
    260         "content": "Invalid relay",
    261         "root": {
    262           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    263           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    264           "relay": "wss://%zz"
    265         }
    266       },
    267       "expected": {
    268         "error": "reply_relay_invalid"
    269       }
    270     },
    271     {
    272       "id": "authored_nip10_invalid_relay_ipv4_overflow",
    273       "kind": "social.reply.build_authored_draft.invalid",
    274       "input": {
    275         "content": "Invalid relay",
    276         "root": {
    277           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    278           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    279           "relay": "wss://256.1.1.1"
    280         }
    281       },
    282       "expected": {
    283         "error": "reply_relay_invalid"
    284       }
    285     },
    286     {
    287       "id": "authored_nip10_invalid_relay_ipvfuture",
    288       "kind": "social.reply.build_authored_draft.invalid",
    289       "input": {
    290         "content": "Invalid relay",
    291         "root": {
    292           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    293           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    294           "relay": "wss://[v1.foo]"
    295         }
    296       },
    297       "expected": {
    298         "error": "reply_relay_invalid"
    299       }
    300     },
    301     {
    302       "id": "authored_nip10_invalid_relay_empty_port",
    303       "kind": "social.reply.build_authored_draft.invalid",
    304       "input": {
    305         "content": "Invalid relay",
    306         "root": {
    307           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    308           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    309           "relay": "wss://relay.example:"
    310         }
    311       },
    312       "expected": {
    313         "error": "reply_relay_invalid"
    314       }
    315     },
    316     {
    317       "id": "authored_nip10_invalid_relay_zero_port",
    318       "kind": "social.reply.build_authored_draft.invalid",
    319       "input": {
    320         "content": "Invalid relay",
    321         "root": {
    322           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    323           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    324           "relay": "wss://relay.example:0"
    325         }
    326       },
    327       "expected": {
    328         "error": "reply_relay_invalid"
    329       }
    330     },
    331     {
    332       "id": "authored_nip10_invalid_relay_port_overflow",
    333       "kind": "social.reply.build_authored_draft.invalid",
    334       "input": {
    335         "content": "Invalid relay",
    336         "root": {
    337           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    338           "author": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    339           "relay": "wss://relay.example:65536"
    340         }
    341       },
    342       "expected": {
    343         "error": "reply_relay_invalid"
    344       }
    345     },
    346     {
    347       "id": "project_signed_nip10_marked_direct",
    348       "kind": "social.reply.project_verified_event.valid",
    349       "input": {
    350         "event_json": "{\"id\":\"d62b9340ac9808fc84a751788d017344ede91aea1c89081be3f7bff4a2266354\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000001,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Direct reply\",\"sig\":\"206758bee31328a53457e3190b046a4a184941223f4e8ed1696db28d71c9af03138fe9add32d5e97d6f3b50bd0f78e4d5a91629dbf4d12aedd4315ce96c97e8c\"}"
    351       },
    352       "expected": {
    353         "style": "marked",
    354         "contract_id": "radroots.social.reply.v1",
    355         "direct": true,
    356         "root": {
    357           "tag_index": 0,
    358           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    359           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    360           "relay": null,
    361           "author_hint": null
    362         },
    363         "parent": null,
    364         "citations": [],
    365         "participants": [
    366           {
    367             "tag_index": 1,
    368             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    369             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    370             "relay": null
    371           }
    372         ],
    373         "diagnostics": []
    374       }
    375     },
    376     {
    377       "id": "project_signed_nip10_marked_with_citation",
    378       "kind": "social.reply.project_verified_event.valid",
    379       "input": {
    380         "event_json": "{\"id\":\"5e6db69a9c9968a8f1eb3699ddcf19c0e7b7c9255df616ce7032928b93ad0f6a\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000016,\"kind\":1,\"tags\":[[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"wss://relay.example\",\"\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Marked reply with citation\",\"sig\":\"d610d090bab46e06d4a674d4bdfd3204f64bc8d1b94929d64cd9ddfd604de89dc9c5ac87229e2f095091e7cac2805ef2ad45325b019e2a79c89b677981f3b068\"}"
    381       },
    382       "expected": {
    383         "style": "marked",
    384         "contract_id": "radroots.social.reply.v1",
    385         "direct": true,
    386         "root": {
    387           "tag_index": 1,
    388           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    389           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    390           "relay": null,
    391           "author_hint": null
    392         },
    393         "parent": null,
    394         "citations": [
    395           {
    396             "tag_index": 0,
    397             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "wss://relay.example", "", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    398             "event_id": "3333333333333333333333333333333333333333333333333333333333333333",
    399             "relay": "wss://relay.example",
    400             "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    401           }
    402         ],
    403         "participants": [
    404           {
    405             "tag_index": 2,
    406             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    407             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    408             "relay": null
    409           }
    410         ],
    411         "diagnostics": []
    412       }
    413     },
    414     {
    415       "id": "project_signed_nip10_marked_with_malformed_citation",
    416       "kind": "social.reply.project_verified_event.valid",
    417       "input": {
    418         "event_json": "{\"id\":\"19a98ea4c777451618f4f36549abbc352f55c27e254978a2a0dcc0c910cc52ce\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000017,\"kind\":1,\"tags\":[[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"\",\"mention\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Marked reply with malformed citation\",\"sig\":\"8fbb467df2771e7a6fc67ca12bfefa2e5b635bfe16d8b963df29d7d8a8df3387e7f9229677045317e470247656db8c87261dc1cf38580c1856b32b2a4fb5791c\"}"
    419       },
    420       "expected": {
    421         "style": "marked",
    422         "contract_id": "radroots.social.reply.v1",
    423         "direct": true,
    424         "root": {
    425           "tag_index": 1,
    426           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    427           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    428           "relay": null,
    429           "author_hint": null
    430         },
    431         "parent": null,
    432         "citations": [],
    433         "participants": [
    434           {
    435             "tag_index": 2,
    436             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    437             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    438             "relay": null
    439           }
    440         ],
    441         "diagnostics": [
    442           {
    443             "code": "reply_citation_marker_ignored",
    444             "tag_index": 0,
    445             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "", "mention"]
    446           }
    447         ]
    448       }
    449     },
    450     {
    451       "id": "project_signed_nip10_marked_nested_reordered",
    452       "kind": "social.reply.project_verified_event.valid",
    453       "input": {
    454         "event_json": "{\"id\":\"be4126cc38031f6d47a3d00c81d281999fb4dc6e73ae4bf4b757271be5b0abc0\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000002,\"kind\":1,\"tags\":[[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"wss://parent.relay.example\",\"reply\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://root.relay.example\",\"root\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Nested reply\",\"sig\":\"4e8439d145b4ce2366818fa6f0722e23bf664c92dbf10728fbad3c223d38150ef160566854e052172ff8c060f8924d030bd24c32919967b6f131771c1376e590\"}"
    455       },
    456       "expected": {
    457         "style": "marked",
    458         "contract_id": "radroots.social.reply.v1",
    459         "direct": false,
    460         "root": {
    461           "tag_index": 1,
    462           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://root.relay.example", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    463           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    464           "relay": "wss://root.relay.example",
    465           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    466         },
    467         "parent": {
    468           "tag_index": 0,
    469           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://parent.relay.example", "reply", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    470           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    471           "relay": "wss://parent.relay.example",
    472           "author_hint": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"
    473         },
    474         "citations": [],
    475         "participants": [
    476           {
    477             "tag_index": 2,
    478             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    479             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    480             "relay": null
    481           },
    482           {
    483             "tag_index": 3,
    484             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    485             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    486             "relay": null
    487           }
    488         ],
    489         "diagnostics": []
    490       }
    491     },
    492     {
    493       "id": "project_signed_nip10_positional_direct",
    494       "kind": "social.reply.project_verified_event.valid",
    495       "input": {
    496         "event_json": "{\"id\":\"a7141da919755d6ace9b5fa400928d512b4ef785c0ec03d55989bc2d6cbce860\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000003,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Legacy direct reply\",\"sig\":\"eb2112223ed35f4b0919578a4981e08b403779391f6f9a831ea51763779028d85f72ce8224b1ae469ad6baea21d1d275210bb438a126b4391dab0c347051917a\"}"
    497       },
    498       "expected": {
    499         "style": "legacy_positional",
    500         "contract_id": "radroots.social.reply.v1",
    501         "direct": true,
    502         "root": {
    503           "tag_index": 0,
    504           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111"],
    505           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    506           "relay": null,
    507           "author_hint": null
    508         },
    509         "parent": null,
    510         "citations": [],
    511         "participants": [
    512           {
    513             "tag_index": 1,
    514             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    515             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    516             "relay": null
    517           }
    518         ],
    519         "diagnostics": []
    520       }
    521     },
    522     {
    523       "id": "project_signed_nip10_positional_many",
    524       "kind": "social.reply.project_verified_event.valid",
    525       "input": {
    526         "event_json": "{\"id\":\"d3f1220f5cb9d51a76cf2551d27cbbb7cfbb5f68ad221045118eb1fd313c9d64\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000004,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://root.relay.example\"],[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\"],[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"wss://parent.relay.example\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"]],\"content\":\"Legacy nested reply\",\"sig\":\"41a3c1da0c331dc67b1a79eb440dee86b1e6baf11f54fd8e1771ebacb0c0681500d5eece1933fa3c68ca745d552a97753378acac06ce5a7328da0086387f5c59\"}"
    527       },
    528       "expected": {
    529         "style": "legacy_positional",
    530         "contract_id": "radroots.social.reply.v1",
    531         "direct": false,
    532         "root": {
    533           "tag_index": 0,
    534           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://root.relay.example"],
    535           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    536           "relay": "wss://root.relay.example",
    537           "author_hint": null
    538         },
    539         "parent": {
    540           "tag_index": 2,
    541           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://parent.relay.example"],
    542           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    543           "relay": "wss://parent.relay.example",
    544           "author_hint": null
    545         },
    546         "citations": [
    547           {
    548             "tag_index": 1,
    549             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333"],
    550             "event_id": "3333333333333333333333333333333333333333333333333333333333333333",
    551             "relay": null,
    552             "author_hint": null
    553           }
    554         ],
    555         "participants": [
    556           {
    557             "tag_index": 3,
    558             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    559             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    560             "relay": null
    561           },
    562           {
    563             "tag_index": 4,
    564             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    565             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    566             "relay": null
    567           }
    568         ],
    569         "diagnostics": []
    570       }
    571     },
    572     {
    573       "id": "project_signed_nip10_positional_direct_with_author_hint",
    574       "kind": "social.reply.project_verified_event.valid",
    575       "input": {
    576         "event_json": "{\"id\":\"f885bad6dc41077036097e81bedb19a0b6b78a48cee24513eb788a997353802c\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000018,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://root.relay.example\",\"\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Legacy direct with author hint\",\"sig\":\"473111ec136bcf38035a1848c6fa02ac2ba2a946c3270485d93c11287a3ebb0ac87e6a90b1b91d8beb4f8f958a2b58a3cf494622eafad8fb91cb1fdf5f64bcd0\"}"
    577       },
    578       "expected": {
    579         "style": "legacy_positional",
    580         "contract_id": "radroots.social.reply.v1",
    581         "direct": true,
    582         "root": {
    583           "tag_index": 0,
    584           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://root.relay.example", "", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    585           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    586           "relay": "wss://root.relay.example",
    587           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    588         },
    589         "parent": null,
    590         "citations": [],
    591         "participants": [
    592           {
    593             "tag_index": 1,
    594             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    595             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    596             "relay": null
    597           }
    598         ],
    599         "diagnostics": []
    600       }
    601     },
    602     {
    603       "id": "project_signed_nip10_positional_many_with_author_hints",
    604       "kind": "social.reply.project_verified_event.valid",
    605       "input": {
    606         "event_json": "{\"id\":\"1f8d3d805ead850160ed74b446aadca7f5f44591484e1cdb22b471e5d689ece3\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000019,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://root.relay.example\",\"\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"wss://citation.relay.example\",\"\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"],[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"wss://parent.relay.example\",\"\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"p\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"]],\"content\":\"Legacy nested with author hints\",\"sig\":\"6c927cc43a95f998ae43956c8e6bc0ab7c18e70dd91eef66ed8360dead902a83c921134e826100b13ea04122ca4bcdf3b0250b0852307141f0a0ed193e87fd9f\"}"
    607       },
    608       "expected": {
    609         "style": "legacy_positional",
    610         "contract_id": "radroots.social.reply.v1",
    611         "direct": false,
    612         "root": {
    613           "tag_index": 0,
    614           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://root.relay.example", "", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    615           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    616           "relay": "wss://root.relay.example",
    617           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    618         },
    619         "parent": {
    620           "tag_index": 2,
    621           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://parent.relay.example", "", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    622           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    623           "relay": "wss://parent.relay.example",
    624           "author_hint": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"
    625         },
    626         "citations": [
    627           {
    628             "tag_index": 1,
    629             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "wss://citation.relay.example", "", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    630             "event_id": "3333333333333333333333333333333333333333333333333333333333333333",
    631             "relay": "wss://citation.relay.example",
    632             "author_hint": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"
    633           }
    634         ],
    635         "participants": [
    636           {
    637             "tag_index": 3,
    638             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    639             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    640             "relay": null
    641           },
    642           {
    643             "tag_index": 4,
    644             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    645             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    646             "relay": null
    647           },
    648           {
    649             "tag_index": 5,
    650             "raw_tag": ["p", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    651             "pubkey": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4",
    652             "relay": null
    653           }
    654         ],
    655         "diagnostics": []
    656       }
    657     },
    658     {
    659       "id": "project_signed_nip10_positional_malformed_middle_citation",
    660       "kind": "social.reply.project_verified_event.valid",
    661       "input": {
    662         "event_json": "{\"id\":\"6ea3acdf3d4df0e0dc107a514c1801f658ff44345d1c300ab12f553aaeddb40e\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000020,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\"],[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"\",\"mention\"],[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"]],\"content\":\"Legacy nested with malformed citation\",\"sig\":\"261e5b2c9632cab25a308b86011655a82dbcda58c4b1908fe8f6465eebf9f250c00086927d9ddf93b73d24467c6e18774bc1b1ffe08a47342b287d86cd2a2b15\"}"
    663       },
    664       "expected": {
    665         "style": "legacy_positional",
    666         "contract_id": "radroots.social.reply.v1",
    667         "direct": false,
    668         "root": {
    669           "tag_index": 0,
    670           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111"],
    671           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    672           "relay": null,
    673           "author_hint": null
    674         },
    675         "parent": {
    676           "tag_index": 2,
    677           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222"],
    678           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    679           "relay": null,
    680           "author_hint": null
    681         },
    682         "citations": [],
    683         "participants": [
    684           {
    685             "tag_index": 3,
    686             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    687             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    688             "relay": null
    689           },
    690           {
    691             "tag_index": 4,
    692             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    693             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    694             "relay": null
    695           }
    696         ],
    697         "diagnostics": [
    698           {
    699             "code": "reply_citation_marker_ignored",
    700             "tag_index": 1,
    701             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "", "mention"]
    702           }
    703         ]
    704       }
    705     },
    706     {
    707       "id": "project_signed_nip10_precedes_ask_and_media",
    708       "kind": "social.reply.project_verified_event.valid",
    709       "input": {
    710         "event_json": "{\"id\":\"cc9440768dea0bf58b002ace8c836893ac6c7a522bdf25048fa34a6a55c03a4a\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000005,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"t\",\"radroots-ask\"],[\"imeta\",\"url https://media.example/image.webp\",\"x malformed\"]],\"content\":\"Reply with compatibility metadata\",\"sig\":\"e28dd20ed2d04aac40f67a8cccdd6d8cb261fa54c04c1ea57d021d4d4ab9a3c48ca5e52c5c182f4204302315ee9903f39c90117558457a84daeef2505f240294\"}"
    711       },
    712       "expected": {
    713         "style": "marked",
    714         "contract_id": "radroots.social.reply.v1",
    715         "direct": true,
    716         "root": {
    717           "tag_index": 0,
    718           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    719           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    720           "relay": null,
    721           "author_hint": null
    722         },
    723         "parent": null,
    724         "citations": [],
    725         "participants": [
    726           {
    727             "tag_index": 1,
    728             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    729             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    730             "relay": null
    731           }
    732         ],
    733         "diagnostics": []
    734       }
    735     },
    736     {
    737       "id": "project_signed_nip10_invalid_relay",
    738       "kind": "social.reply.project_verified_event.valid",
    739       "input": {
    740         "event_json": "{\"id\":\"85b05a80dd168098ea8dcdc6dfa656bcca902120f82bf36a5a5b94c1c949e122\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000006,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"https://relay.example\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Invalid relay\",\"sig\":\"de303499d4cee838d854be0001e686529eda96d37a7f9886f469bf49ad2269aea4b4d3671a1ca820996ba597eece5915d42fdf98452d19bcc630312b0b63f56e\"}"
    741       },
    742       "expected": {
    743         "style": "marked",
    744         "contract_id": "radroots.social.reply.v1",
    745         "direct": true,
    746         "root": {
    747           "tag_index": 0,
    748           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "https://relay.example", "root"],
    749           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    750           "relay": null,
    751           "author_hint": null
    752         },
    753         "parent": null,
    754         "citations": [],
    755         "participants": [
    756           {
    757             "tag_index": 1,
    758             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    759             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    760             "relay": null
    761           }
    762         ],
    763         "diagnostics": [
    764           {
    765             "code": "reply_reference_relay_ignored",
    766             "tag_index": 0,
    767             "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "https://relay.example", "root"]
    768           }
    769         ]
    770       }
    771     },
    772     {
    773       "id": "project_signed_nip10_canonical_relay_authorities",
    774       "kind": "social.reply.project_verified_event.valid",
    775       "input": {
    776         "event_json": "{\"id\":\"e7166651c6bd2fd462f7820fca73690049ee9a589eaf161495b38c9b5fe34f92\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000020,\"kind\":1,\"tags\":[[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"wss://relay.example/nostr/v1?region=ca-bc&next=%2Ffeed\",\"\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"],[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"ws://127.0.0.1:21003\",\"reply\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://[2001:db8::1]:8443/nostr\",\"root\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\",\"ws://localhost:21003\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\",\"wss://participant.relay.example?region=ca-bc\"],[\"p\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"]],\"content\":\"Canonical relay authorities\",\"sig\":\"b0faf3e55b6309077108e9e97425d5ea850cbcf5f8b73ad1bbf85731c549ab482dc7dca2cfd7f89a3e1ddd0f1ae8d243e07523ac5251310b0c685cfe0134d073\"}"
    777       },
    778       "expected": {
    779         "style": "marked",
    780         "contract_id": "radroots.social.reply.v1",
    781         "direct": false,
    782         "root": {
    783           "tag_index": 2,
    784           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://[2001:db8::1]:8443/nostr", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    785           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    786           "relay": "wss://[2001:db8::1]:8443/nostr",
    787           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    788         },
    789         "parent": {
    790           "tag_index": 1,
    791           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "ws://127.0.0.1:21003", "reply", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    792           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    793           "relay": "ws://127.0.0.1:21003",
    794           "author_hint": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"
    795         },
    796         "citations": [
    797           {
    798             "tag_index": 0,
    799             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "wss://relay.example/nostr/v1?region=ca-bc&next=%2Ffeed", "", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    800             "event_id": "3333333333333333333333333333333333333333333333333333333333333333",
    801             "relay": "wss://relay.example/nostr/v1?region=ca-bc&next=%2Ffeed",
    802             "author_hint": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"
    803           }
    804         ],
    805         "participants": [
    806           {
    807             "tag_index": 3,
    808             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af", "ws://localhost:21003"],
    809             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    810             "relay": "ws://localhost:21003"
    811           },
    812           {
    813             "tag_index": 4,
    814             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c", "wss://participant.relay.example?region=ca-bc"],
    815             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    816             "relay": "wss://participant.relay.example?region=ca-bc"
    817           },
    818           {
    819             "tag_index": 5,
    820             "raw_tag": ["p", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    821             "pubkey": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4",
    822             "relay": null
    823           }
    824         ],
    825         "diagnostics": []
    826       }
    827     },
    828     {
    829       "id": "project_signed_nip10_malformed_relay_authorities",
    830       "kind": "social.reply.project_verified_event.valid",
    831       "input": {
    832         "event_json": "{\"id\":\"fe9fbccea1eb7daf0b7fe3bce5507c5973617b82e8134f2fab82c726bf421ef3\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000021,\"kind\":1,\"tags\":[[\"e\",\"3333333333333333333333333333333333333333333333333333333333333333\",\"wss://%\",\"\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"wss://%zz\",\"root\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"wss://256.1.1.1\",\"reply\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\",\"wss://[v1.foo]\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"],[\"p\",\"5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4\"]],\"content\":\"Malformed relay authorities\",\"sig\":\"9b179c47c13301bfe31f1d0027dcca7dabf1ebdcb0a0e6f7764cb767c346963c8b801549716f4422e22b8d9311c1bb840faa7751c651e1ad0746f76953617a95\"}"
    833       },
    834       "expected": {
    835         "style": "marked",
    836         "contract_id": "radroots.social.reply.v1",
    837         "direct": false,
    838         "root": {
    839           "tag_index": 1,
    840           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://%zz", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    841           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    842           "relay": null,
    843           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    844         },
    845         "parent": {
    846           "tag_index": 2,
    847           "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://256.1.1.1", "reply", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    848           "event_id": "2222222222222222222222222222222222222222222222222222222222222222",
    849           "relay": null,
    850           "author_hint": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"
    851         },
    852         "citations": [
    853           {
    854             "tag_index": 0,
    855             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "wss://%", "", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    856             "event_id": "3333333333333333333333333333333333333333333333333333333333333333",
    857             "relay": null,
    858             "author_hint": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"
    859           }
    860         ],
    861         "participants": [
    862           {
    863             "tag_index": 3,
    864             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af", "wss://[v1.foo]"],
    865             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
    866             "relay": null
    867           },
    868           {
    869             "tag_index": 4,
    870             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    871             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    872             "relay": null
    873           },
    874           {
    875             "tag_index": 5,
    876             "raw_tag": ["p", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"],
    877             "pubkey": "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4",
    878             "relay": null
    879           }
    880         ],
    881         "diagnostics": [
    882           {
    883             "code": "reply_reference_relay_ignored",
    884             "tag_index": 0,
    885             "raw_tag": ["e", "3333333333333333333333333333333333333333333333333333333333333333", "wss://%", "", "5d3eab6e78eb7e467a9e196a63456c9fafb93fb88b7052b83229870889923aa4"]
    886           },
    887           {
    888             "code": "reply_reference_relay_ignored",
    889             "tag_index": 1,
    890             "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "wss://%zz", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"]
    891           },
    892           {
    893             "code": "reply_reference_relay_ignored",
    894             "tag_index": 2,
    895             "raw_tag": ["e", "2222222222222222222222222222222222222222222222222222222222222222", "wss://256.1.1.1", "reply", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"]
    896           },
    897           {
    898             "code": "reply_author_relay_ignored",
    899             "tag_index": 3,
    900             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af", "wss://[v1.foo]"]
    901           }
    902         ]
    903       }
    904     },
    905     {
    906       "id": "project_signed_nip10_ambiguous_same_reference",
    907       "kind": "social.reply.project_verified_event.invalid",
    908       "input": {
    909         "event_json": "{\"id\":\"8642b1d2380d0a52c13011863530f781da7654c37f8176645abf2eb08d39d24d\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000007,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"reply\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Ambiguous\",\"sig\":\"1f61730dda3b1d00ff2f85701f3e928bfdbd9f1dff8ab2c0971413e03194718c1bba766e62738074ad245d2fae23ebeec2cd3ab45eb353dd82a116833139de42\"}"
    910       },
    911       "expected": {
    912         "error": "reply_reference_ambiguous"
    913       }
    914     },
    915     {
    916       "id": "project_signed_nip10_missing_author",
    917       "kind": "social.reply.project_verified_event.valid",
    918       "input": {
    919         "event_json": "{\"id\":\"2747dc566bfa7ecbc9744bf675d0bdaff435a16a4824a60a4ac5a6eb81b38bf7\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000008,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"]],\"content\":\"Missing author\",\"sig\":\"ceb6c490fe33ccf32c70fef87164212eb4b0d11f98e314b8a87fd9f5e6a9a08a175ab068fa307ac9b16a2e39c120e3c6185e42b8bb3a67e6843c1f676c62b97e\"}"
    920       },
    921       "expected": {
    922         "style": "marked",
    923         "contract_id": "radroots.social.reply.v1",
    924         "direct": true,
    925         "root": {
    926           "tag_index": 0,
    927           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
    928           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    929           "relay": null,
    930           "author_hint": null
    931         },
    932         "parent": null,
    933         "citations": [],
    934         "participants": [],
    935         "diagnostics": [
    936           {
    937             "code": "reply_author_missing_ignored",
    938             "tag_index": null,
    939             "raw_tag": null
    940           }
    941         ]
    942       }
    943     },
    944     {
    945       "id": "project_signed_nip10_invalid_event_id",
    946       "kind": "social.reply.project_verified_event.invalid",
    947       "input": {
    948         "event_json": "{\"id\":\"8847b627c9e8e07a6506fcd66e2db952b76d12128498093f149f7b166400b3d0\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000009,\"kind\":1,\"tags\":[[\"e\",\"not-an-event-id\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Invalid event id\",\"sig\":\"83e1bf2c28e54ef653d52b352f9f41693030f50e105d4d67027df357187e84343ab44ceb039e09c3e93806692a4b670a94f00e407eb86d86b9af20d5c92f5602\"}"
    949       },
    950       "expected": {
    951         "error": "reply_event_id_invalid"
    952       }
    953     },
    954     {
    955       "id": "project_signed_nip10_author_hint_mismatch",
    956       "kind": "social.reply.project_verified_event.valid",
    957       "input": {
    958         "event_json": "{\"id\":\"24e1807536ffe4dcdb01267f6eca1e53bf34c3e2d20a13111b864d5af8b14c43\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000010,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"]],\"content\":\"Author mismatch\",\"sig\":\"ae4be83e55311c831de6e47fb070b42bd92632010eca8f045519fddccdb029ebfbe8e7a4d58885522d1a4fc18cb43c6e3f5db8ecb6a11ec5f536e3a3a74c5c61\"}"
    959       },
    960       "expected": {
    961         "style": "marked",
    962         "contract_id": "radroots.social.reply.v1",
    963         "direct": true,
    964         "root": {
    965           "tag_index": 0,
    966           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
    967           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
    968           "relay": null,
    969           "author_hint": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"
    970         },
    971         "parent": null,
    972         "citations": [],
    973         "participants": [
    974           {
    975             "tag_index": 1,
    976             "raw_tag": ["p", "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c"],
    977             "pubkey": "1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c",
    978             "relay": null
    979           }
    980         ],
    981         "diagnostics": [
    982           {
    983             "code": "reply_author_mismatch_ignored",
    984             "tag_index": 0,
    985             "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"]
    986           }
    987         ]
    988       }
    989     },
    990     {
    991       "id": "project_signed_nip10_blank_content",
    992       "kind": "social.reply.project_verified_event.valid",
    993       "input": {
    994         "event_json": "{\"id\":\"399f0d0258c1546392643f1fab84fa4ee5fc6cfaf28608f6dff48c027c1f1ec4\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000013,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"\",\"sig\":\"d0409197aa610b8febfea4fb527355b8f43021298c272cd1978a5f9e3edd75d2f08a6cc96fa32d2a3b70026a0403b285813231558cf8cddaffd0a1a3bf8426c7\"}"
    995       },
    996       "expected": {
    997         "style": "marked",
    998         "contract_id": "radroots.social.reply.v1",
    999         "direct": true,
   1000         "root": {
   1001           "tag_index": 0,
   1002           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
   1003           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
   1004           "relay": null,
   1005           "author_hint": null
   1006         },
   1007         "parent": null,
   1008         "citations": [],
   1009         "participants": [
   1010           {
   1011             "tag_index": 1,
   1012             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
   1013             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
   1014             "relay": null
   1015           }
   1016         ],
   1017         "diagnostics": []
   1018       }
   1019     },
   1020     {
   1021       "id": "project_signed_nip10_invalid_author_hint_tolerated",
   1022       "kind": "social.reply.project_verified_event.valid",
   1023       "input": {
   1024         "event_json": "{\"id\":\"d4d58ea56554e78570dc2d75507b1211879002d69b902787b02e93b864315c09\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000014,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\",\"not-a-pubkey\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Malformed optional author\",\"sig\":\"072e5c49445db582f80620d45e07836bd76860de7b347c48259bc94d718b04b89c02cce87dee6e32b27137a218b7fe0a387856e81b6268bf8bcb3fe0e5ab2f9f\"}"
   1025       },
   1026       "expected": {
   1027         "style": "marked",
   1028         "contract_id": "radroots.social.reply.v1",
   1029         "direct": true,
   1030         "root": {
   1031           "tag_index": 0,
   1032           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root", "not-a-pubkey"],
   1033           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
   1034           "relay": null,
   1035           "author_hint": null
   1036         },
   1037         "parent": null,
   1038         "citations": [],
   1039         "participants": [
   1040           {
   1041             "tag_index": 1,
   1042             "raw_tag": ["p", "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af"],
   1043             "pubkey": "e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af",
   1044             "relay": null
   1045           }
   1046         ],
   1047         "diagnostics": [
   1048           {
   1049             "code": "reply_reference_author_ignored",
   1050             "tag_index": 0,
   1051             "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root", "not-a-pubkey"]
   1052           }
   1053         ]
   1054       }
   1055     },
   1056     {
   1057       "id": "project_signed_nip10_invalid_participant_tolerated",
   1058       "kind": "social.reply.project_verified_event.valid",
   1059       "input": {
   1060         "event_json": "{\"id\":\"2d76c510e6002361b33eb0a0aa01ebb612629a3c33190472f981460c85628683\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000015,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"not-a-pubkey\"]],\"content\":\"Malformed optional participant\",\"sig\":\"b84460d29b4cda084dc338c5e0596415dd7d48e2c494e54de3a6d59076fdbb418e595665f0016d0a3a93125ecaae848c962fe1bdf6efd4a635e38659424e9a75\"}"
   1061       },
   1062       "expected": {
   1063         "style": "marked",
   1064         "contract_id": "radroots.social.reply.v1",
   1065         "direct": true,
   1066         "root": {
   1067           "tag_index": 0,
   1068           "raw_tag": ["e", "1111111111111111111111111111111111111111111111111111111111111111", "", "root"],
   1069           "event_id": "1111111111111111111111111111111111111111111111111111111111111111",
   1070           "relay": null,
   1071           "author_hint": null
   1072         },
   1073         "parent": null,
   1074         "citations": [],
   1075         "participants": [],
   1076         "diagnostics": [
   1077           {
   1078             "code": "reply_author_invalid_ignored",
   1079             "tag_index": 1,
   1080             "raw_tag": ["p", "not-a-pubkey"]
   1081           }
   1082         ]
   1083       }
   1084     },
   1085     {
   1086       "id": "project_signed_nip10_lone_reply_marker",
   1087       "kind": "social.reply.project_verified_event.invalid",
   1088       "input": {
   1089         "event_json": "{\"id\":\"e5822b15847a9952e156f9c46b3e1a3673da63e6ed72035a9088722c3bbfa3df\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000011,\"kind\":1,\"tags\":[[\"e\",\"2222222222222222222222222222222222222222222222222222222222222222\",\"\",\"reply\"],[\"p\",\"1952b8c6943898bceffcff1b7699c4a775a4d13b4a9ba0096ba26ef04492bb1c\"]],\"content\":\"Lone reply\",\"sig\":\"0b4f90ad15407fd37119ae1e6c34e9c00c200790735fe457c19f53a45576a5cd444fd1506bd0e4d3b5ad50c1905e4022cc901ae74de42d78e5f68d018ac6f977\"}"
   1090       },
   1091       "expected": {
   1092         "error": "reply_marker_count"
   1093       }
   1094     },
   1095     {
   1096       "id": "project_signed_nip10_unknown_marker",
   1097       "kind": "social.reply.project_verified_event.invalid",
   1098       "input": {
   1099         "event_json": "{\"id\":\"69f5cd728b45ee3688d949c318c4b46a1a7320d8f700b289339e537235007968\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000012,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"mention\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Unknown marker\",\"sig\":\"52a5d203bd422ba9c2962093d09bdf03d8fd02eaa5ab4eb518888e1fcf9db7a13e6d305e356baa1a6edf36f9752cc1830c9d7f9493d705fad6655e5d580571f5\"}"
   1100       },
   1101       "expected": {
   1102         "error": "reply_marker_missing"
   1103       }
   1104     },
   1105     {
   1106       "id": "admit_signed_nip10_marked_direct",
   1107       "kind": "social.reply.verify_and_admit_event.valid",
   1108       "input": {
   1109         "event_json": "{\"id\":\"d62b9340ac9808fc84a751788d017344ede91aea1c89081be3f7bff4a2266354\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000001,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Direct reply\",\"sig\":\"206758bee31328a53457e3190b046a4a184941223f4e8ed1696db28d71c9af03138fe9add32d5e97d6f3b50bd0f78e4d5a91629dbf4d12aedd4315ce96c97e8c\"}"
   1110       },
   1111       "expected": {
   1112         "contract_id": "radroots.social.reply.v1",
   1113         "style": "marked",
   1114         "direct": true
   1115       }
   1116     },
   1117     {
   1118       "id": "admit_signed_nip10_positional_direct",
   1119       "kind": "social.reply.verify_and_admit_event.valid",
   1120       "input": {
   1121         "event_json": "{\"id\":\"a7141da919755d6ace9b5fa400928d512b4ef785c0ec03d55989bc2d6cbce860\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000003,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Legacy direct reply\",\"sig\":\"eb2112223ed35f4b0919578a4981e08b403779391f6f9a831ea51763779028d85f72ce8224b1ae469ad6baea21d1d275210bb438a126b4391dab0c347051917a\"}"
   1122       },
   1123       "expected": {
   1124         "contract_id": "radroots.social.reply.v1",
   1125         "style": "legacy_positional",
   1126         "direct": true
   1127       }
   1128     },
   1129     {
   1130       "id": "admit_signed_nip10_invalid_signature",
   1131       "kind": "social.reply.verify_and_admit_event.invalid",
   1132       "input": {
   1133         "event_json": "{\"id\":\"d62b9340ac9808fc84a751788d017344ede91aea1c89081be3f7bff4a2266354\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781000001,\"kind\":1,\"tags\":[[\"e\",\"1111111111111111111111111111111111111111111111111111111111111111\",\"\",\"root\"],[\"p\",\"e0266e3cfb0d2886f91c73f5f868f3b98273713e5fcd97c081663f5518a4b3af\"]],\"content\":\"Direct reply\",\"sig\":\"006758bee31328a53457e3190b046a4a184941223f4e8ed1696db28d71c9af03138fe9add32d5e97d6f3b50bd0f78e4d5a91629dbf4d12aedd4315ce96c97e8c\"}"
   1134       },
   1135       "expected": {
   1136         "error": "signature_invalid"
   1137       }
   1138     },
   1139     {
   1140       "expected": {
   1141         "ask_marker": null,
   1142         "classification": "update",
   1143         "contract_id": "radroots.social.update.v1",
   1144         "diagnostics": [],
   1145         "imeta": []
   1146       },
   1147       "id": "project_signed_update",
   1148       "input": {
   1149         "event_json": "{\"id\":\"fb3f42caf9db337a7f1c0d49cd8ba5191f08dc1c419ed0640f7ea48a924e3bf3\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781632860,\"kind\":1,\"tags\":[],\"content\":\"The first strawberries are ready.\",\"sig\":\"dba0a86fee54304c2b419742f186e74d7edca5fc7234c8aa294651de9bc2f16bf829d46f36ec759a767c4ccd1841a73243eae89afd5f6c89b2243491bfbb5f50\"}"
   1150       },
   1151       "kind": "social.post.project_verified_event.valid"
   1152     },
   1153     {
   1154       "expected": {
   1155         "ask_marker": null,
   1156         "classification": "update",
   1157         "contract_id": "radroots.social.update.v1",
   1158         "diagnostics": [],
   1159         "imeta": []
   1160       },
   1161       "id": "project_signed_empty_inbound_update",
   1162       "input": {
   1163         "event_json": "{\"id\":\"769b1b4e4428b1ffc57121e673c4b1131134c71ccb70120f382a76503e3c8634\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781632861,\"kind\":1,\"tags\":[],\"content\":\"\\t\",\"sig\":\"ae96f0c6cbbfe83b80bb92684f9f2a9930ee556f379bc03c77e61149b42441fca670251c17aacbfb9e38f159d08707999e4ffc6bfd0c38b7fa213f5053acd308\"}"
   1164       },
   1165       "kind": "social.post.project_verified_event.valid"
   1166     },
   1167     {
   1168       "expected": {
   1169         "ask_marker": null,
   1170         "classification": "photo_update",
   1171         "contract_id": "radroots.social.photo_update.v1",
   1172         "diagnostics": [],
   1173         "imeta": [
   1174           {
   1175             "diagnostics": [],
   1176             "fallbacks": [],
   1177             "qualifies_photo": true,
   1178             "raw_fields": [
   1179               "url https://cdn.example/harvest.webp",
   1180               "x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1181               "m image/webp",
   1182               "dim 1200x900",
   1183               "size 12345",
   1184               "alt Harvest"
   1185             ],
   1186             "unknown_fields": [],
   1187             "url": "https://cdn.example/harvest.webp",
   1188             "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1189             "media_type": "image/webp",
   1190             "dimensions": {
   1191               "width": 1200,
   1192               "height": 900
   1193             },
   1194             "size": 12345,
   1195             "alt": "Harvest"
   1196           }
   1197         ]
   1198       },
   1199       "id": "project_signed_structural_photo",
   1200       "input": {
   1201         "event_json": "{\"id\":\"f06df29688089218b10424a85a070ecd9fe0e7143bf24622fdd5f031fbe00029\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635400,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/harvest.webp\",\"x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"m image/webp\",\"dim 1200x900\",\"size 12345\",\"alt Harvest\"]],\"content\":\"Harvest https://cdn.example/harvest.webp\",\"sig\":\"2f0863959b972f639d028c65d9ca0c2b62d5ad57530ad4c810e67941d1d50ab249488f570b9905095db2df18440aac399907dda5ca0e8289c49e625ce8b0b28b\"}"
   1202       },
   1203       "kind": "social.post.project_verified_event.valid"
   1204     },
   1205     {
   1206       "expected": {
   1207         "ask_marker": null,
   1208         "classification": "photo_update",
   1209         "contract_id": "radroots.social.photo_update.v1",
   1210         "diagnostics": [],
   1211         "imeta": [
   1212           {
   1213             "diagnostics": [],
   1214             "fallbacks": [
   1215               "https://cache-one.example/harvest.webp",
   1216               "https://cache-two.example/harvest.webp"
   1217             ],
   1218             "qualifies_photo": true,
   1219             "raw_fields": [
   1220               "url https://cdn.example/harvest.webp",
   1221               "x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1222               "m image/webp",
   1223               "dim 1200x900",
   1224               "size 12345",
   1225               "alt Harvest",
   1226               "fallback https://cache-one.example/harvest.webp",
   1227               "x-farm cultivar-strawberry",
   1228               "fallback https://cache-two.example/harvest.webp",
   1229               "future-field retained value"
   1230             ],
   1231             "unknown_fields": [
   1232               "x-farm cultivar-strawberry",
   1233               "future-field retained value"
   1234             ],
   1235             "url": "https://cdn.example/harvest.webp",
   1236             "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1237             "media_type": "image/webp",
   1238             "dimensions": {
   1239               "width": 1200,
   1240               "height": 900
   1241             },
   1242             "size": 12345,
   1243             "alt": "Harvest"
   1244           }
   1245         ]
   1246       },
   1247       "id": "project_signed_photo_preserves_fallbacks_and_unknown_fields",
   1248       "input": {
   1249         "event_json": "{\"id\":\"c0b5925be0ec524708ab73002b7c1c8aa4269cf1aa63fc7ca96f86d2b458e12b\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635402,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/harvest.webp\",\"x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"m image/webp\",\"dim 1200x900\",\"size 12345\",\"alt Harvest\",\"fallback https://cache-one.example/harvest.webp\",\"x-farm cultivar-strawberry\",\"fallback https://cache-two.example/harvest.webp\",\"future-field retained value\"]],\"content\":\"Harvest https://cdn.example/harvest.webp\",\"sig\":\"fb20b6c59a7e0fd41d2ffd5c238d580d1d4d0a1d44db0a44efa1a82eb9497b963ef1bef3dcdbb1463f6229db60ccfd3fd915ae098c14261d4b33e2478a93e451\"}"
   1250       },
   1251       "kind": "social.post.project_verified_event.valid"
   1252     },
   1253     {
   1254       "expected": {
   1255         "ask_marker": [
   1256           "t",
   1257           " RADROOTS-ASK "
   1258         ],
   1259         "classification": "ask",
   1260         "contract_id": "radroots.social.ask.v1",
   1261         "diagnostics": [
   1262           "imeta_metadata_missing",
   1263           "imeta_hash_invalid"
   1264         ],
   1265         "imeta": [
   1266           {
   1267             "diagnostics": [
   1268               "imeta_metadata_missing",
   1269               "imeta_hash_invalid"
   1270             ],
   1271             "fallbacks": [],
   1272             "qualifies_photo": false,
   1273             "raw_fields": [
   1274               "url https://cdn.example/leaf.webp",
   1275               "x malformed"
   1276             ],
   1277             "unknown_fields": [],
   1278             "url": "https://cdn.example/leaf.webp",
   1279             "sha256": "malformed",
   1280             "media_type": null,
   1281             "dimensions": null,
   1282             "size": null,
   1283             "alt": null
   1284           }
   1285         ]
   1286       },
   1287       "id": "project_signed_normalized_ask_precedes_malformed_media",
   1288       "input": {
   1289         "event_json": "{\"id\":\"5d15a6d516260b6d6cf4a7f2a22fcd349c2bee302fda2c92fa1679996290a1ac\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635220,\"kind\":1,\"tags\":[[\"t\",\" RADROOTS-ASK \"],[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Question https://cdn.example/leaf.webp\",\"sig\":\"538636b2d163d1a392f4c3fced234ba6af5c9b3f1fc66e3bdbbe374287cf4e62adec6369056a3f096be1b268451c2fb25040ae8e0d67188284c2da18832c20d1\"}"
   1290       },
   1291       "kind": "social.post.project_verified_event.valid"
   1292     },
   1293     {
   1294       "expected": {
   1295         "ask_marker": null,
   1296         "classification": "update",
   1297         "contract_id": "radroots.social.update.v1",
   1298         "diagnostics": [
   1299           "imeta_metadata_missing",
   1300           "imeta_hash_invalid"
   1301         ],
   1302         "imeta": [
   1303           {
   1304             "diagnostics": [
   1305               "imeta_metadata_missing",
   1306               "imeta_hash_invalid"
   1307             ],
   1308             "fallbacks": [],
   1309             "qualifies_photo": false,
   1310             "raw_fields": [
   1311               "url https://cdn.example/leaf.webp",
   1312               "x malformed"
   1313             ],
   1314             "unknown_fields": [],
   1315             "url": "https://cdn.example/leaf.webp",
   1316             "sha256": "malformed",
   1317             "media_type": null,
   1318             "dimensions": null,
   1319             "size": null,
   1320             "alt": null
   1321           }
   1322         ]
   1323       },
   1324       "id": "project_signed_malformed_imeta_is_update",
   1325       "input": {
   1326         "event_json": "{\"id\":\"522177f3d46d3cefb674037b50a7512338ed8a5170154dcc5bf2576a36179bcd\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635401,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Leaf https://cdn.example/leaf.webp\",\"sig\":\"4b60c2bc2019797978bdb77ad1534a253e829eb1b0baff9be4f4e482ed771ba146b2a4885366163760fe44a6840c6ab31b777deffb9c5306a974a25cd7e5aefa\"}"
   1327       },
   1328       "kind": "social.post.project_verified_event.valid"
   1329     },
   1330     {
   1331       "expected": {
   1332         "ask_marker": null,
   1333         "classification": "update",
   1334         "contract_id": "radroots.social.update.v1",
   1335         "diagnostics": [
   1336           "imeta_singleton_duplicate"
   1337         ],
   1338         "imeta": [
   1339           {
   1340             "diagnostics": [
   1341               "imeta_singleton_duplicate"
   1342             ],
   1343             "fallbacks": [],
   1344             "qualifies_photo": false,
   1345             "raw_fields": [
   1346               "url https://cdn.example/harvest.webp",
   1347               "x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1348               "x bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
   1349               "m image/webp",
   1350               "dim 1200x900",
   1351               "size 12345",
   1352               "alt Harvest"
   1353             ],
   1354             "unknown_fields": [],
   1355             "url": "https://cdn.example/harvest.webp",
   1356             "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1357             "media_type": "image/webp",
   1358             "dimensions": {
   1359               "width": 1200,
   1360               "height": 900
   1361             },
   1362             "size": 12345,
   1363             "alt": "Harvest"
   1364           }
   1365         ]
   1366       },
   1367       "id": "project_signed_duplicate_singleton_is_update",
   1368       "input": {
   1369         "event_json": "{\"id\":\"62e2fa87b57ed7ed453ffb28a72ea9ae73c7473561c4ec35504b9576e52da8cb\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635403,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/harvest.webp\",\"x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"x bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"m image/webp\",\"dim 1200x900\",\"size 12345\",\"alt Harvest\"]],\"content\":\"Harvest https://cdn.example/harvest.webp\",\"sig\":\"07e94ffa547a84aa3fc07649d45020e8e2057fb7b65783e87a62c04cb04a3a5a873cce66f019e18610e28f6393b4f5fcfcb378bc823063d6d3fffd06e40a4ad1\"}"
   1370       },
   1371       "kind": "social.post.project_verified_event.valid"
   1372     },
   1373     {
   1374       "expected": {
   1375         "ask_marker": null,
   1376         "classification": "update",
   1377         "contract_id": "radroots.social.update.v1",
   1378         "diagnostics": [
   1379           "imeta_metadata_missing",
   1380           "imeta_hash_invalid"
   1381         ],
   1382         "imeta": [
   1383           {
   1384             "diagnostics": [],
   1385             "fallbacks": [],
   1386             "qualifies_photo": true,
   1387             "raw_fields": [
   1388               "url https://cdn.example/harvest.webp",
   1389               "x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1390               "m image/webp",
   1391               "dim 1200x900",
   1392               "size 12345",
   1393               "alt Harvest"
   1394             ],
   1395             "unknown_fields": [],
   1396             "url": "https://cdn.example/harvest.webp",
   1397             "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1398             "media_type": "image/webp",
   1399             "dimensions": {
   1400               "width": 1200,
   1401               "height": 900
   1402             },
   1403             "size": 12345,
   1404             "alt": "Harvest"
   1405           },
   1406           {
   1407             "diagnostics": [
   1408               "imeta_metadata_missing",
   1409               "imeta_hash_invalid"
   1410             ],
   1411             "fallbacks": [],
   1412             "qualifies_photo": false,
   1413             "raw_fields": [
   1414               "url https://cdn.example/leaf.webp",
   1415               "x malformed"
   1416             ],
   1417             "unknown_fields": [],
   1418             "url": "https://cdn.example/leaf.webp",
   1419             "sha256": "malformed",
   1420             "media_type": null,
   1421             "dimensions": null,
   1422             "size": null,
   1423             "alt": null
   1424           }
   1425         ]
   1426       },
   1427       "id": "project_signed_mixed_imeta_is_update",
   1428       "input": {
   1429         "event_json": "{\"id\":\"9316dda070247a72979c3146845ff0e8e5309505c8e922276552546d65d420d8\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635404,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/harvest.webp\",\"x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"m image/webp\",\"dim 1200x900\",\"size 12345\",\"alt Harvest\"],[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Harvest https://cdn.example/harvest.webp and https://cdn.example/leaf.webp\",\"sig\":\"e6fe6f76ad608d82da58b0f5ea4bb43676a11b3785789aea52c5041b6c72a732330a0883f9e3f384862758809cf5150b8ebd9392ff1907869daa9081e01791bb\"}"
   1430       },
   1431       "kind": "social.post.project_verified_event.valid"
   1432     },
   1433     {
   1434       "expected": {
   1435         "ask_marker": null,
   1436         "classification": "thread_excluded",
   1437         "contract_id": "radroots.social.post.v1",
   1438         "diagnostics": [],
   1439         "imeta": []
   1440       },
   1441       "id": "project_signed_thread_candidate_precedes_ask_and_media",
   1442       "input": {
   1443         "event_json": "{\"id\":\"b3c2d97629ba09946a241cf44702e5fafd98c059ab7fccfd654db0fb642c3b40\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635405,\"kind\":1,\"tags\":[[\"e\",\"ask-event-id\"],[\"p\",\"bob\"],[\"t\",\"radroots-ask\"],[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Reply https://cdn.example/leaf.webp\",\"sig\":\"cfdb2b7e04f49c1c5794d81bdffc38f6393ae85b3432c1737545b5fd83f76748d5a82514736f550624e569c7a5f1ef2e6ec759396668222f3204554bb5cbc042\"}"
   1444       },
   1445       "kind": "social.post.project_verified_event.valid"
   1446     },
   1447     {
   1448       "expected": {
   1449         "ask_marker": null,
   1450         "classification": "update",
   1451         "contract_id": "radroots.social.update.v1",
   1452         "diagnostics": [
   1453           "ask_marker_shape"
   1454         ],
   1455         "imeta": []
   1456       },
   1457       "id": "project_signed_malformed_ask_marker_is_update",
   1458       "input": {
   1459         "event_json": "{\"id\":\"8f003700904a568e00c603605545f455766033fdabeaf76d7762c54c52a568ca\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635406,\"kind\":1,\"tags\":[[\"t\",\"RADROOTS-ASK\",\"extra\"]],\"content\":\"Question\",\"sig\":\"74716474d09a6aaf9b0301af77602567b87ab0761f753d4225e2f72ee671d58f69b5dbba3cfe7be44a15e98768674224bf9a03423c4e47f1ee88d3b9d8a63329\"}"
   1460       },
   1461       "kind": "social.post.project_verified_event.valid"
   1462     },
   1463     {
   1464       "expected": {
   1465         "error": "ask_marker_count"
   1466       },
   1467       "id": "project_signed_duplicate_normalized_ask_marker",
   1468       "input": {
   1469         "event_json": "{\"id\":\"076e0147f35e244daf5578b67a6cf0747d09ddaa7563fb3d195cf06be3057b86\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635460,\"kind\":1,\"tags\":[[\"t\",\"radroots-ask\"],[\"t\",\" RADROOTS-ASK \"]],\"content\":\"Question\",\"sig\":\"873e2e9f6aa4443c83e51866bc87f0ed4a0388a37187a155c03104d6ad551a2f2017cd841855796a73f89cdf7ed0910946f8a7fa8fa1e678ced8b3865b95d55d\"}"
   1470       },
   1471       "kind": "social.post.project_verified_event.invalid"
   1472     },
   1473     {
   1474       "expected": {
   1475         "error": "invalid_kind"
   1476       },
   1477       "id": "project_signed_kind_20_is_not_photo_update",
   1478       "input": {
   1479         "event_json": "{\"id\":\"09e20ba068fcbfb682ba0a496c5bfaade0f2240cf2874f23af51125bb701f5b1\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635580,\"kind\":20,\"tags\":[],\"content\":\"photo\",\"sig\":\"0aab6b82c08fa75db4b729b76a5fd2d1e726d103c436939a67888fe81bc21f93c875beedcf521e99a6cb0323382fb277be20e8982641f49dfa053ea54d165bb1\"}"
   1480       },
   1481       "kind": "social.post.project_verified_event.invalid"
   1482     },
   1483     {
   1484       "expected": {
   1485         "outcome": "root",
   1486         "contract_id": "radroots.social.update.v1",
   1487         "projection": {
   1488           "ask_marker": null,
   1489           "classification": "update",
   1490           "contract_id": "radroots.social.update.v1",
   1491           "diagnostics": [],
   1492           "imeta": []
   1493         }
   1494       },
   1495       "id": "admit_signed_update",
   1496       "input": {
   1497         "event_json": "{\"id\":\"fb3f42caf9db337a7f1c0d49cd8ba5191f08dc1c419ed0640f7ea48a924e3bf3\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781632860,\"kind\":1,\"tags\":[],\"content\":\"The first strawberries are ready.\",\"sig\":\"dba0a86fee54304c2b419742f186e74d7edca5fc7234c8aa294651de9bc2f16bf829d46f36ec759a767c4ccd1841a73243eae89afd5f6c89b2243491bfbb5f50\"}"
   1498       },
   1499       "kind": "social.post.verify_and_admit_event.valid"
   1500     },
   1501     {
   1502       "expected": {
   1503         "outcome": "root",
   1504         "contract_id": "radroots.social.photo_update.v1",
   1505         "projection": {
   1506           "ask_marker": null,
   1507           "classification": "photo_update",
   1508           "contract_id": "radroots.social.photo_update.v1",
   1509           "diagnostics": [],
   1510           "imeta": [
   1511             {
   1512               "diagnostics": [],
   1513               "fallbacks": [],
   1514               "qualifies_photo": true,
   1515               "raw_fields": [
   1516                 "url https://cdn.example/harvest.webp",
   1517                 "x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1518                 "m image/webp",
   1519                 "dim 1200x900",
   1520                 "size 12345",
   1521                 "alt Harvest"
   1522               ],
   1523               "unknown_fields": [],
   1524               "url": "https://cdn.example/harvest.webp",
   1525               "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   1526               "media_type": "image/webp",
   1527               "dimensions": {
   1528                 "width": 1200,
   1529                 "height": 900
   1530               },
   1531               "size": 12345,
   1532               "alt": "Harvest"
   1533             }
   1534           ]
   1535         }
   1536       },
   1537       "id": "admit_signed_structural_photo",
   1538       "input": {
   1539         "event_json": "{\"id\":\"f06df29688089218b10424a85a070ecd9fe0e7143bf24622fdd5f031fbe00029\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635400,\"kind\":1,\"tags\":[[\"imeta\",\"url https://cdn.example/harvest.webp\",\"x aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"m image/webp\",\"dim 1200x900\",\"size 12345\",\"alt Harvest\"]],\"content\":\"Harvest https://cdn.example/harvest.webp\",\"sig\":\"2f0863959b972f639d028c65d9ca0c2b62d5ad57530ad4c810e67941d1d50ab249488f570b9905095db2df18440aac399907dda5ca0e8289c49e625ce8b0b28b\"}"
   1540       },
   1541       "kind": "social.post.verify_and_admit_event.valid"
   1542     },
   1543     {
   1544       "expected": {
   1545         "outcome": "root",
   1546         "contract_id": "radroots.social.ask.v1",
   1547         "projection": {
   1548           "ask_marker": [
   1549             "t",
   1550             " RADROOTS-ASK "
   1551           ],
   1552           "classification": "ask",
   1553           "contract_id": "radroots.social.ask.v1",
   1554           "diagnostics": [
   1555             "imeta_metadata_missing",
   1556             "imeta_hash_invalid"
   1557           ],
   1558           "imeta": [
   1559             {
   1560               "diagnostics": [
   1561                 "imeta_metadata_missing",
   1562                 "imeta_hash_invalid"
   1563               ],
   1564               "fallbacks": [],
   1565               "qualifies_photo": false,
   1566               "raw_fields": [
   1567                 "url https://cdn.example/leaf.webp",
   1568                 "x malformed"
   1569               ],
   1570               "unknown_fields": [],
   1571               "url": "https://cdn.example/leaf.webp",
   1572               "sha256": "malformed",
   1573               "media_type": null,
   1574               "dimensions": null,
   1575               "size": null,
   1576               "alt": null
   1577             }
   1578           ]
   1579         }
   1580       },
   1581       "id": "admit_signed_normalized_ask_precedes_malformed_media",
   1582       "input": {
   1583         "event_json": "{\"id\":\"5d15a6d516260b6d6cf4a7f2a22fcd349c2bee302fda2c92fa1679996290a1ac\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635220,\"kind\":1,\"tags\":[[\"t\",\" RADROOTS-ASK \"],[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Question https://cdn.example/leaf.webp\",\"sig\":\"538636b2d163d1a392f4c3fced234ba6af5c9b3f1fc66e3bdbbe374287cf4e62adec6369056a3f096be1b268451c2fb25040ae8e0d67188284c2da18832c20d1\"}"
   1584       },
   1585       "kind": "social.post.verify_and_admit_event.valid"
   1586     },
   1587     {
   1588       "expected": {
   1589         "outcome": "thread_excluded",
   1590         "projection": {
   1591           "ask_marker": null,
   1592           "classification": "thread_excluded",
   1593           "contract_id": "radroots.social.post.v1",
   1594           "diagnostics": [],
   1595           "imeta": []
   1596         }
   1597       },
   1598       "id": "admit_signed_thread_candidate_precedes_ask_and_media",
   1599       "input": {
   1600         "event_json": "{\"id\":\"b3c2d97629ba09946a241cf44702e5fafd98c059ab7fccfd654db0fb642c3b40\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635405,\"kind\":1,\"tags\":[[\"e\",\"ask-event-id\"],[\"p\",\"bob\"],[\"t\",\"radroots-ask\"],[\"imeta\",\"url https://cdn.example/leaf.webp\",\"x malformed\"]],\"content\":\"Reply https://cdn.example/leaf.webp\",\"sig\":\"cfdb2b7e04f49c1c5794d81bdffc38f6393ae85b3432c1737545b5fd83f76748d5a82514736f550624e569c7a5f1ef2e6ec759396668222f3204554bb5cbc042\"}"
   1601       },
   1602       "kind": "social.post.verify_and_admit_event.valid"
   1603     },
   1604     {
   1605       "expected": {
   1606         "outcome": "thread_excluded",
   1607         "projection": {
   1608           "ask_marker": null,
   1609           "classification": "thread_excluded",
   1610           "contract_id": "radroots.social.post.v1",
   1611           "diagnostics": [],
   1612           "imeta": []
   1613         }
   1614       },
   1615       "id": "admit_signed_empty_e_thread_candidate",
   1616       "input": {
   1617         "event_json": "{\"id\":\"c3cc3425ba033b045d48f78da004aa74018ce889f0918ad455e03f732cef09e5\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635610,\"kind\":1,\"tags\":[[\"e\"]],\"content\":\"Empty e tag\",\"sig\":\"d45829da243b29287e2c270338835bad8634b1a1c4c5aa5ced8a4d4da72cc2adc4005573ad240a1964e0ad4d0584c2fc3f3cf9a5ec10b7792bb1f789762401a8\"}"
   1618       },
   1619       "kind": "social.post.verify_and_admit_event.valid"
   1620     },
   1621     {
   1622       "expected": {
   1623         "outcome": "thread_excluded",
   1624         "projection": {
   1625           "ask_marker": null,
   1626           "classification": "thread_excluded",
   1627           "contract_id": "radroots.social.post.v1",
   1628           "diagnostics": [],
   1629           "imeta": []
   1630         }
   1631       },
   1632       "id": "admit_signed_empty_e_value_thread_candidate",
   1633       "input": {
   1634         "event_json": "{\"id\":\"41a8d475f22365c0518fa7db97ee684a071fbe886b083050eb34bb66c2066933\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635611,\"kind\":1,\"tags\":[[\"e\",\"\"]],\"content\":\"Empty e tag value\",\"sig\":\"ebf7c7ae45660bb48ff8c5113119ab359ffa698a6697018023a966edbd07cf3e6d586d4c9e4461a5d6fe2bf840291a081dd89912404eaa1e41e95787165bfbfd\"}"
   1635       },
   1636       "kind": "social.post.verify_and_admit_event.valid"
   1637     },
   1638     {
   1639       "expected": {
   1640         "error": "ask_marker_count"
   1641       },
   1642       "id": "admit_signed_duplicate_normalized_ask_marker",
   1643       "input": {
   1644         "event_json": "{\"id\":\"076e0147f35e244daf5578b67a6cf0747d09ddaa7563fb3d195cf06be3057b86\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635460,\"kind\":1,\"tags\":[[\"t\",\"radroots-ask\"],[\"t\",\" RADROOTS-ASK \"]],\"content\":\"Question\",\"sig\":\"873e2e9f6aa4443c83e51866bc87f0ed4a0388a37187a155c03104d6ad551a2f2017cd841855796a73f89cdf7ed0910946f8a7fa8fa1e678ced8b3865b95d55d\"}"
   1645       },
   1646       "kind": "social.post.verify_and_admit_event.invalid"
   1647     },
   1648     {
   1649       "expected": {
   1650         "error": "invalid_kind"
   1651       },
   1652       "id": "admit_signed_kind_20_is_not_photo_update",
   1653       "input": {
   1654         "event_json": "{\"id\":\"09e20ba068fcbfb682ba0a496c5bfaade0f2240cf2874f23af51125bb701f5b1\",\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"created_at\":1781635580,\"kind\":20,\"tags\":[],\"content\":\"photo\",\"sig\":\"0aab6b82c08fa75db4b729b76a5fd2d1e726d103c436939a67888fe81bc21f93c875beedcf521e99a6cb0323382fb277be20e8982641f49dfa053ea54d165bb1\"}"
   1655       },
   1656       "kind": "social.post.verify_and_admit_event.invalid"
   1657     },
   1658     {
   1659       "expected": {
   1660         "error": "signature_invalid"
   1661       },
   1662       "id": "admit_signed_invalid_signature",
   1663       "input": {
   1664         "event_json": "{\"content\":\"Tamper signature\",\"created_at\":1781635600,\"id\":\"1b921b22caf6f648e9992773e1f680ffcb5b3e12d61cc33bc74a3d329dfdfa10\",\"kind\":1,\"pubkey\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"sig\":\"051c75db06b0a8b2383b947408b3f704990a74a1ccf0d7c35b438c88bb9ffda97604be8df3c677468814abb516b0a0d5e0dfbdb010d00fb2efb1d91c694a5b7f\",\"tags\":[]}"
   1665       },
   1666       "kind": "social.post.verify_and_admit_event.invalid"
   1667     }
   1668   ]
   1669 }