Source changed 2026-10-03 08:25:59 UTC · snapshot created 2026-10-03 08:26:43 UTC · last check 2026-10-03 09:40:10 UTC
C.3.4:9 - Anti-patterns and Repairs
Anti-pattern
Why it is wrong
Repair
Adaptation declaration treated as a new type
Duplicates the kind and hides the declaration episteme.
Keep the base kind; for a stable conceptual refinement identify another local kind and establish U.SubkindOf independently.
Claim- or Work-scope condition hidden in an adaptation judgment
Conflates the candidate with where a claim or Work applies.
Move the scope condition to A.2.6; keep candidate constraints and declaration applicability explicit.
Unversioned or applicability-free declaration used by a guard
Makes evaluation non-replayable.
Give the declaration a designator, pin its edition and dependencies, state applicability, and distinguish not-applicable from unknown.
Locality change treated as automatic bridge
Splits the same kind or transfers source truth.
Compare kind definitions first. Same-kind reuse needs no bridge and still gets a fresh receiving result; distinct-kind use needs an obtaining C.3.3 correspondence.
Many declarations with the same local meaning
Produces catalog entropy and inconsistent behavior.
Consolidate redundant declarations; for a stable conceptual distinction, separately identify a local kind and establish its obtaining U.SubkindOf relation.
Declaration name treated as a kind synonym
Hides constraints and invites misuse.
Designate the exact declaration edition and base kind separately in prose and guards.