Skip to content

A declared disjointness keeps same names apart (B3) - #245

Merged
WaylandYang merged 1 commit into
devfrom
feat/disjoint-reaches-resolution
Sep 3, 2026
Merged

A declared disjointness keeps same names apart (B3)#245
WaylandYang merged 1 commit into
devfrom
feat/disjoint-reaches-resolution

Conversation

@WaylandYang

Copy link
Copy Markdown
Contributor

Closes B3 of 0016: owl:disjointWith reaches entity resolution. Until now the table (entity_type_disjoint) had one consumer, the ontology self-check; resolution judged cross-type same names by the hard-coded CONFUSABLE_TYPE_KEYS and, since #226, by class kinship.

Rule order now: a declared disjointness wins, then kinship, then the hard-coded list. declared_disjoint_from collects in one recursive query the classes declared disjoint with the mention's class or any of its ancestors, expanded to their descendants — disjointness is inherited, so Person ⟂ Organization keeps Corporation and Person apart. Both cross-type paths (type drift and containment) treat a hit as Disjoint. Nothing declared → today's behavior, unchanged; the list stays as the no-declaration fallback.

Test: a_declared_disjointness_keeps_names_apart — the list and kinship still send undeclared pairs to Review; organization ⟂ project silences the list pair; corporation ⟂ agency silences a federal_agency pair from either side (inheritance); removing the declaration brings the pair back.

Decision records: 0009 status and decision 6 read the new order, with a revision note; 0016 B3 marked done; index rows updated.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@WaylandYang
WaylandYang merged commit df4e770 into dev Sep 3, 2026
3 checks passed
@WaylandYang
WaylandYang deleted the feat/disjoint-reaches-resolution branch September 3, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant