{
  "specificationVersion": "1.0.0",
  "valid": [
    {
      "file": "minimal.showpapers",
      "formatVersion": 4,
      "sha256": "e8fac219ebea79880f825858b020f4d6bfec128199f9aca09ba495115808e072",
      "features": [
        "originals"
      ],
      "description": "The smallest collection file: one original and nothing else. Every optional section is omitted."
    },
    {
      "file": "types-and-titles.showpapers",
      "formatVersion": 4,
      "sha256": "0476f8f1bcd12435797d655c90370f48d12c4308e9592a3320019cca4f6326b7",
      "features": [
        "titles",
        "types",
        "created-time"
      ],
      "description": "Titles, created times, automatic-title flags and every type layer: detected, suggested, selected by the person, and a custom type on a generic paper."
    },
    {
      "file": "reading-and-reviewed-details.showpapers",
      "formatVersion": 4,
      "sha256": "82b064b290af8e275ab809f9b80926101c47868d7ea4061ab1366674cd0269b6",
      "features": [
        "reading",
        "details",
        "evidence",
        "confidence",
        "review",
        "removed-suggestions"
      ],
      "description": "An on-device reading (page, block, lines, words, regions, confidences, reader result) with details that point at its lines: confirmed, corrected, a date with a normalized value, and remembered removed suggestions."
    },
    {
      "file": "custom-and-agent-details.showpapers",
      "formatVersion": 4,
      "sha256": "3f00360e794f093b6199e6213eeaf9543cf41a9026d9e6c072110b6323e34fb1",
      "features": [
        "custom-details",
        "agent-details",
        "agents",
        "type-suggestion"
      ],
      "description": "Custom details the person typed, and details, a type and quoted evidence proposed by an external AI agent, pending review, plus one agent suggestion the person rejected."
    },
    {
      "file": "dates-and-reminders.showpapers",
      "formatVersion": 4,
      "sha256": "115b5b3897cef7ffb0d0dce8dc1cd6b49d9eefdc8c1c2885472ceb3cf6f74a8d",
      "features": [
        "dates",
        "reminders"
      ],
      "description": "Date details and both reminder kinds: one that follows a confirmed end date and one on a date the person picked."
    },
    {
      "file": "people.showpapers",
      "formatVersion": 4,
      "sha256": "f549411fbe4b6b4edfc561c25b87d04a5e75db068c2e1cf5ff8c801fad16ae0d",
      "features": [
        "people",
        "assignments"
      ],
      "description": "People, the owner (isMe), and who each paper belongs to."
    },
    {
      "file": "folders-and-rules.showpapers",
      "formatVersion": 4,
      "sha256": "99e38b5f2b2784b51149bfdad520580dd38d0810ab13832297474d898c334ddf",
      "features": [
        "folders",
        "folder-rules",
        "built-in-folders",
        "category-icons"
      ],
      "description": "Personal folders with colors, icons, purposes and automatic filing rules (document types, a case receipt, reviewed-detail clauses, exclusions), built-in folder placements and category icons."
    },
    {
      "file": "pins.showpapers",
      "formatVersion": 4,
      "sha256": "64b5461caa837a1c162d5862cad31a7f70dca6f5515de337d7e3cf0f6a5612bb",
      "features": [
        "pins"
      ],
      "description": "Pinned papers in the person's order."
    },
    {
      "file": "notes.showpapers",
      "formatVersion": 4,
      "sha256": "95ad1afa40aca8955453da38fa536722fad6813492121a6a094b732dc85b64e0",
      "features": [
        "notes",
        "checklists",
        "paper-links"
      ],
      "description": "Notes with rich text (bold, italic, inline paper links, checklist lines), saved checklist rows with their own paper links and remembered checks."
    },
    {
      "file": "relationships.showpapers",
      "formatVersion": 4,
      "sha256": "a0811a35bbae73fcdc586dae8b73a967b99e9580d44bbb0c036b71cf8899593c",
      "features": [
        "relationships",
        "case-history",
        "renewals",
        "decisions"
      ],
      "description": "Relationships between papers: a confirmed same-case link the person accepted, a renewal with a direction, duplicates the person kept apart, and a suggestion from an external agent."
    },
    {
      "file": "everything.showpapers",
      "formatVersion": 4,
      "sha256": "6da9b131a2307496318d4de383d6e787a633eeefde6de2d7862e398e863b39b3",
      "features": [
        "agent-details",
        "agents",
        "assignments",
        "built-in-folders",
        "case-history",
        "category-icons",
        "checklists",
        "confidence",
        "created-time",
        "custom-details",
        "dates",
        "decisions",
        "details",
        "evidence",
        "folder-rules",
        "folders",
        "notes",
        "originals",
        "paper-links",
        "people",
        "pins",
        "reading",
        "relationships",
        "reminders",
        "removed-suggestions",
        "renewals",
        "review",
        "titles",
        "type-suggestion",
        "types"
      ],
      "description": "Every collection feature in one collection."
    },
    {
      "file": "everything-changed.showpapers",
      "formatVersion": 4,
      "sha256": "7f261d7df47301fdfdd8f932197746bf9ad9ccbaab35d1f45825f5e853fd57c8",
      "features": [
        "changes",
        "agent-details",
        "type-suggestion"
      ],
      "description": "The combined collection after applying the example changes document: agent details and a type suggestion pending review, a new person, folder membership, a pin, a suggested relationship and a new note."
    }
  ],
  "invalid": [
    {
      "file": "invalid-future-format.showpapers",
      "expectedCode": "version",
      "sha256": "678f3188932418fe3a13e222349d439f1ee0393475c510adbe6b3349dccf95c7",
      "description": "formatVersion 5 is not defined by specification 1.0.0."
    },
    {
      "file": "invalid-unknown-manifest-member.showpapers",
      "expectedCode": "manifest",
      "sha256": "3ffc2f4ab6fe9da001954a9f0b50323aa0b7c6b950bdeefcd4d5e54365a94276",
      "description": "Manifest objects are closed: an unknown top-level member is refused."
    },
    {
      "file": "invalid-paper-title-with-slash.showpapers",
      "expectedCode": "manifest",
      "sha256": "1c62fc13159ed4cf0d3b1dfe7fd2ef243f00f5c5b4dfd8b2024422945adcd32c",
      "description": "Paper titles containing '/' are refused."
    },
    {
      "file": "invalid-paper-title-too-long.showpapers",
      "expectedCode": "limit",
      "sha256": "7cab8879356268c83ea8d39b8d5c062f684606492f7353d22ebf81867787ddef",
      "description": "Paper titles are at most 100 characters."
    },
    {
      "file": "invalid-folder-with-notes.showpapers",
      "expectedCode": "manifest",
      "sha256": "ccd70413486bcc528b9056a6b1760faedabc4e93708c570e523f8fb9e163ae14",
      "description": "collection folders hold papers only."
    },
    {
      "file": "invalid-duplicate-folder-names.showpapers",
      "expectedCode": "duplicate",
      "sha256": "0ab8b938c660465469bbe8ffb3e6468de23760ff58015e54ce6f96a69b7b67fd",
      "description": "Folder names are unique ignoring case."
    },
    {
      "file": "invalid-two-owners.showpapers",
      "expectedCode": "manifest",
      "sha256": "148394eb5f053f1bfd7d95325685fbccc85f6cc8b56082205fe7526bd6e0b9df",
      "description": "At most one person is the owner."
    },
    {
      "file": "invalid-dangling-person.showpapers",
      "expectedCode": "reference",
      "sha256": "dbaf04b3b1a9f54dd1525867714b74045d7a065881e3a664dde4f7e2138636c7",
      "description": "A paper names a person who is not in the collection."
    },
    {
      "file": "invalid-relationship-wrong-id.showpapers",
      "expectedCode": "manifest",
      "sha256": "2d08f19c6269564b4a06a6b7b83be26ae444edc7576417d4d79869b8f5e21d6b",
      "description": "Relationship IDs are derived from the pair and type."
    },
    {
      "file": "invalid-relationship-unsorted.showpapers",
      "expectedCode": "manifest",
      "sha256": "ac25beb2a72bcc85a3fb7cbc8e82ce8679dc1d73c233b1e47cfde870f68155a4",
      "description": "Relationship paper IDs are sorted ascending."
    },
    {
      "file": "invalid-accepted-but-suggested.showpapers",
      "expectedCode": "manifest",
      "sha256": "85d9e92d86fef20e3bbf3483f232417b282441b5426bb8afea6eb132a7f7d991",
      "description": "An accepted relationship must be confirmed."
    },
    {
      "file": "invalid-agent-relationship-without-agent.showpapers",
      "expectedCode": "reference",
      "sha256": "3cbd9188ebc836795bb29c65903fab351a51330756b058bec27871cb280bef08",
      "description": "An agent relationship names its agent."
    },
    {
      "file": "invalid-agent-detail-unknown-agent.showpapers",
      "expectedCode": "reference",
      "sha256": "a449d39bd71d2b5784ae62e9eb2585f48263fa4315f7f5af6dda8edbd7d50764",
      "description": "An agent detail names an agent listed in the manifest."
    },
    {
      "file": "invalid-person-detail-with-typed-key.showpapers",
      "expectedCode": "record",
      "sha256": "c7ae1573fe04f614482b76ffd9c589d9f561c36616997b5a80fece5403e4ff8a",
      "description": "Custom details use key other."
    },
    {
      "file": "invalid-reading-evidence-missing-line.showpapers",
      "expectedCode": "reference",
      "sha256": "eb3a9dffc0c03c5af375c168699f651c109614fc715fbb7f7be966fe22e8bcd7",
      "description": "Reading evidence must point at a line in the reading."
    },
    {
      "file": "invalid-reading-detail-quote.showpapers",
      "expectedCode": "record",
      "sha256": "5c79c8dba8242adc590e2ed39dfb5e59040bc166e38af4db13a08b0bfbb44f08",
      "description": "Reading details point at reading lines, not quotes."
    },
    {
      "file": "invalid-custom-type-not-generic.showpapers",
      "expectedCode": "record",
      "sha256": "101781989c04fc99fee4a17b118e3f76f91238f6fb755c22551d2685937a950e",
      "description": "A custom type needs the selected type generic."
    },
    {
      "file": "invalid-reminder-on-text-detail.showpapers",
      "expectedCode": "record",
      "sha256": "71bdb1f74775f259fbfacaf4bae21101ab95436876db8b93e541ed86c2ed4e3a",
      "description": "A detail reminder follows an end-date detail."
    },
    {
      "file": "invalid-removed-equals-current.showpapers",
      "expectedCode": "duplicate",
      "sha256": "d77f98b9252519ad7f48be3c77a504e8d19877ed947a4191eda6194a9726bb4a",
      "description": "A removed suggestion cannot also be a current detail."
    },
    {
      "file": "invalid-pinned-unknown-paper.showpapers",
      "expectedCode": "reference",
      "sha256": "82dcc31aad687fe3793008a092a2d1101f8aff873fa8acd9a4f712df4b154f57",
      "description": "Pins name papers in this collection."
    },
    {
      "file": "invalid-paper-record-future-version.showpapers",
      "expectedCode": "version",
      "sha256": "0a27ed2093160f6884f15e2427d1d99326f4e1c2c0d2da8d28aa0c1b7ad00261",
      "description": "paperVersion 2 is not defined by specification 1.0.0."
    },
    {
      "file": "invalid-paper-record-unknown-member.showpapers",
      "expectedCode": "record",
      "sha256": "a6e695c497408e5fcba23b72a78ec95ec28179cf2ff361432346356775037f1b",
      "description": "Paper records are closed."
    },
    {
      "file": "invalid-integer-with-fraction.showpapers",
      "expectedCode": "record",
      "sha256": "5e98a6bd5fbf66e6baddbd9019f93b4461f5b08e4ebeca4027641292b3cb2b89",
      "description": "Integers are canonical tokens; 30.0 is refused."
    },
    {
      "file": "invalid-invalid-calendar-date.showpapers",
      "expectedCode": "record",
      "sha256": "99d5ecb27b58961a258d420d98d9d1e1b51156479487d1172802e8ec664e50ee",
      "description": "Dates are real calendar dates."
    },
    {
      "file": "invalid-lead-days-not-allowed.showpapers",
      "expectedCode": "record",
      "sha256": "bc3ab553085ad8a05479eca8cf60c8af3fc1ff089cee5541d1aa92ed50a324a0",
      "description": "Reminder lead times are 7, 14 or 30 days."
    },
    {
      "file": "invalid-folder-rule-bad-receipt.showpapers",
      "expectedCode": "manifest",
      "sha256": "0ceef55ce08c5f78ddb38dd791dd48462b050819453a7915dd5661dc8d0e8228",
      "description": "A case receipt is three letters and ten digits."
    },
    {
      "file": "invalid-folder-member-also-excluded.showpapers",
      "expectedCode": "manifest",
      "sha256": "3105d9358e3aef68bbd3a396d588d4c72f83f52f0b76248d31f0cd3f07e7123b",
      "description": "A folder member cannot also be excluded."
    },
    {
      "file": "invalid-paper-record-for-missing-original.showpapers",
      "expectedCode": "reference",
      "sha256": "424193db4f6d7076aadc6fb864eabfbe9ead795b051294ff830e50400901e21e",
      "description": "A paper record describes an original in this collection."
    },
    {
      "file": "invalid-undeclared-entry.showpapers",
      "expectedCode": "archive",
      "sha256": "97fb117c97b4f367d0f1e13148b53f9b3fe624a443c427faeb66931ea2c4370e",
      "description": "Every ZIP entry is declared in the manifest."
    },
    {
      "file": "invalid-digest-mismatch.showpapers",
      "expectedCode": "digest",
      "sha256": "8ed4882526abbc68ee7a06c09aabf7cca5ea4ff0334cd8ea807fb656bed0e9e8",
      "description": "A payload changed after its digest was recorded."
    }
  ],
  "interchange": [
    {
      "file": "everything.showpapers-changes.json",
      "schema": "urn:showpapers:changes:1",
      "base": "everything.showpapers",
      "result": "everything-changed.showpapers"
    },
    {
      "file": "everything.showpapers.json",
      "schema": "urn:showpapers:companion:2"
    }
  ]
}
