A resolved relationship slot — the index of a relationship in its parent
table’s Schema::relationships. Relationship names are resolved to a
RelId once, at build time (Schema::rel_slot); the hot path
(Change::Child``.rel,
Relationship``.slot) carries the index, never
a string (foundations §3.4, “never a string map”). A distinct newtype from
ColId so the two index spaces can’t be confused.
Ord is derived so a slot can key an ordered map (the testkit’s
CaughtNode.relationships is a BTreeMap<RelId, _> for slot-stable diffs);
the order is the declared-relationship order, which is meaningful.
Serde (gated, like crate::ast::Ast) lets a RelId slot cross the wire in a
flat change (FLAT-CHANGES-DESIGN.md); the newtype serializes transparently as its
inner u32.