{
  "$schema": "https://worlds.pub/spec/v1/test-vectors.schema.json",
  "spec_version": "1.0.0-phase-b",
  "test_vectors_version": "1.0.0",
  "generated_at": "2026-05-09T18:00:00.000Z",
  "description": "Worlds Provenance Sidecar Specification v1 — canonical test vectors. A conforming implementation, given `inputs`, MUST produce every value in `expected` byte-for-byte. Per RFC 8032 §5.1, Ed25519 signatures are deterministic — signature bytes are identical across conforming implementations given the same key + message. Conformance procedure: spec §13.",
  "inputs": {
    "manuscript_id": "test-vectors-001",
    "author_keypair": {
      "private_key_hex": "b71e29bb5e12d53814cb8abc4072805e13d06bc21d8e19810d796fecdb4c6113",
      "public_key_hex": "508f25619d69c1722921dacbd8ee42d79f6095437816755e5e9238f93ffbe3cd",
      "fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81"
    },
    "audit_keypair": {
      "private_key_hex": "859db6cb2865196072f81128974cb09107b6f8ce0d8b5a4ac9b522384c893a9b",
      "public_key_hex": "49d9fc3b61a2fad97c01a7be2e1f1ae0975738d55802d5ed64f1b0ca905d36b3",
      "fingerprint_hex": "cc28851f6e50c337cf8fef1cfeb1efadd15283e7a06906293a63266fdaecc80c"
    },
    "records": [
      {
        "manuscript_id": "test-vectors-001",
        "unit_id": "para-001",
        "author_type": "HUMAN-ORIGINAL",
        "model": null,
        "text_hash_hex": "0abeb294feb687aacd0e77a637298c6e004556c10c2f1b043c1af6122e4a4845",
        "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
        "parent_unit_id": null,
        "created_at_iso": "2026-05-09T18:00:00.000Z"
      },
      {
        "manuscript_id": "test-vectors-001",
        "unit_id": "para-002",
        "author_type": "HUMAN-EDITED",
        "model": null,
        "text_hash_hex": "e7163b58ccafb59c2dfdc56a57a1a3837b31b6dee951414bae0d5694f1098ff7",
        "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
        "parent_unit_id": "para-001",
        "created_at_iso": "2026-05-09T18:00:00.000Z"
      },
      {
        "manuscript_id": "test-vectors-001",
        "unit_id": "para-003",
        "author_type": "HUMAN-TRANSCRIBED",
        "model": null,
        "text_hash_hex": "afef0fa391de45a0e6d50486fa2ce623fcd2c5acae3e6703c4e3d8132b1c4d01",
        "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
        "parent_unit_id": null,
        "created_at_iso": "2026-05-09T18:00:00.000Z"
      },
      {
        "manuscript_id": "test-vectors-001",
        "unit_id": "para-004",
        "author_type": "AI-SUGGESTED-HUMAN-ACCEPTED",
        "model": "claude-sonnet-4-5",
        "text_hash_hex": "9d4c62009b37073416f66202ea0fc0dda383f5f3667c4ef2453433f22271c902",
        "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
        "parent_unit_id": null,
        "created_at_iso": "2026-05-09T18:00:00.000Z"
      },
      {
        "manuscript_id": "test-vectors-001",
        "unit_id": "para-005",
        "author_type": "AI-GENERATED",
        "model": "claude-sonnet-4-5",
        "text_hash_hex": "ff8a7bbe159c3562a4139482a2f8580da223b0a646662523cb6797a35ec66dfd",
        "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
        "parent_unit_id": null,
        "created_at_iso": "2026-05-09T18:00:00.000Z"
      }
    ]
  },
  "expected": {
    "canonical_record_bytes_hex": [
      "7b22617574686f725f6b65795f66696e6765727072696e745f686578223a2239383839306461663362353637363566636534643934626366393565396332373137623730383861306563663362386461653530323864306662373063643831222c22617574686f725f74797065223a2248554d414e2d4f524947494e414c222c22637265617465645f61745f69736f223a22323032362d30352d30395431383a30303a30302e3030305a222c226d616e757363726970745f6964223a22746573742d766563746f72732d303031222c226d6f64656c223a6e756c6c2c22706172656e745f756e69745f6964223a6e756c6c2c22746578745f686173685f686578223a2230616265623239346665623638376161636430653737613633373239386336653030343535366331306332663162303433633161663631323265346134383435222c22756e69745f6964223a22706172612d303031227d",
      "7b22617574686f725f6b65795f66696e6765727072696e745f686578223a2239383839306461663362353637363566636534643934626366393565396332373137623730383861306563663362386461653530323864306662373063643831222c22617574686f725f74797065223a2248554d414e2d454449544544222c22637265617465645f61745f69736f223a22323032362d30352d30395431383a30303a30302e3030305a222c226d616e757363726970745f6964223a22746573742d766563746f72732d303031222c226d6f64656c223a6e756c6c2c22706172656e745f756e69745f6964223a22706172612d303031222c22746578745f686173685f686578223a2265373136336235386363616662353963326466646335366135376131613338333762333162366465653935313431346261653064353639346631303938666637222c22756e69745f6964223a22706172612d303032227d",
      "7b22617574686f725f6b65795f66696e6765727072696e745f686578223a2239383839306461663362353637363566636534643934626366393565396332373137623730383861306563663362386461653530323864306662373063643831222c22617574686f725f74797065223a2248554d414e2d5452414e53435249424544222c22637265617465645f61745f69736f223a22323032362d30352d30395431383a30303a30302e3030305a222c226d616e757363726970745f6964223a22746573742d766563746f72732d303031222c226d6f64656c223a6e756c6c2c22706172656e745f756e69745f6964223a6e756c6c2c22746578745f686173685f686578223a2261666566306661333931646534356130653664353034383666613263653632336663643263356163616533653637303363346533643831333262316334643031222c22756e69745f6964223a22706172612d303033227d",
      "7b22617574686f725f6b65795f66696e6765727072696e745f686578223a2239383839306461663362353637363566636534643934626366393565396332373137623730383861306563663362386461653530323864306662373063643831222c22617574686f725f74797065223a2241492d5355474745535445442d48554d414e2d4143434550544544222c22637265617465645f61745f69736f223a22323032362d30352d30395431383a30303a30302e3030305a222c226d616e757363726970745f6964223a22746573742d766563746f72732d303031222c226d6f64656c223a22636c617564652d736f6e6e65742d342d35222c22706172656e745f756e69745f6964223a6e756c6c2c22746578745f686173685f686578223a2239643463363230303962333730373334313666363632303265613066633064646133383366356633363637633465663234353334333366323232373163393032222c22756e69745f6964223a22706172612d303034227d",
      "7b22617574686f725f6b65795f66696e6765727072696e745f686578223a2239383839306461663362353637363566636534643934626366393565396332373137623730383861306563663362386461653530323864306662373063643831222c22617574686f725f74797065223a2241492d47454e455241544544222c22637265617465645f61745f69736f223a22323032362d30352d30395431383a30303a30302e3030305a222c226d616e757363726970745f6964223a22746573742d766563746f72732d303031222c226d6f64656c223a22636c617564652d736f6e6e65742d342d35222c22706172656e745f756e69745f6964223a6e756c6c2c22746578745f686173685f686578223a2266663861376262653135396333353632613431333934383261326638353830646132323362306136343636363235323363623637393761333565633636646664222c22756e69745f6964223a22706172612d303035227d"
    ],
    "leaf_hashes_hex": [
      "7b488c8f632fd2851fbe65727e246bd0d6e2494e9fcddd46af93519a1e2955ed",
      "723760eda1fbae05d102ea6b98977ba60ab66484a2c3675fd6534853253b8137",
      "1899d272d0272ef81ea66dbb79e6e9dcfc8d147ba04d660e2908cfeab0212de1",
      "2e95b04e40d477ff3e1b02696665ef1b2c0a120e99c283181793bd71eba10249",
      "b82c9178de3a10a7814f8e6c84cc3a8fe0b4692d4fa3e59273d29dada1e86505"
    ],
    "merkle_root_hex": "d08cc6177e72671ec46d48c972a9b475c4849b15a415d443de25d315f3408b69",
    "audit_payload_hex": "776f726c64732d70726f76656e616e63652d76310a746573742d766563746f72732d3030310a350a64303863633631373765373236373165633436643438633937326139623437356334383439623135613431356434343364653235643331356633343038623639",
    "record_signatures_hex": [
      "51e5115c72fe897af12bab95c6681698af0576de8607e4f21d297c434db8689593628d4cb231ef93f4aa1708e959f6ba2f24813d25c842f087cf5cc48ca2af01",
      "50b9c879939a0d9c37f69616de53027635425e1752f40f0744ef136444f829cbb59cf26275808c1a74b077c0250eede7665dce08b7586bddd4679764f910020b",
      "c816b776c83a394d2f0ab56b693c1417ce0e5c52f0d714a586da8d74050b28a06db28ed060dd58fe19c5b06803f64fb39dbfcda3263c7dabddb0ff00579c1900",
      "aa75260acab9e609bda4a51267120d0b03198579daa28cf11a3c30d6b3ea1d4f921956ddbcca924c960781d9c7b5d9b06937ee01ed8c1cbdfac29530121bf008",
      "387eb4e18008344c97ad64aa4d8ede85b30cdcb354c01cee295ffe5b76b2b096dee276bbd893690421c2fcecd5dd4a4a88bae315bd61b5055c8acd485b992203"
    ],
    "audit_signature_hex": "3331019b316d6a96981eb96a41c33b1c08e00b94a96d73a9177c92cf51fd8eda1a45b332d64acea54347f764fea3ded2640189ed46aba7b6aead6b44c75d060f",
    "full_sidecar": {
      "spec_version": "1.0.0-phase-b",
      "manuscript_id": "test-vectors-001",
      "generated_at": "2026-05-09T18:00:00.000Z",
      "tree_size": 5,
      "merkle_root_hex": "d08cc6177e72671ec46d48c972a9b475c4849b15a415d443de25d315f3408b69",
      "root_signature_hex": "3331019b316d6a96981eb96a41c33b1c08e00b94a96d73a9177c92cf51fd8eda1a45b332d64acea54347f764fea3ded2640189ed46aba7b6aead6b44c75d060f",
      "worlds_audit_key_fingerprint_hex": "cc28851f6e50c337cf8fef1cfeb1efadd15283e7a06906293a63266fdaecc80c",
      "author_keys": [
        {
          "fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
          "public_key_hex": "508f25619d69c1722921dacbd8ee42d79f6095437816755e5e9238f93ffbe3cd",
          "algorithm": "Ed25519",
          "label": "Test-vector author"
        }
      ],
      "entries": [
        {
          "unit_id": "para-001",
          "record": {
            "manuscript_id": "test-vectors-001",
            "unit_id": "para-001",
            "author_type": "HUMAN-ORIGINAL",
            "model": null,
            "text_hash_hex": "0abeb294feb687aacd0e77a637298c6e004556c10c2f1b043c1af6122e4a4845",
            "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
            "parent_unit_id": null,
            "created_at_iso": "2026-05-09T18:00:00.000Z"
          },
          "signature_hex": "51e5115c72fe897af12bab95c6681698af0576de8607e4f21d297c434db8689593628d4cb231ef93f4aa1708e959f6ba2f24813d25c842f087cf5cc48ca2af01",
          "inclusion_proof": [
            {
              "sibling_hash_hex": "723760eda1fbae05d102ea6b98977ba60ab66484a2c3675fd6534853253b8137",
              "side": "right"
            },
            {
              "sibling_hash_hex": "5b7710e7b53f3d6896cc440165a0de08f19442d43d7608eae70c35d158013423",
              "side": "right"
            },
            {
              "sibling_hash_hex": "b82c9178de3a10a7814f8e6c84cc3a8fe0b4692d4fa3e59273d29dada1e86505",
              "side": "right"
            }
          ]
        },
        {
          "unit_id": "para-002",
          "record": {
            "manuscript_id": "test-vectors-001",
            "unit_id": "para-002",
            "author_type": "HUMAN-EDITED",
            "model": null,
            "text_hash_hex": "e7163b58ccafb59c2dfdc56a57a1a3837b31b6dee951414bae0d5694f1098ff7",
            "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
            "parent_unit_id": "para-001",
            "created_at_iso": "2026-05-09T18:00:00.000Z"
          },
          "signature_hex": "50b9c879939a0d9c37f69616de53027635425e1752f40f0744ef136444f829cbb59cf26275808c1a74b077c0250eede7665dce08b7586bddd4679764f910020b",
          "inclusion_proof": [
            {
              "sibling_hash_hex": "7b488c8f632fd2851fbe65727e246bd0d6e2494e9fcddd46af93519a1e2955ed",
              "side": "left"
            },
            {
              "sibling_hash_hex": "5b7710e7b53f3d6896cc440165a0de08f19442d43d7608eae70c35d158013423",
              "side": "right"
            },
            {
              "sibling_hash_hex": "b82c9178de3a10a7814f8e6c84cc3a8fe0b4692d4fa3e59273d29dada1e86505",
              "side": "right"
            }
          ]
        },
        {
          "unit_id": "para-003",
          "record": {
            "manuscript_id": "test-vectors-001",
            "unit_id": "para-003",
            "author_type": "HUMAN-TRANSCRIBED",
            "model": null,
            "text_hash_hex": "afef0fa391de45a0e6d50486fa2ce623fcd2c5acae3e6703c4e3d8132b1c4d01",
            "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
            "parent_unit_id": null,
            "created_at_iso": "2026-05-09T18:00:00.000Z"
          },
          "signature_hex": "c816b776c83a394d2f0ab56b693c1417ce0e5c52f0d714a586da8d74050b28a06db28ed060dd58fe19c5b06803f64fb39dbfcda3263c7dabddb0ff00579c1900",
          "inclusion_proof": [
            {
              "sibling_hash_hex": "2e95b04e40d477ff3e1b02696665ef1b2c0a120e99c283181793bd71eba10249",
              "side": "right"
            },
            {
              "sibling_hash_hex": "839f26bf4b4dd434803eb31a9710d9e57c71247af4e5f924a482d687fc309e46",
              "side": "left"
            },
            {
              "sibling_hash_hex": "b82c9178de3a10a7814f8e6c84cc3a8fe0b4692d4fa3e59273d29dada1e86505",
              "side": "right"
            }
          ]
        },
        {
          "unit_id": "para-004",
          "record": {
            "manuscript_id": "test-vectors-001",
            "unit_id": "para-004",
            "author_type": "AI-SUGGESTED-HUMAN-ACCEPTED",
            "model": "claude-sonnet-4-5",
            "text_hash_hex": "9d4c62009b37073416f66202ea0fc0dda383f5f3667c4ef2453433f22271c902",
            "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
            "parent_unit_id": null,
            "created_at_iso": "2026-05-09T18:00:00.000Z"
          },
          "signature_hex": "aa75260acab9e609bda4a51267120d0b03198579daa28cf11a3c30d6b3ea1d4f921956ddbcca924c960781d9c7b5d9b06937ee01ed8c1cbdfac29530121bf008",
          "inclusion_proof": [
            {
              "sibling_hash_hex": "1899d272d0272ef81ea66dbb79e6e9dcfc8d147ba04d660e2908cfeab0212de1",
              "side": "left"
            },
            {
              "sibling_hash_hex": "839f26bf4b4dd434803eb31a9710d9e57c71247af4e5f924a482d687fc309e46",
              "side": "left"
            },
            {
              "sibling_hash_hex": "b82c9178de3a10a7814f8e6c84cc3a8fe0b4692d4fa3e59273d29dada1e86505",
              "side": "right"
            }
          ]
        },
        {
          "unit_id": "para-005",
          "record": {
            "manuscript_id": "test-vectors-001",
            "unit_id": "para-005",
            "author_type": "AI-GENERATED",
            "model": "claude-sonnet-4-5",
            "text_hash_hex": "ff8a7bbe159c3562a4139482a2f8580da223b0a646662523cb6797a35ec66dfd",
            "author_key_fingerprint_hex": "98890daf3b56765fce4d94bcf95e9c2717b7088a0ecf3b8dae5028d0fb70cd81",
            "parent_unit_id": null,
            "created_at_iso": "2026-05-09T18:00:00.000Z"
          },
          "signature_hex": "387eb4e18008344c97ad64aa4d8ede85b30cdcb354c01cee295ffe5b76b2b096dee276bbd893690421c2fcecd5dd4a4a88bae315bd61b5055c8acd485b992203",
          "inclusion_proof": [
            {
              "sibling_hash_hex": "666420f4a676116248876d3fb494a968c8b11454a257247d5dc79e3b35c01c8a",
              "side": "left"
            }
          ]
        }
      ],
      "summary": {
        "total_units": 5,
        "by_author_type": {
          "HUMAN-ORIGINAL": 1,
          "HUMAN-EDITED": 1,
          "HUMAN-TRANSCRIBED": 1,
          "AI-GENERATED": 1,
          "AI-SUGGESTED-HUMAN-ACCEPTED": 1
        },
        "human_word_share": 0.7787610619469026
      }
    }
  }
}
