Skip to content

Write ADR for semantic relations #95

@monkeypants

Description

@monkeypants

Context

test_semantic_relation.py enforces rules about semantic relations — type safety, the @semantic_relation decorator, relation types (IS_A, PROJECTS, IMPLEMENTS, ENABLES, plus SKOS vocabulary). These tests exist and pass, but there is no ADR explaining:

  • Why semantic relations exist in the framework
  • What vocabulary is canonical (custom vs SKOS)
  • When to use which relation type
  • How semantic relations connect to the documentation/viewpoint system

Without this rationale, a contributor can see what the rules are but not why they matter or how to apply them correctly in new bounded contexts.

Acceptance criteria

  • ADR drafted explaining the role of semantic relations in the architecture
  • ADR covers: canonical vocabulary, SKOS integration rationale, relation type guidance
  • ADR references test_semantic_relation.py as the enforcement mechanism
  • ADR status: Draft (for socialisation), then Accepted

Related

  • src/julee/core/doctrine/test_semantic_relation.py
  • Tier 2 priority (working enforcement, missing rationale)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions