Research and Agriculture Base Layers in the Ontology Spine
ADR-0003: Research and Agriculture Base Layers in the Ontology Spine
Section titled “ADR-0003: Research and Agriculture Base Layers in the Ontology Spine”Status
Section titled “Status”accepted
Context
Section titled “Context”Background and Problem Statement
Section titled “Background and Problem Statement”The corpus already layers shared supertypes into base ontologies that domain
packs extend: mif-base (the cognitive triad) → mif-generic (the MIF built-in
entity kinds) → engineering-base (shared engineering supertypes: component,
control, policy, artifact, provenance, …) → leaf engineering packs
(software-engineering, data-engineering). The leaf packs declare
subtype_of against the base supertypes, so a base-typed relationship endpoint
accepts any specialization (ADR-0011 substitutability in the harness).
Two families of packs do not yet have their own base layer:
- Research packs.
scientificcarries generic research-methodology types (study,research-investigation,method,measurement,hypothesis,dataset,research-publication,research-funding,research-instrument) that are not biology-specific — they are what any research-observation pack needs. A futureagriculture-research,market-research-as-research, orclinical-researchpack would re-derive them. - Agriculture packs.
regenerative-agriculturecarries generic farm types (farm,field,soil-profile,crop,animal/herd,equipment,input,harvest-record,weather-event) mixed with regen-specific ones (crop-rotation,grazing-plan,carbon-baseline,carbon-credit).
Current Limitations
Section titled “Current Limitations”Without these layers the spine is inconsistent and lossy:
regenerative-agriculture-researchextendsengineering-base— an engineering lineage — though it models agriculture research. It inheritscomponent/controlrather than research or agriculture supertypes. That is the wrong parent.scientificandregenerative-agricultureboth extendmif-basedirectly, so there is no shared research or agriculture supertype to type a cross-pack relationship endpoint against, and every new research/agriculture pack re-mints the generic core instead of specializing it (violates the reuse-before-mint rule ADR-0001/the build-spec set).
Decision Drivers
Section titled “Decision Drivers”Primary Decision Drivers
Section titled “Primary Decision Drivers”- When a new research or agriculture pack is authored, the pack shall specialize
shared supertypes via
subtype_ofrather than re-mint generic research or farm types. - If a relationship endpoint is typed at a research or agriculture supertype, then any pack’s specialization of that supertype shall satisfy the endpoint (substitutability).
- A research pack shall extend a research lineage and an agriculture pack an
agriculture lineage; no pack shall inherit a domain it does not belong to
(no
agriculture-researchunderengineering-base).
Secondary Decision Drivers
Section titled “Secondary Decision Drivers”- The two base layers shall mirror the shape of
engineering-base(extends[mif-base, shared-traits], supertypes under the cognitive-triad namespaces), so the spine stays uniform. - Existing typed findings shall keep resolving across the re-parenting (migration, not a break).
Considered Options
Section titled “Considered Options”Option 1: Keep the flat structure (no new base layers)
Section titled “Option 1: Keep the flat structure (no new base layers)”Leave scientific/regenerative-agriculture extending mif-base and
regenerative-agriculture-research under engineering-base.
- Pro: Zero migration; nothing moves.
- Con: The wrong-lineage parent persists; every new research/agriculture pack re-mints the generic core; no shared supertype for cross-pack endpoints.
Risk Assessment
Section titled “Risk Assessment”- Technical: Medium — re-minting drift accumulates; substitutability is unavailable.
- Schedule: Free now, costlier per future pack.
- Ecosystem: The spine stays inconsistent with the engineering lineage.
Option 2: Introduce research and agriculture base layers; re-parent (chosen)
Section titled “Option 2: Introduce research and agriculture base layers; re-parent (chosen)”Mint two base ontologies, each extends: [mif-base, shared-traits], modeled on
engineering-base:
research— generic research-methodology supertypes extracted fromscientific’s non-bio core:research-study,research-investigation,research-method,measurement,hypothesis,dataset,research-output(publication),research-funding,research-instrument,research-finding.agriculture— generic farm supertypes extracted fromregenerative-agriculture:farm,field,soil,crop,livestock,agricultural-input,agricultural-equipment,harvest-record,weather-event.
Re-parent: scientific → extends: [research]; regenerative-agriculture →
extends: [agriculture]; regenerative-agriculture-research →
extends: [research, agriculture] (it is agriculture research). Leaf packs
declare subtype_of against the new supertypes; the generic types they
previously minted become specializations.
- Pro: Correct lineage; reuse-before-mint for every future research/agriculture pack; shared supertypes enable cross-pack substitutable endpoints; the spine is uniform with the engineering lineage.
- Con: A migration: re-parenting changes
extendsclosures and the vendoring indexextendsfields, and every affected finding’s type must still resolve. It also supersedes the just-completed ADR-0002 promotion ofscientific(itsextendschanges), so the registry promotion must be re-run on the layered packs before deploy.
Risk Assessment
Section titled “Risk Assessment”- Technical: Medium — supertype extraction +
subtype_ofwiring must validate;resolve-ontologymust still type the corpus. - Schedule: Medium — adds a base-authoring + re-parent + re-promote pass before the ADR-0002 deploy.
- Ecosystem: Low once landed; the spine becomes consistent and extensible.
Option 3: Rename scientific to research (no agriculture layer)
Section titled “Option 3: Rename scientific to research (no agriculture layer)”Treat scientific itself as the research base; add no agriculture layer.
- Pro: Less new content.
- Con:
scientificcarries bio-specific types (sample-organism,protocol-application) that do not belong in a generic base; conflates the base with one domain; leaves the agriculture lineage unfixed.
Risk Assessment
Section titled “Risk Assessment”- Technical: Medium — a polluted base re-creates the reuse problem one level up.
- Schedule: Cheaper, but half the fix.
- Ecosystem: Asymmetric (research fixed, agriculture not).
Decision
Section titled “Decision”Adopt Option 2. Mint research and agriculture base ontologies (each
extends: [mif-base, shared-traits], supertypes under the triad namespaces,
shaped like engineering-base). Re-parent scientific onto research,
regenerative-agriculture onto agriculture, and
regenerative-agriculture-research onto [research, agriculture]. Leaf packs
declare subtype_of against the new supertypes; the generic types they minted
become specializations.
Sequencing (load-bearing): because this changes scientific‘s (and the
agriculture packs’) extends, it supersedes the ADR-0002 promotion of those
packs. Land this layering — bases + re-parent + re-merge + re-run the registry
promotion + regenerate the object+sha index — before the mif-spec.dev
deploy, so the deploy publishes the final layered closure once, not twice.
Consequences
Section titled “Consequences”Positive
Section titled “Positive”- Correct domain lineage; no pack inherits a domain it does not belong to.
- Reuse-before-mint for every future research/agriculture pack.
- Shared supertypes give substitutable cross-pack relationship endpoints.
- The spine is uniform with the engineering lineage.
Negative
Section titled “Negative”- A real migration:
extendsclosures, vendoring-indexextendsfields, and finding type-resolution all move; the ADR-0002 promotion must be re-run on the re-parented packs before deploy (extra pass, and the Phase-Ascientific/ agriculture commits are superseded). - Two new published base ontologies to maintain and version.
Neutral
Section titled “Neutral”- The new bases follow the existing
engineering-baseshape, so no new conventions are introduced. - Versioning: the re-parented leaf packs take a version bump (their
extendschanged); the new bases ship at0.1.0.
Decision Outcome
Section titled “Decision Outcome”The decision meets its drivers: new packs specialize shared supertypes
(driver one); base-typed endpoints accept specializations (driver two); research
packs sit under research and agriculture packs under agriculture, ending the
engineering-lineage miscategorization (driver three). The bases mirror
engineering-base (secondary one) and the re-parenting is a migration that keeps
findings resolving (secondary two). The residual cost — a re-promote pass that
supersedes part of the ADR-0002 work — is mitigated by sequencing the layering
before the single mif-spec.dev deploy.
Related Decisions
Section titled “Related Decisions”- ADR-0001: Underscore-Prefixed Base-Type Namespaces
- ADR-0002: Object-Keyed, Hash-Pinned Ontology Vendoring Index
— its promotion of
scientific/agriculture packs is superseded by this re-parenting and must be re-run before deploy.
ontologies/engineering-base.ontology.yaml: the base-layer shape this follows.ontologies/scientific.ontology.yaml,regenerative-agriculture.ontology.yaml,regenerative-agriculture-research.ontology.yaml: the packs re-parented.
More Information
Section titled “More Information”Auditable in the extends: blocks of the affected packs and the new base
ontologies’ entity_types/subtype_of wiring: a research/agriculture pack whose
extends does not name its base layer, or a generic type re-minted in a leaf
instead of specialized from the base, signals this decision has been violated.
- 2026-06-30: Pending. Accepted; bases authored (collision-free abstract supertypes, discovery disabled), scientific/regenerative-agriculture/regenerative-agriculture-research re-parented with subtype_of (all reachable via extends closure), corpus resolves 36/36. Flip to Compliant once deployed + the harness vendors against the live registry.