Validation Pack: AIR-3.1, hierarchical match over flat schemes

Unit: applied-insurance-reference Machine: R (Claude Code). Branch: air/3.1-flat-hierarchy Plan and test cases: Phase 3 plan (AIR-3.1 in detail) Decisions: ADR-A100 and its implementation note

Invariant

Under elg:HierarchicalMatch, a resolved scheme in which no member has a skos:broader link to another member decides only the concepts a condition names. Every other member is Undetermined with exe:NoHierarchy in every backend, and hierarchical schemes evaluate as before.

Test cases

The table in the plan section above. Each row’s result is recorded under Results at verification.

One command

Run from the repository root on machine R, after mise run build:ontology-catalog and mise run build:ontology-releases.

mise run check:mork-compilers && mise run check:ontology-catalog && mise run check:ontology-versioning

Artefacts to inspect

Deliberate non-coverage

Set readings and negation (AIR-3.2, AIR-3.3). Kind-only matching (substrate S2).

Handoff

Written by the building machine when the work is committed. R ran the command before handing over.

Results

Run on machine R, 2026-09-26, on air/3.1-flat-hierarchy:

Check Result
mise run check:mork-compilers 101 passed (92 before, plus 9 in test_flat_schemes.py)
mise run check:ontology-catalog 59 tool tests passed, catalog consistent, 3 known defects (unchanged)
mise run check:ontology-versioning no unbumped changes, every version listed. Tags to create: eligibility-vocab-v0.7.0, executable-v0.6.0
AIR31-01 to AIR31-09 pass (test_flat_schemes.py)
AIR31-10 pass (tools/test_eligibility_examples.py)
AIR31-11 pass: no existing hierarchical test changed
probe: L14 branch removed from _expand AIR31-06, 07 and 08 fail
probe: L14 branch removed from concept_select AIR31-03, 04, 06 and 07 fail