{
 "_doc": "Golden vectors for verify.py --selfcheck. Regenerate: python3 testdata/make_vectors.py attest: source attestations (ailedger-attest-1) signed by oplog_attest.py (cryptography) with a throwaway key, 2026-09-30.",
 "ed25519": [
  {
   "name": "RFC 8032 TEST 1",
   "public": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
   "message": "",
   "signature": "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b",
   "valid": true
  },
  {
   "name": "RFC 8032 TEST 2",
   "public": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
   "message": "72",
   "signature": "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00",
   "valid": true
  },
  {
   "name": "RFC 8032 TEST 3",
   "public": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
   "message": "af82",
   "signature": "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
   "valid": true
  },
  {
   "name": "TEST 3, message altered",
   "public": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
   "message": "af83",
   "signature": "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
   "valid": false
  },
  {
   "name": "TEST 3, R altered",
   "public": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
   "message": "af82",
   "signature": "7291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
   "valid": false
  },
  {
   "name": "TEST 3, S + L (non-canonical, malleability)",
   "public": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
   "message": "af82",
   "signature": "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac05d391b0a77904e98404ef037747a56e4a7c15e9716ed28dc027beceea1ec41a",
   "valid": false
  },
  {
   "name": "TEST 3 signature, TEST 2 key",
   "public": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
   "message": "af82",
   "signature": "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
   "valid": false
  }
 ],
 "canonical": [
  {
   "name": "minimal: missing scalars -> '', missing arrays -> '[]'",
   "row": {
    "event_id": "00000000-0000-4000-8000-000000000001",
    "timestamp": "2026-09-30T12:00:00.000000Z",
    "tenant_id": "ailedger",
    "system_id": "lannes",
    "canon_v": "1",
    "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000"
   },
   "canonical": "00000000-0000-4000-8000-000000000001|2026-09-30T12:00:00.000000Z|ailedger|lannes|||||[]||||||||[]||||[]||1|0000000000000000000000000000000000000000000000000000000000000000",
   "sha256": "b7ede7eee7b0f25741803992a3f8383065945837abb94c9daeb9439e94440976"
  },
  {
   "name": "explicit nulls equal missing",
   "row": {
    "event_id": "00000000-0000-4000-8000-000000000001",
    "timestamp": "2026-09-30T12:00:00.000000Z",
    "tenant_id": "ailedger",
    "system_id": "lannes",
    "canon_v": "1",
    "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
    "actor": null,
    "refs": null,
    "flags_raised": null,
    "caused_by": null,
    "evidence": null
   },
   "canonical": "00000000-0000-4000-8000-000000000001|2026-09-30T12:00:00.000000Z|ailedger|lannes|||||[]||||||||[]||||[]||1|0000000000000000000000000000000000000000000000000000000000000000",
   "sha256": "b7ede7eee7b0f25741803992a3f8383065945837abb94c9daeb9439e94440976"
  },
  {
   "name": "booleans, arrays, fixed-point strings",
   "row": {
    "event_id": "00000000-0000-4000-8000-000000000001",
    "timestamp": "2026-09-30T12:00:00.000000Z",
    "tenant_id": "ailedger",
    "system_id": "lannes",
    "canon_v": "1",
    "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
    "actor": "lannes-desk",
    "source": "timer",
    "decision_type": "build",
    "summary": "built verify.py",
    "refs": [
     "a",
     "b|c"
    ],
    "outcome": "done",
    "cost_usd": "0.0100",
    "latency_s": "1.5",
    "human_in_loop": false,
    "flags_raised": [
     "x"
    ],
    "tier": "shared",
    "topic": "ai-ledger",
    "caused_by": [
     "e1",
     "e2"
    ]
   },
   "canonical": "00000000-0000-4000-8000-000000000001|2026-09-30T12:00:00.000000Z|ailedger|lannes|lannes-desk|timer|build|built verify.py|[\"a\",\"b|c\"]|done||0.0100|1.5|||false|[\"x\"]||shared|ai-ledger|[\"e1\",\"e2\"]||1|0000000000000000000000000000000000000000000000000000000000000000",
   "sha256": "d0c28d39f839e4ac0319ad21256b37e86dac07b018cccdcccf459dd76107ee8b"
  },
  {
   "name": "UTF-8 kept, pipe inside a cell not escaped",
   "row": {
    "event_id": "00000000-0000-4000-8000-000000000001",
    "timestamp": "2026-09-30T12:00:00.000000Z",
    "tenant_id": "ailedger",
    "system_id": "lannes",
    "canon_v": "1",
    "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
    "summary": "café — Ωmega | pipe",
    "human_in_loop": true
   },
   "canonical": "00000000-0000-4000-8000-000000000001|2026-09-30T12:00:00.000000Z|ailedger|lannes||||café — Ωmega | pipe|[]|||||||true|[]||||[]||1|0000000000000000000000000000000000000000000000000000000000000000",
   "sha256": "518146e2f5fd4be7a84d1f46f5e54b658abe91bc66294f0a4b62fa7da66ed48d"
  },
  {
   "name": "object cell: sorted keys, compact separators",
   "row": {
    "event_id": "00000000-0000-4000-8000-000000000001",
    "timestamp": "2026-09-30T12:00:00.000000Z",
    "tenant_id": "ailedger",
    "system_id": "lannes",
    "canon_v": "1",
    "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
    "model_version": {
     "b": 1,
     "a": [
      "é",
      null,
      true
     ]
    }
   },
   "canonical": "00000000-0000-4000-8000-000000000001|2026-09-30T12:00:00.000000Z|ailedger|lannes|||||[]|||||{\"a\":[\"é\",null,true],\"b\":1}|||[]||||[]||1|0000000000000000000000000000000000000000000000000000000000000000",
   "sha256": "7c584e5b4b769f6667b6a7cccd77bf2b34f90730131fdfc14e9dd1632c1ea8cc"
  }
 ],
 "merkle": {
  "leaves": [
   "5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9",
   "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b",
   "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35",
   "4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce",
   "4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a",
   "ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d",
   "e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683",
   "7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451",
   "2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3"
  ],
  "roots": [
   {
    "size": 0,
    "root": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
   },
   {
    "size": 1,
    "root": "13a77175e35eb1d9da91ee14df0d7772cea71289800206e2b45c882ecb06efbf"
   },
   {
    "size": 2,
    "root": "bbb441530bdded54e6e2bfcdc829819ff39b30768eb9f023071dffc16b410f10"
   },
   {
    "size": 3,
    "root": "8be871f13785b4c81a1700459c76ac2b3ae2caebb7876c376e223c6adff98c47"
   },
   {
    "size": 4,
    "root": "626635eec4e2fa4a75475a0f1d633dbee55b6783247c108b9a12dcc60f13836e"
   },
   {
    "size": 5,
    "root": "4e23fb40d8876f1299cca9b3c28432a01b11d1a20126606914612892ff2e09a7"
   },
   {
    "size": 6,
    "root": "49a8d9139a2333a5c1b7cd5a8db90bc3f7f308dd7fbdbf9e4ffaed988f1764fb"
   },
   {
    "size": 7,
    "root": "5653c4ab2514ccd6ea4f0159702d2aba901f2562aa75abcff5a19e344bee038f"
   },
   {
    "size": 8,
    "root": "da17ac5d45a1b0c50260c7e411bf342ba2a41c9c824bb3b6404e5330a585a057"
   },
   {
    "size": 9,
    "root": "17b79b3c5a50a0a7ef06b2dda6828a9f42288d93d7436ab078c29127c4359b3f"
   }
  ],
  "inclusion": [
   {
    "size": 1,
    "index": 0,
    "path": [],
    "root": "13a77175e35eb1d9da91ee14df0d7772cea71289800206e2b45c882ecb06efbf"
   },
   {
    "size": 2,
    "index": 1,
    "path": [
     "13a77175e35eb1d9da91ee14df0d7772cea71289800206e2b45c882ecb06efbf"
    ],
    "root": "bbb441530bdded54e6e2bfcdc829819ff39b30768eb9f023071dffc16b410f10"
   },
   {
    "size": 5,
    "index": 4,
    "path": [
     "626635eec4e2fa4a75475a0f1d633dbee55b6783247c108b9a12dcc60f13836e"
    ],
    "root": "4e23fb40d8876f1299cca9b3c28432a01b11d1a20126606914612892ff2e09a7"
   },
   {
    "size": 7,
    "index": 3,
    "path": [
     "393ec8686f48e854d38c68530b0adc1469655252e12ec7d849e4e4117b7ad4a7",
     "bbb441530bdded54e6e2bfcdc829819ff39b30768eb9f023071dffc16b410f10",
     "60e13b3db43ecf817b5b75316866a4ed828fc98a52607c30fe20359b5ca40b41"
    ],
    "root": "5653c4ab2514ccd6ea4f0159702d2aba901f2562aa75abcff5a19e344bee038f"
   },
   {
    "size": 8,
    "index": 0,
    "path": [
     "58705e7af8dbab9f2f5b6449ba18d22cce7eedf245fca8dcfd93cf0f906ccf95",
     "94d8e890a83c68081af355575ee41d8738f4eab7150e5b41862787b5996682ef",
     "dda8915079e27037f07130ff899b9ce7e6d619fec11809b6afa5b3794a239dc8"
    ],
    "root": "da17ac5d45a1b0c50260c7e411bf342ba2a41c9c824bb3b6404e5330a585a057"
   },
   {
    "size": 9,
    "index": 8,
    "path": [
     "da17ac5d45a1b0c50260c7e411bf342ba2a41c9c824bb3b6404e5330a585a057"
    ],
    "root": "17b79b3c5a50a0a7ef06b2dda6828a9f42288d93d7436ab078c29127c4359b3f"
   }
  ],
  "consistency": [
   {
    "old": 1,
    "new": 2,
    "path": [
     "58705e7af8dbab9f2f5b6449ba18d22cce7eedf245fca8dcfd93cf0f906ccf95"
    ]
   },
   {
    "old": 2,
    "new": 5,
    "path": [
     "94d8e890a83c68081af355575ee41d8738f4eab7150e5b41862787b5996682ef",
     "4c6bf817639562abeec7d3a2a6d4d2aaf3e1e818e0ff82cd04a43463ff84f6d6"
    ]
   },
   {
    "old": 3,
    "new": 7,
    "path": [
     "393ec8686f48e854d38c68530b0adc1469655252e12ec7d849e4e4117b7ad4a7",
     "395421df5d0a75bdeb3c2ff42b96c071e4e197b1df5b7f7bbfd3e61a4864de46",
     "bbb441530bdded54e6e2bfcdc829819ff39b30768eb9f023071dffc16b410f10",
     "60e13b3db43ecf817b5b75316866a4ed828fc98a52607c30fe20359b5ca40b41"
    ]
   },
   {
    "old": 4,
    "new": 8,
    "path": [
     "dda8915079e27037f07130ff899b9ce7e6d619fec11809b6afa5b3794a239dc8"
    ]
   },
   {
    "old": 6,
    "new": 9,
    "path": [
     "3c2be77f2a522cf0fc58d00354bafb4acfe0c96d9cac5853b46ebbcf2dd47b43",
     "5f54a87fb83d5d3dc498468618058593313e81beaba80a0478a351d340e055fd",
     "626635eec4e2fa4a75475a0f1d633dbee55b6783247c108b9a12dcc60f13836e",
     "4ed5134b64f6c048b04a85c265e4cc9640b66af56c7f676235561a479cc5db77"
    ]
   },
   {
    "old": 5,
    "new": 5,
    "path": []
   }
  ]
 },
 "chains": [
  {
   "name": "4 signed rows, one cosigned, checkpoint over all 4",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "hnJJ8GMhMr8qDYmiI7LJ1buYS6GPRD19G0svbe3NlX4LOVl1I2uaQQc0WCkjH1LdOTNgNIxLqDqqAyts+QlhAQ=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": true,
   "checkpoint": {
    "v": "ailedger-sth-1",
    "tenant_id": "ailedger",
    "tree_size": 4,
    "root_hash": "0a5793b07991cb292eca503cd6fef31681e4d4581ee7f9db7647ece3265e0f74",
    "chain_head_hash": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
    "last_event_id": "00000000-0000-4000-8000-000000000103",
    "timestamp": "2026-09-30T12:00:00Z",
    "prev": null,
    "signer": {
     "node_id": "test_node",
     "source_did": "did:lattice:node:test_node",
     "key_fingerprint": "21fe31dfa154a261",
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
     "canon": "ailedger-sth-1"
    },
    "sig": "oSfIOUuUbpovORU+mx2aqPDXXUsgjU8NdBFc4ayE0b87PqfhBUZUNJStTypeXADQmJKtWB7H7f9T+T5KC2DnCg=="
   },
   "checkpoint_ok": true
  },
  {
   "name": "summary edited after signing",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1 (edited)",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "hnJJ8GMhMr8qDYmiI7LJ1buYS6GPRD19G0svbe3NlX4LOVl1I2uaQQc0WCkjH1LdOTNgNIxLqDqqAyts+QlhAQ=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": false,
   "expect_reason": "canonical"
  },
  {
   "name": "row deleted (link broken)",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": false,
   "expect_reason": "hash_chain_prev"
  },
  {
   "name": "valid signature by an unpinned key",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "dac073e0123bdea5",
      "signer_pubkey": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
      "canon": "ailedger-v1"
     },
     "sig": "GcFmi6TVc6ta3NBWFqxDQ3J4e7yJ7+1E3r0skdAP4B13H8WMEw3MXY8eolpaP0owBeTLpnb/MW43nKJY8CdnDA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": false,
   "expect_reason": "untrusted"
  },
  {
   "name": "forged node signature",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "hnJJ8GMhMr8qDYmiI7LJ1buYS6GPRD19G0svbe3NlX4LOVl1I2uaQQc0WCkjH1LdOTNgNIxLqDqqAyts+QlhAQ=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": false,
   "expect_reason": "node signature bad"
  },
  {
   "name": "cosignature over another message",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "hnJJ8GMhMr8qDYmiI7LJ1buYS6GPRD19G0svbe3NlX4LOVl1I2uaQQc0WCkjH1LdOTNgNIxLqDqqAyts+QlhAQ=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "9eqG9AmfoX9FJ3/8OnZ49MrHCBZmXv8nzS+FTwOXfv857IeNH4fQe2Pk0Y6EO0VvGNp/vMrHcVOOcukqDeptAQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": false,
   "expect_reason": "cosignature bad"
  },
  {
   "name": "checkpoint with a wrong root",
   "rows": [
    {
     "event_id": "00000000-0000-4000-8000-000000000100",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "0000000000000000000000000000000000000000000000000000000000000000",
     "summary": "row 0",
     "hash_chain_self": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "ogpV8UHDMW3qa1naMcIfJbDuhk+Hz0S8noIDLYIx85etsz/0nnopP2HnXQVB1YviK4BAp9Rni++cu/ld1/HKBA=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000101",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "c6381e03416141c6ac12110bf61a482e5433b3b89228e188b07aaf1d13fe9366",
     "summary": "row 1",
     "hash_chain_self": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "hnJJ8GMhMr8qDYmiI7LJ1buYS6GPRD19G0svbe3NlX4LOVl1I2uaQQc0WCkjH1LdOTNgNIxLqDqqAyts+QlhAQ=="
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000102",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "1bed4bb1e53214bce03852e5d21a110a0dffffaa3fb832e0a7f2ddd143789500",
     "summary": "row 2",
     "hash_chain_self": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "0P1a05R5bzJWJOeJRfb2WsuiY5M8U507A3jS0cvWOxs2pyxZbcvkfh9ripT3i+yYoF0i/s+GO6MXb6HsiHuGDg==",
     "cosig": {
      "principal": "test-desk",
      "key_fingerprint": "39f713d0a644253f",
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "canon": "ailedger-v1",
      "sig": "O9SFdJIK4ABVIR+ATrLbNM5jy3jQgBq57YRCgWT+XhfJjs2JBCQC0xWmktnnciRshTGFbxBRvh19kHNXvQo0CQ=="
     }
    },
    {
     "event_id": "00000000-0000-4000-8000-000000000103",
     "timestamp": "2026-09-30T12:00:00.000000Z",
     "tenant_id": "ailedger",
     "system_id": "lannes",
     "canon_v": "1",
     "hash_chain_prev": "f50f22b5a8a10303fef1862b3f45aa3560c1264e8ebf8b6523c3fe77858430b5",
     "summary": "row 3",
     "hash_chain_self": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
     "signer": {
      "node_id": "test_node",
      "source_did": "did:lattice:node:test_node",
      "key_fingerprint": "21fe31dfa154a261",
      "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
      "canon": "ailedger-v1"
     },
     "sig": "uOKlZmu85Lzmcp83nDc974BPkXUkK1V+dvPdh0FK2NS558WvecrOXiR979IBIadfaYSSweUgs5KOZ7ZoYSrFDg=="
    }
   ],
   "trust": {
    "test_node": {
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
    },
    "principals": {
     "test-desk": {
      "signer_pubkey": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c"
     }
    }
   },
   "expect_ok": true,
   "checkpoint": {
    "v": "ailedger-sth-1",
    "tenant_id": "ailedger",
    "tree_size": 4,
    "root_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "chain_head_hash": "77bdd352fcb9afc6e828cd873ad14536b664573fa013c7d22e62c6960c05b5bf",
    "last_event_id": "00000000-0000-4000-8000-000000000103",
    "timestamp": "2026-09-30T12:00:00Z",
    "prev": null,
    "signer": {
     "node_id": "test_node",
     "source_did": "did:lattice:node:test_node",
     "key_fingerprint": "21fe31dfa154a261",
     "signer_pubkey": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
     "canon": "ailedger-sth-1"
    },
    "sig": "oSfIOUuUbpovORU+mx2aqPDXXUsgjU8NdBFc4ayE0b87PqfhBUZUNJStTypeXADQmJKtWB7H7f9T+T5KC2DnCg=="
   },
   "checkpoint_ok": false
  }
 ],
 "live_rows": [
  {
   "name": "shared tier ad1cd6cf-91bf-4fe2-8762-01b09223ec70 (anchor)",
   "row": {
    "event_id": "ad1cd6cf-91bf-4fe2-8762-01b09223ec70",
    "timestamp": "2026-09-30T22:18:03.025172Z",
    "tenant_id": "ailedger",
    "system_id": "system",
    "actor": "system",
    "source": "countersign",
    "decision_type": "anchor",
    "summary": "signed anchor: commits to chain head 0c777c85b2992c154b838ab9966f7b676d949c4ae3ca9211b8f22225260630ff (48 rows, genesis → d860c2cb-6a4d-4e81-80b4-b7b92b93af14); every row before signing (2026-09-30) is covered by this one node-key signature",
    "refs": [],
    "outcome": "done",
    "evidence": "chain_head 0c777c85b2992c154b838ab9966f7b676d949c4ae3ca9211b8f22225260630ff",
    "cost_usd": null,
    "latency_s": null,
    "model_version": null,
    "inputs_hash": null,
    "human_in_loop": false,
    "flags_raised": [],
    "anchor_event_id": "d860c2cb-6a4d-4e81-80b4-b7b92b93af14",
    "tier": "shared",
    "topic": "ai-ledger",
    "caused_by": [],
    "dedup_key": null,
    "canon_v": "1",
    "hash_chain_prev": "0c777c85b2992c154b838ab9966f7b676d949c4ae3ca9211b8f22225260630ff",
    "hash_chain_self": "eb5e86fc9e320f1e582fc33fc6b8726c49eaad9b73f962d9bbfe9360bbffdea7",
    "signer": {
     "node_id": "jake_forge_l1",
     "source_did": "did:lattice:node:jake_forge_l1",
     "key_fingerprint": "ed4731d614925428",
     "signer_pubkey": "4fae37fb85ea405d2b5c6475bd5d859e64f4af75388977191c89703c4ce7aacc",
     "canon": "ailedger-v1"
    },
    "sig": "1i4QxUEiDZ0KP59Fi/0xDo5Z09gcVUXqfnWfmPi3rnCiN4Cfs5hpE9TQoH6P8grNUigaPTBNCZffNG8azh3gCw=="
   }
  }
 ],
 "live_trust": {
  "jake_forge_l1": {
   "signer_pubkey": "4fae37fb85ea405d2b5c6475bd5d859e64f4af75388977191c89703c4ce7aacc",
   "key_fingerprint": "ed4731d614925428",
   "pinned": "2026-09-30",
   "source": "bridge ledger jake_forge_l1 TASK_* payload.signer_pubkey (50 events, sig-OK)"
  }
 },
 "attest": [
  {
   "name": "attested_ok",
   "row": {
    "event_id": "0b6f6a39-5d0b-4d8e-9d49-7c1d1a2f0a11",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"",
    "topic": "ai-ledger",
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "attesters": {
     "jake_lemur_l1": {
      "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118"
     }
    }
   },
   "expect": "ok"
  },
  {
   "name": "edited_summary",
   "row": {
    "event_id": "0b6f6a39-5d0b-4d8e-9d49-7c1d1a2f0a11",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"!",
    "topic": "ai-ledger",
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "attesters": {
     "jake_lemur_l1": {
      "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118"
     }
    }
   },
   "expect": "bad"
  },
  {
   "name": "moved_to_other_row",
   "row": {
    "event_id": "moved",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"",
    "topic": "ai-ledger",
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "attesters": {
     "jake_lemur_l1": {
      "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118"
     }
    }
   },
   "expect": "bad"
  },
  {
   "name": "dropped_topic",
   "row": {
    "event_id": "0b6f6a39-5d0b-4d8e-9d49-7c1d1a2f0a11",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"",
    "topic": null,
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "attesters": {
     "jake_lemur_l1": {
      "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118"
     }
    }
   },
   "expect": "bad"
  },
  {
   "name": "unpinned_attester",
   "row": {
    "event_id": "0b6f6a39-5d0b-4d8e-9d49-7c1d1a2f0a11",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"",
    "topic": "ai-ledger",
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "attesters": {}
   },
   "expect": "untrusted"
  },
  {
   "name": "node_pin_is_not_attester_pin",
   "row": {
    "event_id": "0b6f6a39-5d0b-4d8e-9d49-7c1d1a2f0a11",
    "actor": "lannes-terminal",
    "source": "terminal",
    "decision_type": "build",
    "summary": "Built x | with a pipe, ünïcode and \"quotes\"",
    "topic": "ai-ledger",
    "hash_chain_self": "0000000000000000000000000000000000000000000000000000000000000000",
    "attest": {
     "node_id": "jake_lemur_l1",
     "source_did": "did:lattice:node:jake_lemur_l1",
     "key_fingerprint": "981fdfca0c63e95c",
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118",
     "canon": "ailedger-attest-1",
     "at": "2026-09-30T23:12:36.580217Z",
     "sig": "UtXt3D7mlh0elDjBJNTsKlv1PRS7eJFZFFxbKLR8bAM+XaNY0Wik1mkqNcKgkB2RNy9XxMG3xJdHuQuLq1hnDg=="
    }
   },
   "trust": {
    "jake_lemur_l1": {
     "signer_pubkey": "9203634691cb1f133270943b7545ba53e54ed44e19c23986016819ac80bf4118"
    }
   },
   "expect": "untrusted"
  }
 ]
}
