Skip to content

Ontology validation

The ontology critic and its acceptance rules.

ONTOLOGY_RECONCILE_MINTED_TERMS

Default: detect · Type: one of off, detect, rewrite

What to do when a newly minted term's label or notation exactly matches an existing term of compatible role in the full catalog. Under vector retrieval the renderer sees only part of the catalog, so it can mint a duplicate of a term it was not shown. 'detect' logs each pair and changes nothing; 'rewrite' also replaces the minted IRI with the catalog IRI in the merged update (enable it once 'detect' shows the matches are true duplicates); 'off' skips the check.

ONTOLOGY_CRITIC_PASSES

Default: 0 · Type: int

Review-and-patch passes per ontology unit, in LLM calls. 0 (default) disables the ontology critic; each pass adds one call per unit.

ONTOLOGY_CRITIC_MAX_DELETE_SHARE

Default: 0.1 · Type: float

Largest share of the delta one critic pass may remove. Stricter than the facts equivalent because an ontology delete propagates onto shared, versioned catalog terminals: its blast radius is every document using the term, not this unit.

ONTOLOGY_CRITIC_MIN_DELETES

Default: 3 · Type: int

Deletions always permitted regardless of share.

ONTOLOGY_ACCEPT_BLOCKING_FINDING_KINDS

Default: ["foreign_delete", "foreign_namespace", "subclass_cycle", "role_confusion"] · Type: list[str]

Deterministic ontology findings that block acceptance. The default is the destructive-or-lossy subset only. Blocking on every mandatory finding would put missing_label in the set, which fires whenever a render mints a term without a label -- routine, and a permanent per-unit tax rather than a defect signal.