{
  "$comment": "Fictional fixtures for the first public baseline; no participant declarations or actual transactions.",
  "edition": "Legible draft 0.4 (schema v2)",
  "rules": [
    "Only canonical_content enters the hash (id/type/security/published stay out).",
    "NRC 0.2 is inside Appoints: nrc MUST equal '0.2' and nrc-hash MUST match sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b.",
    "visibility (public|private|group) is required on every core record.",
    "Absent optional fields are OMITTED entirely — never null/[].",
    "Numbers: integers without a point; integer-valued floats become integers (1.0 -> 1); JCS/ES6.",
    "Monetary value (economic.amount) is a verbatim decimal STRING — never a float.",
    "To reproduce: take canonical_content, serialize with JCS, sha256, compare with id and with jcs."
  ],
  "spec": "The Legible Protocol (§3, Appendix B)",
  "vectors": [
    {
      "name": "01-appoint",
      "type": "appoint",
      "description": "Appendix B fixture 01: reusable export method, public appoint, full required fields",
      "canonical_content": {
        "accepts-monetary": true,
        "accepts-non-monetary": true,
        "author": "did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7",
        "content_schema": "legible/protocol/v2/appoint",
        "created": "2026-09-19T12:00:00Z",
        "metadata": {
          "title": "A reusable export method"
        },
        "nrc": "0.2",
        "nrc-hash": "sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b",
        "payload": {
          "problem": "How can a software project export its data without tying users to one provider?"
        },
        "visibility": "public"
      },
      "jcs": "{\"accepts-monetary\":true,\"accepts-non-monetary\":true,\"author\":\"did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7\",\"content_schema\":\"legible/protocol/v2/appoint\",\"created\":\"2026-09-19T12:00:00Z\",\"metadata\":{\"title\":\"A reusable export method\"},\"nrc\":\"0.2\",\"nrc-hash\":\"sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b\",\"payload\":{\"problem\":\"How can a software project export its data without tying users to one provider?\"},\"visibility\":\"public\"}",
      "id": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab"
    },
    {
      "name": "02-dependent-appoint",
      "type": "appoint",
      "description": "Appendix B fixture 02: dependent appoint using referenced export method with origin trace (weight 1)",
      "canonical_content": {
        "accepts-monetary": true,
        "accepts-non-monetary": false,
        "author": "did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw",
        "content_schema": "legible/protocol/v2/appoint",
        "created": "2026-09-19T12:01:00Z",
        "metadata": {
          "title": "Software using the export method"
        },
        "nrc": "0.2",
        "nrc-hash": "sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b",
        "payload": {
          "problem": "Users need to move their project data.",
          "solution": "Implement the referenced export method."
        },
        "traces": [
          {
            "relationship-type": "uses",
            "target": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
            "weight": 1
          }
        ],
        "visibility": "public"
      },
      "jcs": "{\"accepts-monetary\":true,\"accepts-non-monetary\":false,\"author\":\"did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw\",\"content_schema\":\"legible/protocol/v2/appoint\",\"created\":\"2026-09-19T12:01:00Z\",\"metadata\":{\"title\":\"Software using the export method\"},\"nrc\":\"0.2\",\"nrc-hash\":\"sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b\",\"payload\":{\"problem\":\"Users need to move their project data.\",\"solution\":\"Implement the referenced export method.\"},\"traces\":[{\"relationship-type\":\"uses\",\"target\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"weight\":1}],\"visibility\":\"public\"}",
      "id": "2e3876c9a2bcdcee3ea26b690dad892ba7f56ef20c8c717182e74573579de7cb"
    },
    {
      "name": "03-curator-trace",
      "type": "trace",
      "description": "Appendix B fixture 03: standalone trace by a third-party curator asserting dependency",
      "canonical_content": {
        "author": "did:key:z6MktHWjMTwzfn6h6U8wFyby42qb3HvWqtkVEXajNk2ttJUp",
        "content_schema": "legible/protocol/v2/trace",
        "created": "2026-09-19T12:02:00Z",
        "note": "A curator asserts this dependency; this is not a declaration by the source author.",
        "relationship-type": "uses",
        "source": "2e3876c9a2bcdcee3ea26b690dad892ba7f56ef20c8c717182e74573579de7cb",
        "target": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
        "visibility": "public",
        "weight": 1
      },
      "jcs": "{\"author\":\"did:key:z6MktHWjMTwzfn6h6U8wFyby42qb3HvWqtkVEXajNk2ttJUp\",\"content_schema\":\"legible/protocol/v2/trace\",\"created\":\"2026-09-19T12:02:00Z\",\"note\":\"A curator asserts this dependency; this is not a declaration by the source author.\",\"relationship-type\":\"uses\",\"source\":\"2e3876c9a2bcdcee3ea26b690dad892ba7f56ef20c8c717182e74573579de7cb\",\"target\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"visibility\":\"public\",\"weight\":1}",
      "id": "c977756d0a8d7761806f2394b232b8a13e600c51757c541e1b2ec18e9a05dd33"
    },
    {
      "name": "04-initial-nod",
      "type": "nod",
      "description": "Appendix B fixture 04: initial monetary nod containing a transcription error",
      "canonical_content": {
        "author": "did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw",
        "consequence": "enabled",
        "content_schema": "legible/protocol/v2/nod",
        "created": "2026-09-19T12:03:00Z",
        "economic": {
          "amount": "1000.00",
          "currency": "BRL"
        },
        "form": "monetary",
        "nod-type": "recognition",
        "nods": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
        "statement": "The contribution enabled the software sale. This initial amount contains a transcription error.",
        "visibility": "public"
      },
      "jcs": "{\"author\":\"did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw\",\"consequence\":\"enabled\",\"content_schema\":\"legible/protocol/v2/nod\",\"created\":\"2026-09-19T12:03:00Z\",\"economic\":{\"amount\":\"1000.00\",\"currency\":\"BRL\"},\"form\":\"monetary\",\"nod-type\":\"recognition\",\"nods\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"statement\":\"The contribution enabled the software sale. This initial amount contains a transcription error.\",\"visibility\":\"public\"}",
      "id": "d5c2a9a89c1fcb664a6a6a272bea71305949b0eed67edf69a523116953b08990"
    },
    {
      "name": "05-corrected-nod",
      "type": "nod",
      "description": "Appendix B fixture 05: corrected monetary nod replacing initial amount with 100.00",
      "canonical_content": {
        "author": "did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw",
        "consequence": "enabled",
        "content_schema": "legible/protocol/v2/nod",
        "corrects": "d5c2a9a89c1fcb664a6a6a272bea71305949b0eed67edf69a523116953b08990",
        "created": "2026-09-19T12:04:00Z",
        "economic": {
          "amount": "100.00",
          "currency": "BRL"
        },
        "form": "monetary",
        "nod-type": "recognition",
        "nods": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
        "statement": "The contribution enabled a BRL 10000.00 sale. The amount transferred in recognition was BRL 100.00. This corrects the earlier amount; it does not declare a refund.",
        "visibility": "public"
      },
      "jcs": "{\"author\":\"did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw\",\"consequence\":\"enabled\",\"content_schema\":\"legible/protocol/v2/nod\",\"corrects\":\"d5c2a9a89c1fcb664a6a6a272bea71305949b0eed67edf69a523116953b08990\",\"created\":\"2026-09-19T12:04:00Z\",\"economic\":{\"amount\":\"100.00\",\"currency\":\"BRL\"},\"form\":\"monetary\",\"nod-type\":\"recognition\",\"nods\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"statement\":\"The contribution enabled a BRL 10000.00 sale. The amount transferred in recognition was BRL 100.00. This corrects the earlier amount; it does not declare a refund.\",\"visibility\":\"public\"}",
      "id": "aebedf660cd240eebe01cc4bf3225a012d724e80f3f95bc5b7b77d2476f12b4e"
    },
    {
      "name": "06-response",
      "type": "response",
      "description": "Appendix B fixture 06: adequacy response affirming the corrected nod",
      "canonical_content": {
        "about-nod": "aebedf660cd240eebe01cc4bf3225a012d724e80f3f95bc5b7b77d2476f12b4e",
        "author": "did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7",
        "content_schema": "legible/protocol/v2/response",
        "created": "2026-09-19T12:05:00Z",
        "kind": "adequacy",
        "signal": "adequate",
        "visibility": "public"
      },
      "jcs": "{\"about-nod\":\"aebedf660cd240eebe01cc4bf3225a012d724e80f3f95bc5b7b77d2476f12b4e\",\"author\":\"did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7\",\"content_schema\":\"legible/protocol/v2/response\",\"created\":\"2026-09-19T12:05:00Z\",\"kind\":\"adequacy\",\"signal\":\"adequate\",\"visibility\":\"public\"}",
      "id": "8c896411bda37d14787299983b77a65012759ff5addeb53e3a92eac4567f57ec"
    },
    {
      "name": "07-redaction",
      "type": "redaction",
      "description": "Appendix B fixture 07: withdrawal of author's earlier adequacy response",
      "canonical_content": {
        "author": "did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7",
        "content_schema": "legible/protocol/v2/redaction",
        "created": "2026-09-19T12:06:00Z",
        "redacts": "8c896411bda37d14787299983b77a65012759ff5addeb53e3a92eac4567f57ec",
        "visibility": "public"
      },
      "jcs": "{\"author\":\"did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7\",\"content_schema\":\"legible/protocol/v2/redaction\",\"created\":\"2026-09-19T12:06:00Z\",\"redacts\":\"8c896411bda37d14787299983b77a65012759ff5addeb53e3a92eac4567f57ec\",\"visibility\":\"public\"}",
      "id": "f8e165d7fab903bcf7469c2423e7b2deb5dd5d1caed17d16be01b3f59bc98382"
    },
    {
      "name": "nod-reputational",
      "type": "nod",
      "description": "Reputational nod (zero transfer; no economic block serialized)",
      "canonical_content": {
        "author": "did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw",
        "consequence": "referenced",
        "content_schema": "legible/protocol/v2/nod",
        "created": "2026-09-19T12:10:00Z",
        "form": "reputational",
        "nod-type": "recognition",
        "nods": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
        "statement": "The method served as a reference in our technical review.",
        "visibility": "public"
      },
      "jcs": "{\"author\":\"did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw\",\"consequence\":\"referenced\",\"content_schema\":\"legible/protocol/v2/nod\",\"created\":\"2026-09-19T12:10:00Z\",\"form\":\"reputational\",\"nod-type\":\"recognition\",\"nods\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"statement\":\"The method served as a reference in our technical review.\",\"visibility\":\"public\"}",
      "id": "7268e3b37c3025c377d0e8e0054e8bb98688a708bf9868da88bcfbde21e0ba93"
    },
    {
      "name": "nod-non-monetary",
      "type": "nod",
      "description": "Non-monetary nod with agreement-hash-reference",
      "canonical_content": {
        "agreement-hash-reference": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
        "author": "did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw",
        "consequence": "extended",
        "content_schema": "legible/protocol/v2/nod",
        "created": "2026-09-19T12:11:00Z",
        "form": "non-monetary",
        "nod-type": "recognition",
        "nods": "8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab",
        "statement": "Proposing reciprocal compute access in recognition.",
        "visibility": "public"
      },
      "jcs": "{\"agreement-hash-reference\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"author\":\"did:key:z6MkuAa5axDG7AzQHJwSUDVmzBEtkKTyxQrjAduVZwbhqjpw\",\"consequence\":\"extended\",\"content_schema\":\"legible/protocol/v2/nod\",\"created\":\"2026-09-19T12:11:00Z\",\"form\":\"non-monetary\",\"nod-type\":\"recognition\",\"nods\":\"8f8aea6e732adc78a6dc5ab5341415aacff280c4055e2e4ea104427b5bb926ab\",\"statement\":\"Proposing reciprocal compute access in recognition.\",\"visibility\":\"public\"}",
      "id": "1c2436a6720296b4d8f08dce8b8e973bca5b641efe5f02adc7c73e94bc3498d8"
    },
    {
      "name": "response-agreement",
      "type": "response",
      "description": "Agreement decision response (accepted)",
      "canonical_content": {
        "about-nod": "1c2436a6720296b4d8f08dce8b8e973bca5b641efe5f02adc7c73e94bc3498d8",
        "author": "did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7",
        "content_schema": "legible/protocol/v2/response",
        "created": "2026-09-19T12:12:00Z",
        "kind": "agreement-decision",
        "signal": "accepted",
        "visibility": "public"
      },
      "jcs": "{\"about-nod\":\"1c2436a6720296b4d8f08dce8b8e973bca5b641efe5f02adc7c73e94bc3498d8\",\"author\":\"did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7\",\"content_schema\":\"legible/protocol/v2/response\",\"created\":\"2026-09-19T12:12:00Z\",\"kind\":\"agreement-decision\",\"signal\":\"accepted\",\"visibility\":\"public\"}",
      "id": "ddf93d69a103e1d3fb41571ae27b6d2f4c15ab3eb61ee9561bb90ce293672619"
    },
    {
      "name": "appoint-utf8-nfc",
      "type": "appoint",
      "description": "Appoint testing non-ASCII UTF-8 NFC characters in title and problem",
      "canonical_content": {
        "accepts-monetary": true,
        "accepts-non-monetary": false,
        "author": "did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7",
        "content_schema": "legible/protocol/v2/appoint",
        "created": "2026-09-19T12:13:00Z",
        "metadata": {
          "domain": "coordenação",
          "title": "Método de exportação e sincronização — versão 2"
        },
        "nrc": "0.2",
        "nrc-hash": "sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b",
        "payload": {
          "problem": "Como coordenar dados sensíveis através de canais abertos sem intermediação?"
        },
        "visibility": "group"
      },
      "jcs": "{\"accepts-monetary\":true,\"accepts-non-monetary\":false,\"author\":\"did:key:z6MkmxdZv6WLYxFmajNpvhyUy6Dr6kcFzE75mMopZWANqHX7\",\"content_schema\":\"legible/protocol/v2/appoint\",\"created\":\"2026-09-19T12:13:00Z\",\"metadata\":{\"domain\":\"coordenação\",\"title\":\"Método de exportação e sincronização — versão 2\"},\"nrc\":\"0.2\",\"nrc-hash\":\"sha256:42b9c41ee986a5b90c67302283d7f2ea6813979a17f41734e35b51a0e5a3953b\",\"payload\":{\"problem\":\"Como coordenar dados sensíveis através de canais abertos sem intermediação?\"},\"visibility\":\"group\"}",
      "id": "a5f88e5aab34cbd3a855a95fcca3b13eafd1d759122628f41652fe37dbfe4d68"
    },
    {
      "name": "trace-fractional-weight",
      "type": "trace",
      "description": "Trace with fractional weight 0.5 and external git reference",
      "canonical_content": {
        "author": "did:key:z6MktHWjMTwzfn6h6U8wFyby42qb3HvWqtkVEXajNk2ttJUp",
        "content_schema": "legible/protocol/v2/trace",
        "created": "2026-09-19T12:14:00Z",
        "note": "Built partly on prior git commit",
        "relationship-type": "extends",
        "source": "2e3876c9a2bcdcee3ea26b690dad892ba7f56ef20c8c717182e74573579de7cb",
        "target": "git:sha1:4b825dc642cb6eb9a060e54bf8d69288fbee4904",
        "target-hash": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
        "visibility": "public",
        "weight": 0.5
      },
      "jcs": "{\"author\":\"did:key:z6MktHWjMTwzfn6h6U8wFyby42qb3HvWqtkVEXajNk2ttJUp\",\"content_schema\":\"legible/protocol/v2/trace\",\"created\":\"2026-09-19T12:14:00Z\",\"note\":\"Built partly on prior git commit\",\"relationship-type\":\"extends\",\"source\":\"2e3876c9a2bcdcee3ea26b690dad892ba7f56ef20c8c717182e74573579de7cb\",\"target\":\"git:sha1:4b825dc642cb6eb9a060e54bf8d69288fbee4904\",\"target-hash\":\"sha256:2222222222222222222222222222222222222222222222222222222222222222\",\"visibility\":\"public\",\"weight\":0.5}",
      "id": "cdc8c8e4ef83db05499de039ee78e58be7f9c1fded9e27def18e9309d7c1b711"
    }
  ]
}
