# OpenAPM v0.1 -- machine-readable requirements manifest.
#
# Generated initially by scripts/bootstrap_requirements.py from
# Appendix C of openapm-v0.1.md, then maintained by hand on every
# spec edit. The orphan_check.py CI gate enforces that this file
# stays a byte-for-byte projection of the HTML anchors in the spec
# body (the canonical source); Appendix C is a reader-aid derived
# from the same anchors.
#
# Do NOT edit this file alone. The three-step ritual for adding a
# normative requirement is:
#   1. Add the <a id="req-XXX"></a> anchor + prose to openapm-v0.1.md
#      and the corresponding Appendix C row.
#   2. Add the entry below.
#   3. Add or extend a test under tests/spec_conformance/ with
#      @pytest.mark.req("req-XXX") (and optionally cite a fixture
#      path).
# CI fails at any incomplete step.
#
# Ships in v0.1.1 informatively (see spec sec.12.6 reservation;
# v0.2 will promote the surrounding requirements to normative MUST).

requirements_format_version: "1"
spec_version: "v0.1"
requirements:
  - id: req-mf-001
    keyword: MUST
    section: "4.1"
    conformance_class: producer
  - id: req-mf-002
    keyword: MUST
    section: "4.1"
    conformance_class: producer
  - id: req-mf-003
    keyword: MUST
    section: "4.1"
    conformance_class: producer
  - id: req-mf-004
    keyword: SHOULD
    section: "4.1"
    conformance_class: producer
  - id: req-mf-005
    keyword: MUST
    section: "4.2.1"
    conformance_class: producer
  - id: req-mf-006
    keyword: MUST
    section: "4.1"
    conformance_class: consumer
  - id: req-mf-007
    keyword: MUST
    section: "4.3.1"
    conformance_class: consumer
  - id: req-mf-008
    keyword: MUST
    section: "4.3.3"
    conformance_class: consumer
  - id: req-mf-009
    keyword: MUST
    section: "4.3.4"
    conformance_class: consumer
  - id: req-mf-010
    keyword: MUST
    section: "4.3.2"
    conformance_class: consumer
  - id: req-mf-011
    keyword: MUST
    section: "4.3.2"
    conformance_class: consumer
  - id: req-mf-012
    keyword: MUST
    section: "4.3.6"
    conformance_class: consumer
  - id: req-mf-013
    keyword: MUST
    section: "4.5"
    conformance_class: consumer
  - id: req-mf-014
    keyword: MUST
    section: "4.2.3"
    conformance_class: producer
  - id: req-mf-015
    keyword: MUST
    section: "4.2.3"
    conformance_class: producer
  - id: req-mf-016
    keyword: MUST
    section: "4.3.5"
    conformance_class: consumer
  - id: req-mf-017
    keyword: MUST
    section: "4.7"
    conformance_class: producer
  - id: req-mf-018
    keyword: MUST
    section: "4.6.1"
    conformance_class: consumer
  - id: req-mf-019
    keyword: MUST
    section: "4.2.4"
    conformance_class: consumer
  - id: req-mf-020
    keyword: MUST
    section: "4.1"
    conformance_class: consumer
  - id: req-mf-021
    keyword: MUST
    section: "4.8"
    conformance_class: producer
  - id: req-ext-001
    keyword: MUST
    section: "4.1"
    conformance_class: consumer
  - id: req-ext-002
    keyword: MUST
    section: "4.1"
    conformance_class: producer
  - id: req-lk-001
    keyword: MUST
    section: "5.1"
    conformance_class: consumer
  - id: req-lk-002
    keyword: MUST
    section: "5.4"
    conformance_class: consumer
  - id: req-lk-003
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-004
    keyword: MUST
    section: "5.4"
    conformance_class: consumer
  - id: req-lk-005
    keyword: MUST
    section: "5.5"
    conformance_class: consumer
  - id: req-lk-006
    keyword: MUST
    section: "5.5"
    conformance_class: consumer
  - id: req-lk-007
    keyword: SHOULD
    section: "5.5"
    conformance_class: consumer
  - id: req-lk-008
    keyword: MUST
    section: "5.6"
    conformance_class: consumer
  - id: req-lk-009
    keyword: MUST
    section: "5.6"
    conformance_class: consumer
  - id: req-lk-010
    keyword: MUST
    section: "5.6"
    conformance_class: consumer
  - id: req-lk-011
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-012
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-013
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-014
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-015
    keyword: MUST
    section: "5.6.4"
    conformance_class: consumer
  - id: req-lk-016
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-017
    keyword: MUST
    section: "5.2"
    conformance_class: consumer
  - id: req-lk-018
    keyword: SHOULD
    section: "5.5"
    conformance_class: consumer
  - id: req-pl-001
    keyword: MUST
    section: "6.1"
    conformance_class: governance
  - id: req-pl-002
    keyword: MUST
    section: "6.2"
    conformance_class: governance
  - id: req-pl-003
    keyword: MUST
    section: "6.4"
    conformance_class: governance
  - id: req-pl-004
    keyword: MUST
    section: "6.4"
    conformance_class: governance
  - id: req-pl-005
    keyword: MUST
    section: "6.5"
    conformance_class: governance
  - id: req-pl-006
    keyword: MUST
    section: "6.4"
    conformance_class: governance
  - id: req-pl-007
    keyword: MUST
    section: "6.3.1"
    conformance_class: governance
  - id: req-pl-008
    keyword: MUST
    section: "6.3.1"
    conformance_class: governance
  - id: req-pl-009
    keyword: MUST
    section: "6.6"
    conformance_class: governance
  - id: req-pl-010
    keyword: MUST
    section: "6.2"
    conformance_class: governance
  - id: req-pl-011
    keyword: MUST
    section: "6.1.1"
    conformance_class: governance
  - id: req-pl-012
    keyword: MUST
    section: "6.1.1"
    conformance_class: governance
  - id: req-rs-001
    keyword: MUST
    section: "7.2"
    conformance_class: consumer
  - id: req-rs-002
    keyword: MUST
    section: "7.3"
    conformance_class: consumer
  - id: req-rs-003
    keyword: MUST
    section: "7.3"
    conformance_class: consumer
  - id: req-rs-004
    keyword: MUST
    section: "7.5"
    conformance_class: consumer
  - id: req-rs-005
    keyword: MUST
    section: "7.6"
    conformance_class: consumer
  - id: req-rs-006
    keyword: MUST
    section: "7.2"
    conformance_class: consumer
  - id: req-rs-007
    keyword: MUST
    section: "7.3"
    conformance_class: consumer
  - id: req-rs-008
    keyword: MUST
    section: "7.1"
    conformance_class: consumer
  - id: req-rs-009
    keyword: MUST
    section: "7.5.1"
    conformance_class: consumer
  - id: req-rs-010
    keyword: MUST
    section: "7.2"
    conformance_class: consumer
  - id: req-rs-011
    keyword: MUST
    section: "7.7"
    conformance_class: consumer
  - id: req-rs-012
    keyword: MUST
    section: "7.7"
    conformance_class: consumer
  - id: req-rs-013
    keyword: MUST
    section: "7.2"
    conformance_class: consumer
  - id: req-rs-014
    keyword: MUST
    section: "7.3.1"
    conformance_class: consumer
  - id: req-pr-001
    keyword: MUST
    section: "8.2"
    conformance_class: consumer
  - id: req-pr-002
    keyword: MUST
    section: "8.3"
    conformance_class: consumer
  - id: req-pr-003
    keyword: MUST
    section: "8.3"
    conformance_class: consumer
  - id: req-pr-004
    keyword: MUST
    section: "7.8"
    conformance_class: producer
  - id: req-pr-005
    keyword: SHOULD
    section: "7.8"
    conformance_class: producer
  - id: req-tg-001
    keyword: MUST
    section: "8.4"
    conformance_class: consumer
  - id: req-tg-002
    keyword: MUST
    section: "8.5"
    conformance_class: consumer
  - id: req-tg-003
    keyword: MUST
    section: "8.5"
    conformance_class: consumer
  - id: req-tg-004
    keyword: MUST
    section: "4.2.1"
    conformance_class: consumer
  - id: req-sc-001
    keyword: MUST
    section: "10.4"
    conformance_class: consumer
  - id: req-sc-002
    keyword: MUST
    section: "10.9"
    conformance_class: consumer
  - id: req-sc-003
    keyword: MUST
    section: "10.3"
    conformance_class: consumer
  - id: req-sc-004
    keyword: MUST
    section: "10.5"
    conformance_class: consumer
  - id: req-sc-005
    keyword: MUST
    section: "10.3"
    conformance_class: consumer
  - id: req-sc-006
    keyword: MUST
    section: "4.2.3"
    conformance_class: consumer
  - id: req-sc-007
    keyword: MUST
    section: "10.3"
    conformance_class: consumer
  - id: req-sc-008
    keyword: SHOULD
    section: "10.3"
    conformance_class: consumer
  - id: req-rg-001
    keyword: MUST
    section: "11.3.3"
    conformance_class: registry
  - id: req-cf-001
    keyword: MUST
    section: "12.5"
    conformance_class: consumer
  - id: req-cf-002
    keyword: MUST
    section: "12.3"
    conformance_class: consumer
