research-document

ADR 0009 — Canonical and derived relationships are distinct types

ADR 0009 — Canonical and derived relationships are distinct types

Status: Accepted

Context

§9 and §28 warn that publication-time derived relationships must never be mistaken for canonical research.

Decision

CanonicalRelation and DerivedRelation are separate F# types unified only at the edge boundary. Every derived edge is tagged derived: true in output and is visually distinct in the UI. Derivations that are lossy (citation normalisation, section anchoring) carry explicit confidence.

Evidence

OBSERVED: the corpus encodes 6 canonical relation kinds and no others. Useful navigation aids — backlinks, same-project, frontier-of — are computable but are not research claims. OBSERVED: references is bibliography, and a parser that treated it as linkage would generate 100% false relationships (C.3).

Alternatives

One relation type with a flag — rejected: a flag can be forgotten; a type cannot.

Consequences

Slightly more code at the boundary. That is the point.

Reversibility

High cost — this is a correctness boundary, not a convenience.