Published in openvibe-contracts v0.76.0 (docs/adr/ADR-029-account-merge.md), rendered as is.

ADR-029: Merging two accounts into one

Status: Accepted 2026-09-26 (roadmap WS-B task 5). Implementation follows in OpenVibe.Network.

Context and current evidence

Decision

Alternatives considered

Migration consequences

New table subject_aliases and a merge record in Network. Contracts gain network.subject.merged@1 and the capability staff.identity.merge. Every service that stores subjects consumes the event; until one does, its rows stay under the old subject, which still resolves (alias), so nothing breaks while consumers land.

Rollback

Stop offering merges. Aliases already written keep resolving. A mistaken merge is split by hand from the 30-day record.

Acceptance tests