Published in openvibe-contracts v0.33.0 (docs/adr/ADR-002-contract-repository.md), rendered as is.

ADR-002: Contract repository and compatibility policy

Status: Accepted, implemented 2026-09-22 (openvibe-contracts v0.1.0+)

Context and current evidence

Cross-service contracts lived as prose in CONTRACTS.md and as copied code; nothing validated them.

Decision

Alternatives considered

Migration consequences

Contracts grow additively; each service moves to a new tag by bumping its pin.

Rollback

A bad release is fixed forward (new patch tag); consumers can pin the previous tag.

Acceptance tests

Contracts npm test (fixtures, catalog integrity, manifests cross-checked, compat gate), CI green on every tag; the compat gate was shown to fail on a deliberate breaking edit.