Published in openvibe-contracts v0.76.0 (docs/adr/ADR-030-follow-graph.md), rendered as is.

ADR-030: Who owns the follow graph

Status: Accepted 2026-09-26 (roadmap WS-E task 4). Migration follows.

Context and current evidence

Decision

Alternatives considered

Migration consequences

Expand, migrate, contract (ADR-028):

  1. Network adds the table and API.
  2. A backfill maps Live follows through the identity resolver (subjects for both sides); a follow whose side has no subject is held and reported, never dropped. Take a backup first.
  3. A reconciliation compares counts per channel and the pair sets; it must match before Live's writes move.
  4. Live's buttons call Network, and the projection follows the events.
  5. Live's table stops being written directly after one release with no drift.

Rollback

Until step 5 Live's table is complete: switch the buttons back. After it, rebuild Live's table from Network (the projection is derived).

Acceptance tests