Conformance
Repository conformance
Section titled “Repository conformance”A repository conforms to Product Definition as Code v0.1 when:
- Its canonical product definition lives under a configured product root (default
docs/product) with the model/changes layout defined in this specification. - Every product artifact satisfies the artifact contracts: valid frontmatter per schema, required body sections, valid lifecycle state.
- Every ID satisfies the identifier rules and every reference satisfies the relationship vocabulary.
- Structural validation of the baseline reports no errors. Warnings are permitted.
- Every Product Change satisfies the change contract and its overlay validates without errors.
- Every Delivery Slice satisfies the slice contract.
- Every Product Handoff kept in the repository satisfies the handoff contract.
- Semantic evolution after the initial accepted baseline happens only through Product Changes, and the baseline is modified only by explicit promotion.
Implementation conformance
Section titled “Implementation conformance”An implementation (tooling) conforms when:
- It validates all of the above deterministically, emitting the diagnostic codes, fields, ordering and exit codes defined in Validation.
- It compiles the product graph exclusively from canonical files and can always rebuild every derived output.
- It derives reverse relationships and never requires reciprocal authoring.
- It computes digests with the mandated LF normalization.
- It never mutates the baseline except during explicit promotion, and never promotes implicitly.
- It treats warnings as non-fatal unless the repository opts into
warnings-as-errors.
Violation mapping
Section titled “Violation mapping”Each normative statement in this specification maps to a diagnostic in
Validation; the conformance fixtures under tests/fixtures and
examples/invalid exercise representative violations and assert their codes. A change to
normative behaviour MUST update the specification, the diagnostic table and the fixtures together.
