Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
Capture the Relation<…> design from the discussion. The reframe: the parameters split into two halves — the role SIGNATURE (shape of a tuple: per-role type a, arity b, cardinality c) and the relation's ALGEBRA (behaviour: transitivity/symmetry/inverse/ sub-relations d). A relation is Relation<signature>; today's binary typed relations are the degenerate 2-role case. Slice 6: generalise :rel to a :roles signature; (a) per-role type = the declares-anchor made explicit, (b) arity needs reification (instance-posts) for n-ary, (c) cardinality by counting. Nominal variance, JIT caveat for n-ary role iteration. Slice 7: declared algebraic properties with GENERIC closure (retires the hardcoded is-a/subtype closure — OWL property characteristics); real inverse relations; sub-relations. Decidable core stops here; defined-by-rule + cross-role predicates fenced behind the predicate-language decision. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>