Skip to content
Preview (Alpha), release 0.1. No independent cryptographic review of the protocol or its reference verifiers has been done.

Requirements traceability

This page is generated by tools/render_requirements.py from requirements.json; edit the inventory, never this page. It is not part of the specification, and it changes without a protocol release.

Every requirement the inventory lists has an identifier REQ-<DOC>-<NNN> that is never reused and never renumbered. The identifiers are not written into the specification: a record is bound to its text by an exact sentence of a section, or by the natural key of a row of a table that rule-tables.json lists.

Scope

Every sentence of a part that carries MUST, MUST NOT, REQUIRED, SHALL or SHALL NOT, outside introduction.md section 4.1 and fenced code, and every row of the tables, numbered lists and headings docs/traceability/rule-tables.json lists. A sentence carrying only SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY or OPTIONAL has a record of kind advisory, with no coverage obligation. A requirement stated in the indicative outside the listed tables binds as well (introduction.md section 4.2) and is not listed here.

A record is covered by the conformance corpus when it names binding runs of the corpus that CONFORMANCE_LOCK.json pins. A test inside an implementation’s own suite does not count as a vector. The maintainer’s own tests, carried out with the help of AI tools, the corpus included, are internal verification and not an audit.

Summary

where a record stands records
corpus 208
excluded 172
implementation tests only 1
not tested 1
advisory 20
all active records 402

public-private-boundary.md

id section kind binds requirement coverage
REQ-PPB-001 4 keyword producer Public identifiers MUST NOT carry personal data: no identifier of a registry entry names … excluded: producer-side
REQ-PPB-002 2 keyword producer The public repository and public registry commitment MUST NOT disclose: excluded: producer-side

canonicalization-and-hashing.md

id section kind binds requirement coverage
REQ-CAN-001 6 keyword verifier Every JSON document a verifier reads MUST satisfy the following rules when it is … corpus
REQ-CAN-002 6 keyword verifier Conforming implementations MUST reject violating documents before canonicalization; silent repair (for example last-wins duplicate … corpus
REQ-CAN-003 6 keyword verifier A JSON object MUST NOT contain two members with the same name after escape … corpus
REQ-CAN-004 6 keyword verifier Every string, and every member name, MUST consist solely of Unicode scalar values: an … corpus
REQ-CAN-005 6 keyword verifier An implementation whose regular-expression engine lets $ also match before a final newline (Python’s … corpus
REQ-CAN-006 6 keyword verifier Every string, and every member name, MUST NOT contain a Unicode noncharacter: U+FDD0 to … corpus
REQ-CAN-007 3 row verifier the hash constructions: Manifest digest (manifest.sha256 sidecar) corpus
REQ-CAN-008 3 row verifier the hash constructions: Manifest file entries (files map) corpus
REQ-CAN-009 3 row verifier the hash constructions: P1 digest (p1.sha256 sidecar) corpus
REQ-CAN-010 3 row verifier the hash constructions: P1 input hash (ihfield ofp1.json) corpus
REQ-CAN-011 3 row verifier the hash constructions: Envelope digest (envelope.sha256 sidecar) corpus
REQ-CAN-012 3 row verifier the hash constructions: Receipt hash (registry-entry field receipt_hash) corpus
REQ-CAN-013 3 row verifier the hash constructions: Registry-entry signing message v2 corpus
REQ-CAN-014 3 row verifier the hash constructions: Trust-registry root signing message v1 corpus
REQ-CAN-015 6 row verifier the input-strictness rules 1 to 9: 1 corpus
REQ-CAN-016 6 row verifier the input-strictness rules 1 to 9: 2 corpus
REQ-CAN-017 6 row verifier the input-strictness rules 1 to 9: 3 corpus
REQ-CAN-018 6 row verifier the input-strictness rules 1 to 9: 4 corpus
REQ-CAN-019 6 row verifier the input-strictness rules 1 to 9: 5 corpus
REQ-CAN-020 6 row verifier the input-strictness rules 1 to 9: 6 corpus
REQ-CAN-021 6 row verifier the input-strictness rules 1 to 9: 7 corpus
REQ-CAN-022 6 row verifier the input-strictness rules 1 to 9: 8 corpus
REQ-CAN-023 6 row verifier the input-strictness rules 1 to 9: 9 corpus
REQ-CAN-024 6 row verifier calendar instants: 2026-05-10T00:00:00Z corpus
REQ-CAN-025 6 row verifier calendar instants: 2024-02-29T12:00:00Z corpus
REQ-CAN-026 6 row verifier calendar instants: 2026-12-31T23:59:59Z corpus
REQ-CAN-027 6 row verifier calendar instants: 2026-02-29T12:00:00Z corpus
REQ-CAN-028 6 row verifier calendar instants: 2026-02-30T00:00:00Z corpus
REQ-CAN-029 6 row verifier calendar instants: 2026-04-31T00:00:00Z corpus
REQ-CAN-030 6 row verifier calendar instants: 2026-04-29T12:00:60Z corpus
REQ-CAN-031 6 row verifier calendar instants: 0000-01-01T00:00:00Z corpus
REQ-CAN-032 6 row verifier calendar instants: 2000-02-29T00:00:00Z corpus
REQ-CAN-033 6 row verifier calendar instants: 1900-02-29T00:00:00Z corpus
REQ-CAN-034 6 row verifier calendar instants: 2100-02-29T00:00:00Z corpus

bundle-objects.md

id section kind binds requirement coverage
REQ-BND-001 1 keyword verifier A file of the archive outside the selected root was delivered beside the bundle … corpus
REQ-BND-002 1 keyword document Every other file present in the bundle MUST be declared in manifest.files (the canonical … corpus
REQ-BND-003 1 keyword verifier A bundle that carries a member at a reserved name, declared in manifest.files or … corpus
REQ-BND-004 1 keyword verifier An undeclared member is not a silent pass: a verifier MUST report it, and … corpus
REQ-BND-005 1 keyword verifier When the host fails a listing of the inventory below the root, or the … excluded: host-dependent
REQ-BND-006 2 keyword producer A producer MUST fill it with 32 bytes from a cryptographically secure random generator, … excluded: producer-side
REQ-BND-007 2 keyword verifier A declaration a parser cannot read MUST NOT be skipped: dropping it means the … corpus
REQ-BND-008 2 keyword verifier manifest.json and manifest.sha256 MUST NOT appear as keys. corpus
REQ-BND-009 2 keyword verifier Every key MUST be a portable member name, and no two keys may conflict … corpus
REQ-BND-010 3 keyword verifier JSON 1.0 and 1 are the same value under RFC 8785, which serializes both … corpus
REQ-BND-011 3 keyword verifier **ik, when present, MUST be a non-empty array of distinct strings, each with a … corpus
REQ-BND-012 3 keyword verifier The bound is 1024 bytes of canonical form; a verifier MUST fail closed when … corpus
REQ-BND-013 4 keyword verifier s MUST be exactly env1. corpus
REQ-BND-014 4 keyword verifier The links MUST match the digests the bundle commits to. corpus
REQ-BND-015 5 keyword verifier A verifier reading a ZIP archive MUST check every entry of the archive’s central … corpus
REQ-BND-016 5 keyword verifier These values are the bounds: a verifier MUST apply them, and applies the per-member … corpus
REQ-BND-017 5 row verifier the archive intake rules: name corpus
REQ-BND-018 5 row verifier the archive intake rules: type corpus
REQ-BND-019 5 row verifier the archive intake rules: method corpus
REQ-BND-020 5 row verifier the archive intake rules: member size corpus
REQ-BND-021 5 row verifier the archive intake rules: ratio corpus
REQ-BND-022 5 row verifier the archive intake rules: duplicate corpus
REQ-BND-023 5 row verifier the archive intake rules: count corpus
REQ-BND-024 5 row verifier the archive intake rules: total corpus
REQ-BND-025 4 keyword operator A relying party MUST NOT treat a member of the envelope other than its … excluded: not-observable

signing-envelope-v2.md

id section kind binds requirement coverage
REQ-SIG-001 1 keyword producer New registry-entry signatures MUST use payload ID registry_entry_signing_payload_v2 and payload version 2. corpus
REQ-SIG-002 1 keyword document The signature object MUST declare: corpus
REQ-SIG-003 2 keyword verifier A signature created for another protocol object, another envelope version, another payload schema or … corpus

cryptographic-capabilities.md

id section kind binds requirement coverage
REQ-CRY-001 2 keyword verifier A pair not listed there MUST be refused at the signature step with UNSUPPORTED_SIGNATURE_ALGORITHM … corpus
REQ-CRY-002 2 keyword verifier Implementations MUST NOT infer an algorithm from key length, retry with another algorithm, or … corpus
REQ-CRY-003 4 keyword verifier Algorithm substitution therefore changes the message and MUST fail. corpus

registry-entry.md

id section kind binds requirement coverage
REQ-ENT-001 3 keyword producer An identifier of a registry entry (registry_entry_id, receipt_id, issuer_id, issuer_key_id, policy_id, subject_ref_hash) MUST NOT … excluded: producer-side
REQ-ENT-002 3 keyword producer registry_entry_id and receipt_id MUST be random or otherwise opaque, and MUST NOT be derived … excluded: producer-side
REQ-ENT-003 4 keyword producer It MUST NOT be derivable from a public or guessable identifier: a registry entry … excluded: producer-side
REQ-ENT-004 6 keyword verifier One narrow comparison is normative and is not such an assumption: a verifier comparing … corpus
REQ-ENT-005 8 keyword producer Issuance MUST use registry_entry_signing_payload_v2 with payload_version: 2 as defined in signing-envelope-v2.md. corpus
REQ-ENT-006 9 advisory producer An issuer SHOULD name only registered values. advisory
REQ-ENT-007 4 advisory operator A relying party that relies on the subject an opening names SHOULD recompute the … advisory
id section kind binds requirement coverage
REQ-LNK-001 1 keyword verifier A verifier MUST perform every check of §3, MUST combine them as §5 states, … corpus

trust-registry-authorization.md

id section kind binds requirement coverage
REQ-TRA-001 2 keyword operator It MUST be a calendar instant of the form YYYY-MM-DDTHH:MM:SSZ (canonicalization-and-hashing.md, “Input strictness”); a … corpus
REQ-TRA-002 6 keyword verifier A verifier MUST evaluate the conditions below in this order and stop at the … corpus
REQ-TRA-003 6 row verifier the evaluation order of the authorization check: 1 corpus
REQ-TRA-004 6 row verifier the evaluation order of the authorization check: 2 excluded: not-observable
REQ-TRA-005 6 row verifier the evaluation order of the authorization check: 3 corpus
REQ-TRA-006 6 row verifier the evaluation order of the authorization check: 4 corpus
REQ-TRA-007 6 row verifier the evaluation order of the authorization check: 5 corpus
REQ-TRA-008 6 row verifier the evaluation order of the authorization check: 6 corpus
REQ-TRA-009 6 row verifier the evaluation order of the authorization check: 7 corpus
REQ-TRA-010 6 row verifier the evaluation order of the authorization check: 8 corpus
REQ-TRA-011 6 row verifier the evaluation order of the authorization check: 9 corpus
REQ-TRA-012 6 row verifier the evaluation order of the authorization check: 10 corpus
REQ-TRA-013 6 row verifier the evaluation order of the authorization check: 11 corpus
REQ-TRA-014 6 row verifier the evaluation order of the authorization check: 12 corpus
REQ-TRA-015 6 row verifier the evaluation order of the authorization check: 13 corpus
REQ-TRA-016 6 row verifier the evaluation order of the authorization check: 14 corpus
REQ-TRA-017 6 row verifier the evaluation order of the authorization check: 15 excluded: not-observable
REQ-TRA-018 6 row verifier the evaluation order of the authorization check: 16 corpus
REQ-TRA-019 6 row verifier the evaluation order of the authorization check: 17 excluded: not-observable
REQ-TRA-020 6 row verifier the evaluation order of the authorization check: 18 corpus
REQ-TRA-021 6 row verifier the evaluation order of the authorization check: 19 excluded: not-observable
REQ-TRA-022 6 row verifier the evaluation order of the authorization check: 20 corpus
REQ-TRA-023 6 row verifier the evaluation order of the authorization check: — corpus
REQ-TRA-024 5 advisory operator A trust-registry operator SHOULD NOT list one public key in more than one trust … advisory

trust-root.md

id section kind binds requirement coverage
REQ-ROOT-001 2 keyword verifier A verifier that has no pinned trust root MUST NOT return PASS for a … corpus
REQ-ROOT-002 2 keyword verifier Absent a cause of FAIL, it MUST return REVIEW: a run that fails for … corpus
REQ-ROOT-003 3 keyword verifier A verifier MUST NOT read roots from the registry it is authenticating: that is … excluded: not-observable
REQ-ROOT-004 3 keyword verifier The top level is closed, as each element is: a document that is not … corpus
REQ-ROOT-005 3 keyword verifier Further constraints, each of which MUST be enforced: corpus
REQ-ROOT-006 3 keyword verifier A verifier MUST validate the trust-root document against this section when it reads it, … corpus
REQ-ROOT-007 4.1 keyword verifier A signature created for the registry-entry envelope of signing-envelope-v2.md, for another envelope version, another … corpus
REQ-ROOT-008 5 keyword verifier A verifier MUST reach its answer in this order, returning at the first condition … corpus
REQ-ROOT-009 5 keyword verifier A root revoked inside a lapsed window MUST be reported as revoked. corpus
REQ-ROOT-010 5 row verifier the evaluation order of root authentication: 1 corpus
REQ-ROOT-011 5 row verifier the evaluation order of root authentication: 2 excluded: not-observable
REQ-ROOT-012 5 row verifier the evaluation order of root authentication: 3 corpus
REQ-ROOT-013 5 row verifier the evaluation order of root authentication: 4 corpus
REQ-ROOT-014 5 row verifier the evaluation order of root authentication: 5 corpus
REQ-ROOT-015 5 row verifier the evaluation order of root authentication: 6 corpus
REQ-ROOT-016 5 row verifier the evaluation order of root authentication: 7 corpus
REQ-ROOT-017 5 row verifier the evaluation order of root authentication: 8 corpus
REQ-ROOT-018 5 row verifier the evaluation order of root authentication: 9 corpus
REQ-ROOT-019 5 row verifier the evaluation order of root authentication: 10 corpus
REQ-ROOT-020 5 row verifier the evaluation order of root authentication: 11 corpus
REQ-ROOT-021 5 row verifier the evaluation order of root authentication: 12 corpus
REQ-ROOT-022 5 row verifier the evaluation order of root authentication: — corpus
REQ-ROOT-023 3 advisory operator An operator SHOULD NOT list one public key under more than one key_id. advisory
REQ-ROOT-024 1 advisory operator An operator SHOULD pin in one trust-root document only roots it trusts for every … advisory

verification-vocabularies.md

id section kind binds requirement coverage
REQ-VOC-001 1 keyword implementation Documentation, JSON Schemas and generated client types MUST derive from or be checked against … excluded: governance
REQ-VOC-002 2 keyword verifier It is not a free string and consumers MUST reject other values. corpus
REQ-VOC-003 3 keyword verifier Implementations MUST NOT introduce a status outside the four above, and MUST NOT coerce … corpus
REQ-VOC-004 7 advisory verifier The anchor is outside the signature and unattributable (anchor-commitment.md §2), and no check reads … advisory
REQ-VOC-005 8 advisory operator An operator MAY supply another document for a kind, out of band, and the … advisory
REQ-VOC-006 8 keyword verifier No member of a bundle, a registry entry, a verification receipt or a trust … excluded: not-observable
REQ-VOC-007 8 keyword verifier A verifier MUST refuse a supplied vocabulary document that is not strict JSON, is … corpus
REQ-VOC-008 8 advisory verifier A report MAY record the documents the run held. advisory
REQ-VOC-009 6 row document the members of a registered vocabulary document: object_type corpus
REQ-VOC-010 6 row document the members of a registered vocabulary document: schema_version corpus
REQ-VOC-011 6 row document the members of a registered vocabulary document: kind corpus
REQ-VOC-012 6 row document the members of a registered vocabulary document: version corpus
REQ-VOC-013 6 row document the members of a registered vocabulary document: values corpus
REQ-VOC-014 6 row document the members of a registered vocabulary document: values.*.since corpus
REQ-VOC-015 6 row document the members of a registered vocabulary document: values.*.status corpus
REQ-VOC-016 6 row document the members of a registered vocabulary document: values.*.title corpus
REQ-VOC-017 6 row document the members of a registered vocabulary document: values.*.profile corpus
REQ-VOC-018 6 row document the members of a registered vocabulary document: values.*.asset_types corpus
REQ-VOC-019 7 row verifier known, unknown and invalid values: known corpus
REQ-VOC-020 7 row verifier known, unknown and invalid values: unknown corpus
REQ-VOC-021 7 row verifier known, unknown and invalid values: invalid corpus

reason-codes.md

id section kind binds requirement coverage
REQ-RC-001 3 keyword producer A producer MUST NOT emit a code outside the register. corpus
REQ-RC-002 3 keyword verifier A consumer MUST reject an object carrying one. corpus
REQ-RC-003 6 keyword implementation And an implementation that does render them MUST take the wording from the catalog … excluded: not-observable

verdict-grounds.md

id section kind binds requirement coverage
REQ-VG-001 2 keyword verifier An implementation MUST NOT sort severities alphabetically, by insertion order, or by any other … corpus
REQ-VG-002 VG-1 keyword verifier reason_codes MUST be present and MUST contain at least one entry. corpus
REQ-VG-003 VG-1 keyword verifier Entries MUST be unique. corpus
REQ-VG-004 VG-1 keyword verifier A value that is not an array (a bare string, an object, null) MUST … corpus
REQ-VG-005 VG-1 keyword verifier It is nonetheless restated here, and a conforming checker MUST apply it independently of … corpus
REQ-VG-006 VG-2 keyword verifier Every entry of reason_codes MUST be a code defined by the reason-code catalog. corpus
REQ-VG-007 VG-2 keyword verifier An implementation MUST NOT skip an unrecognized code and continue: a skipped code contributes … corpus
REQ-VG-008 VG-3 keyword verifier status MUST equal the implied status defined in §2 (the status mapped from the … corpus
REQ-VG-009 VG-3 keyword verifier An implementation MUST NOT accept a status merely because it is at least as … corpus
REQ-VG-010 VG-3 advisory verifier An implementation SHOULD additionally reject it as an out-of-vocabulary value, with a diagnostic that … advisory
REQ-VG-011 VG-4 keyword verifier If status is pass, at least one cited code MUST have severity info. corpus
REQ-VG-012 VG-5 keyword verifier If status is pass, key_checks MUST be present and non-empty. corpus
REQ-VG-013 VG-5 keyword verifier The conditional is therefore a prose rule, and an implementer MUST enforce it outside … corpus
REQ-VG-014 VG-6 keyword verifier Every cited code whose severity is fail or review MUST have at least one … corpus
REQ-VG-015 VG-6 keyword verifier reason_context entries for codes that are not cited are permitted and MUST NOT be … corpus
REQ-VG-016 VG-6 advisory producer A conforming producer SHOULD populate whichever of them the finding has. advisory
REQ-VG-017 VG-7 keyword verifier Every reason_context[].code MUST be a code the catalog defines. corpus
REQ-VG-018 4 keyword operator A summary violating any rule in §3 is not conforming, and a consumer MUST … excluded: not-observable
REQ-VG-019 4 keyword verifier An implementation MUST NOT repair a violating document. corpus
REQ-VG-020 4 keyword verifier It MUST NOT rewrite the status to the one the grounds imply, MUST NOT … corpus
REQ-VG-021 4 keyword verifier An implementation MUST NOT downgrade or coerce an out-of-vocabulary value to the nearest recognized … corpus
REQ-VG-022 4 advisory verifier A checker SHOULD report every violation it finds rather than stopping at the first, … advisory
REQ-VG-023 5 keyword verifier An implementation MUST NOT compute a maximum over the recognized remainder. corpus
REQ-VG-024 7 keyword implementation A renderer that composes an explanation from an entry’s verdict and reason codes MUST … excluded: not-observable
REQ-VG-025 7.2 keyword implementation VG-1 applies to that route as much as to the other: a renderer MUST … excluded: not-observable
REQ-VG-026 VG-1 row verifier the verdict-grounds rules: VG-1 corpus
REQ-VG-027 VG-2 row verifier the verdict-grounds rules: VG-2 corpus
REQ-VG-028 VG-3 row verifier the verdict-grounds rules: VG-3 corpus
REQ-VG-029 VG-4 row verifier the verdict-grounds rules: VG-4 corpus
REQ-VG-030 VG-5 row verifier the verdict-grounds rules: VG-5 corpus
REQ-VG-031 VG-6 row verifier the verdict-grounds rules: VG-6 corpus
REQ-VG-032 VG-7 row verifier the verdict-grounds rules: VG-7 corpus
REQ-VG-033 VG-5 keyword verifier A key_checks value that is not an array, an object or null (a string, … corpus
REQ-VG-034 VG-7 keyword verifier A reason_context that is not an array MUST be treated exactly as an absent … corpus

report-contract.md

id section kind binds requirement coverage
REQ-RPT-001 2 advisory verifier A verifier MAY carry members this document does not name, and each of them … advisory
REQ-RPT-002 2 keyword implementation Informative means that a conformance comparison does not read the member and MUST NOT … implementation tests only
REQ-RPT-003 3.1 keyword operator verdict is null exactly when no verdict on the evidence was computed, and a … excluded: not-observable
REQ-RPT-004 4 keyword verifier A command line MUST return it, with no report, when an argument is missing … corpus
REQ-RPT-005 4 keyword verifier A command line MUST also return exit 64, with no report, when a registered … corpus
REQ-RPT-006 4 keyword implementation A library interface whose host reads those files and hands it documents instead MUST … excluded: host-dependent
REQ-RPT-007 4 keyword implementation It MUST report each as this contract reports the path itself: for a registry … corpus
REQ-RPT-008 4 advisory verifier A command line MAY offer the option --accept-review, whose value is a comma-separated list … advisory
REQ-RPT-009 4.1 advisory verifier It MAY add options of its own, such as a choice of output format, … advisory
REQ-RPT-010 5.3 advisory verifier Archive intake is optional: a verifier MAY read directory bundles only, and bundle-objects.md §5 … advisory
REQ-RPT-011 5.3 keyword verifier Any other failure of an operation is the host failing it, and a verifier … excluded: host-dependent
REQ-RPT-012 5.3 row verifier the error codes of a report: input_not_found corpus
REQ-RPT-013 5.3 row verifier the error codes of a report: invalid_zip corpus
REQ-RPT-014 5.3 row verifier the error codes of a report: archive_unsafe_member corpus
REQ-RPT-015 5.3 row verifier the error codes of a report: archive_safety_limit corpus
REQ-RPT-016 5.3 row verifier the error codes of a report: bundle_root_invalid corpus
REQ-RPT-017 5.3 row verifier the error codes of a report: archive_load_failed excluded: host-dependent
REQ-RPT-018 5.3 row verifier the error codes of a report: unsupported_input corpus
REQ-RPT-019 5.3 row verifier the error codes of a report: filesystem_error excluded: host-dependent
REQ-RPT-020 5.3 row verifier the error codes of a report: bundle_inventory_failed excluded: host-dependent
REQ-RPT-021 5.3 row verifier the error codes of a report: bundle_member_name_invalid excluded: host-dependent
REQ-RPT-022 5.3 row verifier the error codes of a report: unsafe_bundle_member excluded: host-dependent
REQ-RPT-023 5.3 row verifier the error codes of a report: manifest_verification_failed corpus
REQ-RPT-024 5.3 row verifier the error codes of a report: manifest_read_failed excluded: host-dependent
REQ-RPT-025 5.3 row verifier the error codes of a report: p1_verification_failed corpus
REQ-RPT-026 5.3 row verifier the error codes of a report: p1_read_failed excluded: host-dependent
REQ-RPT-027 5.3 row verifier the error codes of a report: envelope_verification_failed corpus
REQ-RPT-028 5.3 row verifier the error codes of a report: envelope_incomplete corpus
REQ-RPT-029 5.3 row verifier the error codes of a report: envelope_read_failed excluded: host-dependent
REQ-RPT-030 5.3 row verifier the error codes of a report: verification_receipt_contract_violation corpus
REQ-RPT-031 5.3 row verifier the error codes of a report: registry_link_verification_failed corpus
REQ-RPT-032 5.3 row verifier the error codes of a report: registry_entry_contract_violation corpus
REQ-RPT-033 5.3 row verifier the error codes of a report: registry_entry_verdict_fail corpus
REQ-RPT-034 5.3 row verifier the error codes of a report: registry_link_read_failed excluded: host-dependent
REQ-RPT-035 5.3 row verifier the error codes of a report: trust_registry_requires_registry_entry corpus
REQ-RPT-036 5.3 row verifier the error codes of a report: trust_registry_requires_valid_registry_entry corpus
REQ-RPT-037 5.3 row verifier the error codes of a report: trust_registry_read_failed excluded: host-dependent
REQ-RPT-038 5.3 row verifier the error codes of a report: trust_root_read_failed excluded: host-dependent
REQ-RPT-039 5.3 row verifier the error codes of a report: trust_registry_root_not_authenticated corpus
REQ-RPT-040 5.3 row verifier the error codes of a report: unsupported_version corpus
REQ-RPT-041 5.3 row verifier the error codes of a report: internal_error excluded: host-dependent
REQ-RPT-042 3.1 row verifier the outcome table: status, verdict and exit code: OFFLINE_OK corpus
REQ-RPT-043 3.1 row verifier the outcome table: status, verdict and exit code: OFFLINE_FAIL corpus
REQ-RPT-044 3.1 row verifier the outcome table: status, verdict and exit code: OFFLINE_REVIEW corpus
REQ-RPT-045 3.1 row verifier the outcome table: status, verdict and exit code: INTERNAL_ERROR excluded: host-dependent
REQ-RPT-046 3.1 row verifier the outcome table: status, verdict and exit code: UNSUPPORTED_VERSION corpus
REQ-RPT-047 3.1 row verifier the outcome table: status, verdict and exit code: HOST_FAILURE corpus
REQ-RPT-048 5.2 row verifier the rules that choose outcome.reason: 1 corpus
REQ-RPT-049 5.2 row verifier the rules that choose outcome.reason: 2 corpus
REQ-RPT-050 5.2 row verifier the rules that choose outcome.reason: 3 corpus
REQ-RPT-051 5.2 row verifier the rules that choose outcome.reason: 4 corpus
REQ-RPT-052 5.2 row verifier the rules that choose outcome.reason: 5 corpus
REQ-RPT-053 5.2 row verifier the rules that choose outcome.reason: 6 corpus
REQ-RPT-054 5.2 row verifier the rules that choose outcome.reason: 7 corpus
REQ-RPT-055 5.2 row verifier the rules that choose outcome.reason: 8 corpus
REQ-RPT-056 5.2 row verifier the rules that choose outcome.reason: 9 corpus
REQ-RPT-057 5.2 row verifier the rules that choose outcome.reason: 10 corpus
REQ-RPT-058 5.2 row verifier the rules that choose outcome.reason: 11 not tested
REQ-RPT-059 3.3 row verifier the review reasons: registry_entry_verdict_requires_review corpus
REQ-RPT-060 3.3 row verifier the review reasons: verification_receipt_not_provided corpus
REQ-RPT-061 3.3 row verifier the review reasons: evaluation_time_not_provided corpus
REQ-RPT-062 3.3 row verifier the review reasons: trust_registry_not_current corpus
REQ-RPT-063 3.3 row verifier the review reasons: issuer_key_outside_validity_window corpus
REQ-RPT-064 3.3 row verifier the review reasons: trust_root_outside_validity_window corpus
REQ-RPT-065 3.3 row verifier the review reasons: trust_registry_root_not_pinned corpus
REQ-RPT-066 3.3 row verifier the review reasons: bundle_reserved_member corpus
REQ-RPT-067 3.3 row verifier the review reasons: container_extra_files corpus
REQ-RPT-068 3.3 row verifier the review reasons: bundle_extra_files corpus
REQ-RPT-069 3.3 row verifier the review reasons: canonical_input_not_provided corpus
REQ-RPT-070 3.3 row verifier the review reasons: envelope_not_provided corpus
REQ-RPT-071 3.3 row verifier the review reasons: offline_review_required excluded: host-dependent
REQ-RPT-072 3.3 row verifier the review reasons: vocabulary_value_unknown corpus
REQ-RPT-073 2 advisory operator An operator that keeps a report, or passes it on, SHOULD keep with it … advisory

anchor-commitment.md

id section kind binds requirement coverage
REQ-ANC-001 1 keyword producer The value referenced by registry_entry.anchor.anchor_reference MUST commit to H, where H is the SHA-256 … excluded: reserved
REQ-ANC-002 1 advisory producer The commitment MAY be direct, or MAY be to a structure over digests from … advisory
REQ-ANC-003 2 keyword document The signing payload of signing-envelope-v2.md, the registry entry without the members signature, anchor and … excluded: reserved
REQ-ANC-004 3 keyword producer Entry content MUST NOT be committed. excluded: reserved
REQ-ANC-005 3 advisory producer Nor MAY subject_ref_hash, asset_id, bundle_id, any other identifier, or any locator or retrieval URI. advisory
REQ-ANC-006 4 keyword verifier An absent or null anchor MUST NOT be treated as a negative finding. excluded: reserved
REQ-ANC-007 4 keyword verifier A present anchor that has not been checked MUST NOT be reported, rendered, or … excluded: reserved

threat-model.md

id section kind binds requirement coverage
REQ-TM-001 A1 keyword verifier The registry entry commits to manifest_hash and receipt_hash, and a conforming verifier MUST recompute … corpus
REQ-TM-002 A1 keyword implementation A verifier MUST NOT present a PASS that established only structure and integrity as … excluded: not-observable
REQ-TM-003 A2 keyword verifier Against a dishonest registry operator, an adversary who supplies a registry that is not … corpus
REQ-TM-004 A2 keyword verifier A duplicated (issuer_id, issuer_key_id) pair has no well-defined authority and MUST be refused rather … corpus
REQ-TM-005 5 keyword verifier A verifier that has no pinned trust root MUST NOT return PASS for a … corpus
REQ-TM-006 5 keyword verifier Absent a cause of FAIL, it MUST return REVIEW. corpus
REQ-TM-007 5 keyword verifier Two pinned roots sharing a key_id, or a matched root sharing its point with … corpus
REQ-TM-008 5 keyword verifier Revocation MUST be reported before the validity window, because a root revoked inside a … corpus
REQ-TM-009 5 keyword verifier An entry that failed earlier and never reached root authentication MUST report ROOT_SIGNATURE_NOT_EVALUATED, which … corpus
REQ-TM-010 14 advisory operator An operator SHOULD NOT use one key both as a trust root and as … advisory
REQ-TM-011 18 advisory operator An operator that shows identifiers to people SHOULD show a value that is not … advisory
REQ-TM-012 A2 keyword verifier The same holds for one public key under two labels: a trust entry found … corpus

document-contracts.md

id section kind binds requirement coverage
REQ-DC-001 10 row document member rows of document-contracts.md section 10: effective_at excluded: restatement
REQ-DC-002 10 row document member rows of document-contracts.md section 10: entries excluded: restatement
REQ-DC-003 10 row document member rows of document-contracts.md section 10: entries[i].allowed_asset_types excluded: restatement
REQ-DC-004 10 row document member rows of document-contracts.md section 10: entries[i].allowed_workflows excluded: restatement
REQ-DC-005 10 row document member rows of document-contracts.md section 10: entries[i].effective_from excluded: restatement
REQ-DC-006 10 row document member rows of document-contracts.md section 10: entries[i].expires_at excluded: restatement
REQ-DC-007 10 row document member rows of document-contracts.md section 10: entries[i].issuer_display_name excluded: restatement
REQ-DC-008 10 row document member rows of document-contracts.md section 10: entries[i].issuer_id excluded: restatement
REQ-DC-009 10 row document member rows of document-contracts.md section 10: entries[i].issuer_key_id excluded: restatement
REQ-DC-010 10 row document member rows of document-contracts.md section 10: entries[i].key_type excluded: restatement
REQ-DC-011 10 row document member rows of document-contracts.md section 10: entries[i].notes excluded: restatement
REQ-DC-012 10 row document member rows of document-contracts.md section 10: entries[i].public_key_hex excluded: restatement
REQ-DC-013 10 row document member rows of document-contracts.md section 10: entries[i].revocation_reason excluded: restatement
REQ-DC-014 10 row document member rows of document-contracts.md section 10: entries[i].revoked_at excluded: restatement
REQ-DC-015 10 row document member rows of document-contracts.md section 10: entries[i].status excluded: restatement
REQ-DC-016 10 row document member rows of document-contracts.md section 10: expires_at excluded: restatement
REQ-DC-017 10 row document member rows of document-contracts.md section 10: issued_at excluded: restatement
REQ-DC-018 10 row document member rows of document-contracts.md section 10: object_type excluded: restatement
REQ-DC-019 10 row document member rows of document-contracts.md section 10: registry_operator_id excluded: restatement
REQ-DC-020 10 row document member rows of document-contracts.md section 10: registry_version excluded: restatement
REQ-DC-021 10 row document member rows of document-contracts.md section 10: schema_version excluded: restatement
REQ-DC-022 10 row document member rows of document-contracts.md section 10: signature excluded: restatement
REQ-DC-023 10 row document member rows of document-contracts.md section 10: signature.algorithm excluded: restatement
REQ-DC-024 10 row document member rows of document-contracts.md section 10: signature.key_id excluded: restatement
REQ-DC-025 10 row document member rows of document-contracts.md section 10: signature.signature excluded: restatement
REQ-DC-026 10 row document member rows of document-contracts.md section 10: trust_registry_id excluded: restatement
REQ-DC-027 11 row document member rows of document-contracts.md section 11: the document excluded: restatement
REQ-DC-028 11 row document member rows of document-contracts.md section 11: roots excluded: restatement
REQ-DC-029 11 row document member rows of document-contracts.md section 11: roots[i].key_id excluded: restatement
REQ-DC-030 11 row document member rows of document-contracts.md section 11: roots[i].key_type excluded: restatement
REQ-DC-031 11 row document member rows of document-contracts.md section 11: roots[i].public_key_hex excluded: restatement
REQ-DC-032 11 row document member rows of document-contracts.md section 11: roots[i].not_before excluded: restatement
REQ-DC-033 11 row document member rows of document-contracts.md section 11: roots[i].not_after excluded: restatement
REQ-DC-034 11 row document member rows of document-contracts.md section 11: roots[i].status excluded: restatement
REQ-DC-035 12 row document the verifier’s own inputs: the bundle excluded: restatement
REQ-DC-036 12 row document the verifier’s own inputs: the registry entry excluded: restatement
REQ-DC-037 12 row document the verifier’s own inputs: the trust registry excluded: restatement
REQ-DC-038 12 row document the verifier’s own inputs: the trust roots excluded: restatement
REQ-DC-039 12 row document the verifier’s own inputs: the evaluation time excluded: restatement
REQ-DC-040 12 row document the verifier’s own inputs: the asset-type vocabulary excluded: restatement
REQ-DC-041 12 row document the verifier’s own inputs: the workflow vocabulary excluded: restatement
REQ-DC-042 12 row document the verifier’s own inputs: the anchoring-method vocabulary excluded: restatement
REQ-DC-043 12 row document the verifier’s own inputs: any option excluded: restatement
REQ-DC-044 15 row document member rows of document-contracts.md section 15: object_type excluded: restatement
REQ-DC-045 15 row document member rows of document-contracts.md section 15: schema_version excluded: restatement
REQ-DC-046 15 row document member rows of document-contracts.md section 15: kind excluded: restatement
REQ-DC-047 15 row document member rows of document-contracts.md section 15: version excluded: restatement
REQ-DC-048 15 row document member rows of document-contracts.md section 15: values excluded: restatement
REQ-DC-049 15 row document member rows of document-contracts.md section 15: values.*.since excluded: restatement
REQ-DC-050 15 row document member rows of document-contracts.md section 15: values.*.status excluded: restatement
REQ-DC-051 15 row document member rows of document-contracts.md section 15: values.*.title excluded: restatement
REQ-DC-052 15 row document member rows of document-contracts.md section 15: values.*.profile excluded: restatement
REQ-DC-053 15 row document member rows of document-contracts.md section 15: values.*.asset_types excluded: restatement
REQ-DC-054 3 row document member rows of document-contracts.md section 3: bundle_id excluded: restatement
REQ-DC-055 3 row document member rows of document-contracts.md section 3: files excluded: restatement
REQ-DC-056 3 row document member rows of document-contracts.md section 3: nonce excluded: restatement
REQ-DC-057 3 row document member rows of document-contracts.md section 3: schema_version excluded: restatement
REQ-DC-058 4 row document member rows of document-contracts.md section 4: s excluded: restatement
REQ-DC-059 4 row document member rows of document-contracts.md section 4: v excluded: restatement
REQ-DC-060 4 row document member rows of document-contracts.md section 4: ih excluded: restatement
REQ-DC-061 4 row document member rows of document-contracts.md section 4: ik excluded: restatement
REQ-DC-062 5 row document member rows of document-contracts.md section 5: the document excluded: restatement
REQ-DC-063 6 row document member rows of document-contracts.md section 6: manifest.sha256 excluded: restatement
REQ-DC-064 6 row document member rows of document-contracts.md section 6: p1.sha256 excluded: restatement
REQ-DC-065 6 row document member rows of document-contracts.md section 6: envelope.sha256 excluded: restatement
REQ-DC-066 7 row document member rows of document-contracts.md section 7: s excluded: restatement
REQ-DC-067 7 row document member rows of document-contracts.md section 7: v excluded: restatement
REQ-DC-068 7 row document member rows of document-contracts.md section 7: bundle_id excluded: restatement
REQ-DC-069 7 row document member rows of document-contracts.md section 7: bundle_manifest_sha256 excluded: restatement
REQ-DC-070 7 row document member rows of document-contracts.md section 7: p1_sha256 excluded: restatement
REQ-DC-071 7 row document member rows of document-contracts.md section 7: registry_entry excluded: restatement
REQ-DC-072 7 row document member rows of document-contracts.md section 7: ts excluded: restatement
REQ-DC-073 7 row document member rows of document-contracts.md section 7: network excluded: restatement
REQ-DC-074 7 row document member rows of document-contracts.md section 7: p1_txid excluded: restatement
REQ-DC-075 7 row document member rows of document-contracts.md section 7: uri excluded: restatement
REQ-DC-076 7 row document member rows of document-contracts.md section 7: asset_id excluded: restatement
REQ-DC-077 7 row document member rows of document-contracts.md section 7: asset_type excluded: restatement
REQ-DC-078 7 row document member rows of document-contracts.md section 7: receipt_id excluded: restatement
REQ-DC-079 8 row document member rows of document-contracts.md section 8: anchor_provider excluded: restatement
REQ-DC-080 8 row document member rows of document-contracts.md section 8: anchor_type excluded: restatement
REQ-DC-081 8 row document member rows of document-contracts.md section 8: asset_id excluded: restatement
REQ-DC-082 8 row document member rows of document-contracts.md section 8: asset_type excluded: restatement
REQ-DC-083 8 row document member rows of document-contracts.md section 8: bundle_id excluded: restatement
REQ-DC-084 8 row document member rows of document-contracts.md section 8: manifest_sha256 excluded: restatement
REQ-DC-085 8 row document member rows of document-contracts.md section 8: network excluded: restatement
REQ-DC-086 8 row document member rows of document-contracts.md section 8: object_type excluded: restatement
REQ-DC-087 8 row document member rows of document-contracts.md section 8: p1_sha256 excluded: restatement
REQ-DC-088 8 row document member rows of document-contracts.md section 8: policy_id excluded: restatement
REQ-DC-089 8 row document member rows of document-contracts.md section 8: policy_pack_sha256 excluded: restatement
REQ-DC-090 8 row document member rows of document-contracts.md section 8: policy_version excluded: restatement
REQ-DC-091 8 row document member rows of document-contracts.md section 8: primary_anchor excluded: restatement
REQ-DC-092 8 row document member rows of document-contracts.md section 8: reason_code_vocabulary_version excluded: restatement
REQ-DC-093 8 row document member rows of document-contracts.md section 8: reason_codes excluded: restatement
REQ-DC-094 8 row document member rows of document-contracts.md section 8: schema_version excluded: restatement
REQ-DC-095 8 row document member rows of document-contracts.md section 8: status excluded: restatement
REQ-DC-096 8 row document member rows of document-contracts.md section 8: storage excluded: restatement
REQ-DC-097 8 row document member rows of document-contracts.md section 8: verification_mode excluded: restatement
REQ-DC-098 8 row document member rows of document-contracts.md section 8: verified_at excluded: restatement
REQ-DC-099 9 row document member rows of document-contracts.md section 9: anchor excluded: restatement
REQ-DC-100 9 row document member rows of document-contracts.md section 9: anchor.anchor_reference excluded: restatement
REQ-DC-101 9 row document member rows of document-contracts.md section 9: anchor.method excluded: restatement
REQ-DC-102 9 row document member rows of document-contracts.md section 9: anchor.system excluded: restatement
REQ-DC-103 9 row document member rows of document-contracts.md section 9: anchored_at excluded: restatement
REQ-DC-104 9 row document member rows of document-contracts.md section 9: asset_type excluded: restatement
REQ-DC-105 9 row document member rows of document-contracts.md section 9: disclosure_profile excluded: restatement
REQ-DC-106 9 row document member rows of document-contracts.md section 9: effective_at excluded: restatement
REQ-DC-107 9 row document member rows of document-contracts.md section 9: issued_at excluded: restatement
REQ-DC-108 9 row document member rows of document-contracts.md section 9: issuer_id excluded: restatement
REQ-DC-109 9 row document member rows of document-contracts.md section 9: issuer_key_id excluded: restatement
REQ-DC-110 9 row document member rows of document-contracts.md section 9: manifest_hash excluded: restatement
REQ-DC-111 9 row document member rows of document-contracts.md section 9: object_type excluded: restatement
REQ-DC-112 9 row document member rows of document-contracts.md section 9: policy_id excluded: restatement
REQ-DC-113 9 row document member rows of document-contracts.md section 9: policy_version excluded: restatement
REQ-DC-114 9 row document member rows of document-contracts.md section 9: privacy_classification excluded: restatement
REQ-DC-115 9 row document member rows of document-contracts.md section 9: reason_code_catalog_version excluded: restatement
REQ-DC-116 9 row document member rows of document-contracts.md section 9: reason_codes excluded: restatement
REQ-DC-117 9 row document member rows of document-contracts.md section 9: receipt_hash excluded: restatement
REQ-DC-118 9 row document member rows of document-contracts.md section 9: receipt_id excluded: restatement
REQ-DC-119 9 row document member rows of document-contracts.md section 9: registry_entry_id excluded: restatement
REQ-DC-120 9 row document member rows of document-contracts.md section 9: schema_version excluded: restatement
REQ-DC-121 9 row document member rows of document-contracts.md section 9: signature excluded: restatement
REQ-DC-122 9 row document member rows of document-contracts.md section 9: signature.algorithm excluded: restatement
REQ-DC-123 9 row document member rows of document-contracts.md section 9: signature.key_id excluded: restatement
REQ-DC-124 9 row document member rows of document-contracts.md section 9: signature.payload_id excluded: restatement
REQ-DC-125 9 row document member rows of document-contracts.md section 9: signature.payload_version excluded: restatement
REQ-DC-126 9 row document member rows of document-contracts.md section 9: signature.signature excluded: restatement
REQ-DC-127 9 row document member rows of document-contracts.md section 9: subject_ref_hash excluded: restatement
REQ-DC-128 9 row document member rows of document-contracts.md section 9: verdict excluded: restatement
REQ-DC-129 9 row document member rows of document-contracts.md section 9: workflow excluded: restatement

Rules without a vector

Every binding record the corpus does not cover is in one of the three lists below; none is left out. Advisory records carry no obligation and are not listed.

Excluded, with the reason

id class reason
REQ-PPB-001 producer-side a rule on what a producer writes; a verifier cannot observe it in a document: no check tells personal data from any other string
REQ-PPB-002 producer-side a rule on what a producer publishes; a verifier sees only the members the registry-entry schema admits, and no check tells disclosed material from any other string
REQ-BND-005 host-dependent the condition is a state of the host or an interface, which a run of the corpus cannot carry (conformance-testing.md section 6): a link or a refused listing in a directory bundle
REQ-BND-006 producer-side a rule on what a producer writes; a verifier cannot observe it in a document: a verifier checks the nonce’s form, not its randomness or freshness
REQ-BND-025 not-observable a rule on what a relying party does with a verified bundle after the run
REQ-ENT-001 producer-side a rule on what a producer writes; a verifier cannot observe it in a document: no check tells personal data from any other identifier
REQ-ENT-002 producer-side a rule on what a producer writes; a verifier cannot observe it in a document: how an identifier was made is not in the identifier
REQ-ENT-003 producer-side a rule on what a producer writes; a verifier cannot observe it in a document: no check of this version reads the opening or recomputes the value
REQ-TRA-004 not-observable a report never reaches this row: an earlier step refuses what it tests; it fixes the answer of an interface that evaluates this step on its own (trust-registry-authorization.md section 6)
REQ-TRA-017 not-observable a report never reaches this row: an earlier step refuses what it tests; it fixes the answer of an interface that evaluates this step on its own (trust-registry-authorization.md section 6)
REQ-TRA-019 not-observable a report never reaches this row: an earlier step refuses what it tests; it fixes the answer of an interface that evaluates this step on its own (trust-registry-authorization.md section 6)
REQ-TRA-021 not-observable a report never reaches this row: an earlier step refuses what it tests; it fixes the answer of an interface that evaluates this step on its own (trust-registry-authorization.md section 6)
REQ-ROOT-003 not-observable a verifier that reads no roots from a trust registry and one that reads them and ignores them answer every input alike: the registry’s closed contract refuses any member that could carry a root
REQ-ROOT-011 not-observable a report never reaches this row: an earlier step refuses what it tests; it fixes the answer of an interface that evaluates this step on its own (trust-root.md section 5)
REQ-VOC-001 governance a rule on how the repositories keep their artifacts consistent, held by the mirror and release gates, not by a verifier
REQ-VOC-006 not-observable no member of an input can name a vocabulary: the closed contracts refuse any member that could, so taking one from an input has no input to show it
REQ-RC-003 not-observable narratives are informative and no conformance comparison reads them (report-contract.md section 2)
REQ-VG-018 not-observable a rule on what a consumer does with a verdict after the run
REQ-VG-024 not-observable narratives are informative and no conformance comparison reads them (report-contract.md section 2)
REQ-VG-025 not-observable narratives are informative and no conformance comparison reads them (report-contract.md section 2)
REQ-RPT-003 not-observable a rule on how a consumer reads a report after the run
REQ-RPT-006 host-dependent the condition is a state of the host or an interface, which a run of the corpus cannot carry (conformance-testing.md section 6): the three values are arguments of a library call, not files
REQ-RPT-011 host-dependent the condition is a state of the host or an interface, which a run of the corpus cannot carry (conformance-testing.md section 6)
REQ-RPT-017 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-019 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-020 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-021 host-dependent conformance-testing.md section 6: a listing that holds a name that is not a portable member name cannot travel in the archive
REQ-RPT-022 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-024 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-026 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-029 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-034 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-037 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-038 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-041 host-dependent conformance-testing.md section 6: the row answers a state of the host or a fault of the verifier, which the run format cannot express
REQ-RPT-045 host-dependent a fault of the verifier, which the run format cannot express (conformance-testing.md section 6)
REQ-RPT-071 host-dependent it answers an interface that cannot list a bundle’s members, a property of the reader, not of the data a run names
REQ-ANC-001 reserved anchor-commitment.md is reserved: no component of this release anchors, and no check reads an anchor
REQ-ANC-003 reserved anchor-commitment.md is reserved: no component of this release anchors, and no check reads an anchor
REQ-ANC-004 reserved anchor-commitment.md is reserved: no component of this release anchors, and no check reads an anchor
REQ-ANC-006 reserved anchor-commitment.md is reserved: no component of this release anchors, and no check reads an anchor
REQ-ANC-007 reserved anchor-commitment.md is reserved: no component of this release anchors, and no check reads an anchor
REQ-TM-002 not-observable a rule on how an implementation presents a report to a person; the report itself names the checks established
REQ-DC-001 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-002 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-003 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-004 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-005 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-006 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-007 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-008 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-009 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-010 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-011 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-012 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-013 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-014 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-015 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-016 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-017 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-018 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-019 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-020 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-021 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-022 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-023 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-024 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-025 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-026 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-027 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-028 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-029 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-030 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-031 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-032 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-033 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-034 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-035 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-036 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-037 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-038 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-039 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-040 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-041 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-042 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-043 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-044 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-045 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-046 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-047 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-048 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-049 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-050 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-051 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-052 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-053 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-054 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-055 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-056 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-057 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-058 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-059 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-060 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-061 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-062 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-063 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-064 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-065 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-066 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-067 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-068 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-069 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-070 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-071 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-072 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-073 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-074 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-075 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-076 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-077 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-078 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-079 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-080 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-081 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-082 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-083 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-084 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-085 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-086 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-087 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-088 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-089 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-090 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-091 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-092 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-093 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-094 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-095 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-096 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-097 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-098 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-099 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-100 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-101 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-102 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-103 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-104 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-105 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-106 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-107 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-108 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-109 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-110 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-111 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-112 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-113 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-114 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-115 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-116 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-117 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-118 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-119 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-120 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-121 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-122 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-123 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-124 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-125 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-126 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-127 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-128 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted
REQ-DC-129 restatement document-contracts.md adds no rule: the row restates the source its rule column cites, where the rule is counted

Tested only in an implementation or by a check of this repository

id where
REQ-RPT-002 tests/test_conformance_testing.py

Not tested, and the known limit

id known limit
REQ-RPT-058 No run of the corpus reaches the last row of report-contract.md section 5.2, the fallback reason offline_verification_failed: no input known to the maintainer fails a run without an error and without failing a layer an earlier row names.

Project site: loquitur.dev

Source: loquitur-protocol/docs/traceability/README.md at 3ff7899c0c76. Licence of this page's text: MIT OR Apache-2.0.