ADR-A92: Foundation derived-artefact contract and PROV-O alignment

Status: Accepted Date: 2026-09-25 (proposed), 2026-09-25 (accepted, item 3 rewritten on acceptance) Related: ADR-A12 (identity and derivation-authority model), ADR-A13 (dataset, graph-role and provenance model), ADR-A22 (MORK governance and Foundation alignment), ADR-A26 (provenance chain completeness), ADR-A65 (provenance model, Proposed), ADR-A91 Unit: applied-ontology-readiness

Context

Foundation imports PROV-O and aligns its own evidence terms with it (fnd:Evidence ⊑ prov:Entity, an attribution property under prov:wasAttributedTo). The derived records that LATTICE’s compilers write are not aligned:

An applied ontology that records its own provenance in PROV-O cannot ask one question, such as “what was this decision derived from”, across its own records and the artefacts LATTICE generated for it.

Decision

  1. Foundation adds fnd:DerivedArtefact ⊑ prov:Entity and fnd:DerivationRun ⊑ prov:Activity. ADR-A12’s derivation-product kinds (inferred, validated, materialised, projected, indexed, generated, compiled, decision or execution record) become a mechanism enumeration in vocab/foundation-vocab.ttl. Links use PROV-O properties directly (prov:wasGeneratedBy, prov:used, prov:wasDerivedFrom). Foundation declares no parallel properties.
  2. Surface keeps its terms and adds srf:DerivedArtefact ⊑ fnd:DerivedArtefact. Where srf:ReadSetEntry fits PROV-O’s qualified usage pattern it is aligned, and the implementing slice records any part that does not fit.
  3. Executable aligns directly to PROV-O and does not import Foundation. It imports PROV-O and adds exe:ExecutablePlan ⊑ prov:Entity, exe:GeneratedArtefact ⊑ prov:Entity, and exe:derivedFromEligibilityNode, exe:derivedFromQuantificationNode, exe:derivedFromVocabularyNode and exe:compiledFromMapping ⊑ prov:wasDerivedFrom. Direct alignment was accepted on the condition that it imposes no functional restriction on implementors. PROV-O declares no functional or inverse-functional property, so it imposes none.
  4. No existing term is renamed or removed.

Consequences

Implementation notes (2026-09-25, applied-ontology-readiness AOR-12, AOR-13)