Initial commit
This commit is contained in:
373 files changed
+16704
No files matched your search
@@ -0,0 +1,442 @@
|
||||
{
|
||||
"registry": "rules",
|
||||
"version": "0.1.0",
|
||||
"note": "Rule IDs name each refusal, so tools report file, node and rule in the form path:line: rule: message.",
|
||||
"rules": [
|
||||
{
|
||||
"id": "correction.digits",
|
||||
"description": "A digit changes without crop evidence, or a leaf's digits change undeclared.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.evidence",
|
||||
"description": "An insert has no crop evidence.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.find",
|
||||
"description": "`find` is empty or does not occur exactly once.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.insert",
|
||||
"description": "Text is inserted outside the runs of a node, or at a bad offset.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.merge",
|
||||
"description": "The nodes differ in kind, are not mergeable, or are not adjacent siblings.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.move",
|
||||
"description": "The destination is unknown or inside the moved node.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.op",
|
||||
"description": "The operation is unknown.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.reclassify",
|
||||
"description": "The new kind has another content shape.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.relabel",
|
||||
"description": "The kind takes no label.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.replace",
|
||||
"description": "Runs replace text outside a text run, or include an equation run.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.set",
|
||||
"description": "The attribute cannot be set on the kind.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.split",
|
||||
"description": "The node is not a sentence, the offset is outside it or inside a run other than text, or a part is empty.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "correction.target",
|
||||
"description": "A target, parent or sibling is not a live node, or the root is deleted, moved, merged or reclassified.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.correction.after",
|
||||
"description": "The last correction of a leaf does not end at the leaf's current node_hash.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.correction.id",
|
||||
"description": "A correction's id does not derive from its record.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.correction.index",
|
||||
"description": "Correction indexes do not count from 1 without gaps.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.correction.rev",
|
||||
"description": "document.json's rev is not the number of corrections.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.fidelity.report",
|
||||
"description": "document.json's fidelity distribution does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.align-key",
|
||||
"description": "An align_key does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.key",
|
||||
"description": "The key supplied does not match the package's key_id.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.match-hash",
|
||||
"description": "A match_hash does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.meta",
|
||||
"description": "meta_hash does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.node-hash",
|
||||
"description": "A node_hash does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.own-hash",
|
||||
"description": "An own_hash does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.root",
|
||||
"description": "document.json's root is not the root node's node_hash.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.hash.text-hash",
|
||||
"description": "A text_hash does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.alias",
|
||||
"description": "An alias does not name a live node.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.form",
|
||||
"description": "An ID is not seven letter-first Crockford base32 characters.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.retired-live",
|
||||
"description": "An ID is both live and in the ID table.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.retired-missing",
|
||||
"description": "A correction retired an ID that ids.jsonl does not record.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.successor",
|
||||
"description": "A successor names an ID that is neither live nor in the ID table.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.id.unique",
|
||||
"description": "An ID occurs twice.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.location.node",
|
||||
"description": "A location names an unknown node.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.location.page",
|
||||
"description": "A location's page_fp is not a page of any witness.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.node.attrs",
|
||||
"description": "A section has no level.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.node.content",
|
||||
"description": "A node's content does not have the shape its kind requires.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.node.kind",
|
||||
"description": "A node kind is not in the list.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.node.label",
|
||||
"description": "A node of a kind that takes no label has one.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.ids",
|
||||
"description": "ids.jsonl is not aliases by ID, then retirements by revision and ID.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.locations",
|
||||
"description": "locations.jsonl is not sorted by node order, page and fingerprint.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.pages",
|
||||
"description": "pages.jsonl is not sorted by witness and page.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.receipts",
|
||||
"description": "receipts.jsonl is not sorted by time and ID.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.references",
|
||||
"description": "references.jsonl does not follow document order.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.order.suspects",
|
||||
"description": "suspects.jsonl is not sorted by ID.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.page.witness",
|
||||
"description": "A page names an unknown witness.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.policy.keyed",
|
||||
"description": "A checks-only package carries plain hashes.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.policy.withheld",
|
||||
"description": "Text is present where the policy withholds it, or withheld where the policy is full, or a checks-only package carries corrections or suspects.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.qa.key",
|
||||
"description": "A spot-check seed key is not a registered Ed25519 spot-check key, or was registered after the receipt.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.qa.of",
|
||||
"description": "A spot-check names a receipt the package does not hold.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.qa.sample",
|
||||
"description": "A spot-check sample does not follow from its seed.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.qa.seed",
|
||||
"description": "A spot-check seed is not the checker's signature over the receipt.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.receipt.doc",
|
||||
"description": "A receipt names another document.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.receipt.id",
|
||||
"description": "A receipt's or revocation's id does not derive from its record.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.receipt.nodes",
|
||||
"description": "A receipt's nodes are not sorted by ID, or one repeats.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.receipt.root",
|
||||
"description": "A receipt's Merkle root does not recompute.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.receipt.signature",
|
||||
"description": "A signature does not verify against the roster.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.reference.node",
|
||||
"description": "A reference record names a node that is not a reference.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.canonical",
|
||||
"description": "Runs are not canonical: an empty text run, or two adjacent text runs with the same styles.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.cite",
|
||||
"description": "A cite run names a node that is not a reference.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.equation",
|
||||
"description": "Equation runs do not name the sentence's equation children, once each, in order.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.fnmark",
|
||||
"description": "An fnmark run names a node that is not a footnote.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.kind",
|
||||
"description": "A run kind is not in the list.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.style",
|
||||
"description": "A style is unknown, or a run is both a subscript and a superscript.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.run.xref",
|
||||
"description": "A same-document xref names no node.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.table.header",
|
||||
"description": "A column or row header path names a node that is not a cell.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.tree.child",
|
||||
"description": "A node holds a child kind it may not hold, a heading is not first, or a once-only child repeats.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.tree.empty",
|
||||
"description": "A kind that must have children has none.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.tree.ord",
|
||||
"description": "A parent's children do not have ord 0 to n-1.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.tree.order",
|
||||
"description": "nodes.jsonl is not in document order.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.tree.root",
|
||||
"description": "The tree does not have exactly one root, of kind document.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "doc.witness.id",
|
||||
"description": "A witness ID does not derive from its SHA-256.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "grade.key-stale",
|
||||
"description": "An anchor in the exercise's key is stale, so nothing is graded with it.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "grade.kind",
|
||||
"description": "The exercise kind is unknown.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.file.canonical",
|
||||
"description": "A JSON or JSON Lines record is not in canonical JSON.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.file.empty",
|
||||
"description": "An optional JSON Lines file is present with no records.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.file.newline",
|
||||
"description": "A line of a JSON Lines file does not end with a newline.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.file.required",
|
||||
"description": "document.json, nodes.jsonl, witnesses.json or provenance.json is missing.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.absent",
|
||||
"description": "An entry listed without its bytes is not an asset, or its bytes are present.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.hash",
|
||||
"description": "A file's SHA-256 or size differs from its manifest entry.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.key",
|
||||
"description": "The manifest's key differs from document.json's.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.missing",
|
||||
"description": "The package has no MANIFEST.json.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.missing-file",
|
||||
"description": "A file the manifest lists is not in the package.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.order",
|
||||
"description": "Manifest entries are not sorted by path, or a path repeats.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.schema",
|
||||
"description": "MANIFEST.json does not validate against manifest.schema.json.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.manifest.unlisted",
|
||||
"description": "The package holds a file the manifest does not list.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.path.unsafe",
|
||||
"description": "A path is absolute, has an empty, `.` or `..` segment, a backslash or a NUL, or is not normalized.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
},
|
||||
{
|
||||
"id": "package.schema",
|
||||
"description": "A file or line does not validate against its schema.",
|
||||
"chapter": "spec/22-conformance.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user