Status: Accepted
Date: 2026-09-25 (proposed), 2026-09-25 (accepted)
Related: ADR-A86 (ontology semantic versioning), ADR-A77 (repository
topology)
Unit: applied-ontology-readiness
Every LATTICE layer imports its dependencies by exact owl:versionIRI
(ADR-A86). An applied ontology does the same. Neither can load its import
closure with standard tooling today:
https://www.nebularis.org/neuro-semantic/lattice/
do not dereference to the documents.catalog-v001.xml files under ontology/ are Protégé by-products.
They name pre-reset IRIs (foundation/0.0.7, party/0.0.3), point at
absolute paths on one machine from before the ontology/ relocation, and
map none of the current version IRIs.owl:imports target inside ontology/ is declared
by some document in the tree. The generated ontology/surface/execution/job-family/
modules still import the retired surface/0.0.1 IRI.A consumer must therefore write and maintain its own mapping from every LATTICE IRI to a file, and repeat that work after each upgrade.
ontology/catalog-v001.xml
(OASIS XML Catalogs) maps every ontology IRI and every owl:versionIRI
declared under ontology/ to its file by a path relative to the catalog.
A tool generates it from the documents’ own headers. It is never edited by
hand.owl:Ontology document gets
a generated stub catalog whose only entry is a nextCatalog pointing at
the root catalog. The existing hand-made catalogs are replaced by these
stubs.owl:imports target inside
ontology/ in a LATTICE namespace has no catalog entry, when a catalog
entry names a file that does not declare that IRI, or when the committed
catalog differs from a fresh generation. External imports (PROV-O, SKOS)
are listed explicitly with their published locations.nextCatalog. The guide states
the upgrade procedure: move the pin, enumerate changed version IRIs, cascade
owl:imports per the ADR-A86 checklist, re-run the consumer’s own gate.
At major version zero every LATTICE bump is treated as potentially
breaking.rdflib has no catalog support.…/neuro-semantic/<layer>) should move under the
…/lattice/ base used by version IRIs is left to the ADR-A86 follow-up. The
catalog maps both forms, so the question does not block this decision.nextCatalog with a relative
path in the version this repository targets? The implementing slice verifies
this before deleting the existing catalogs. The fallback is full per-directory
catalogs, generated by the same tool.