Proposals and decisions
Changes to the platform's public surface — a contract, a capability, an event type, or a major product policy — are proposed in the open and recorded as an architecture decision record (ADR) in OpenVibe.Contracts.
- Propose. Open an issue or pull request on OpenVibe.Contracts describing the change, who owns it, and who consumes it. A service that introduces capabilities ships proposals in its own repository (
docs/capabilities-proposal/,docs/service-manifest-proposal.json) — this portal's are in its repository. - Decide. An accepted proposal becomes an ADR with context, decision, alternatives, migration consequences, rollback and acceptance tests.
- Release. The contract lands in a tagged openvibe-contracts release; CI in every consuming service checks it (
openvibe-contracts-check). The SDK wraps it in the same or the next release, and these docs regenerate from the new pins.
Decision record
The ADRs in openvibe-contracts v0.33.0:
| Decision | Status |
|---|---|
| ADR-001: Canonical subject IDs and legacy identity mapping | Accepted, implemented 2026-09-22 |
| ADR-002: Contract repository and compatibility policy | Accepted, implemented 2026-09-22 (openvibe-contracts v0.1.0+) |
| ADR-003: Service/app principal authentication and capability grants | Accepted, implemented 2026-09-22 |
| ADR-004: Durable event store, outbox/inbox and delivery semantics | Accepted 2026-09-22; implementation in progress (OpenVibe.Events) |
| ADR-005: Realtime topics, cursor/resume and whether OpenVibe.Realtime exists | Accepted 2026-09-22: realtime runs inside OpenVibe.Events |
| ADR-006: Media object, location and namespace model | Accepted 2026-09-22; implementation in progress (OpenVibe.Media Wave 4) |
| ADR-007: Logical data ownership and database technology | Accepted 2026-09-22 |
| ADR-008: Shared package publication and release manifests | Accepted 2026-09-22; implementation in progress (OpenVibe.Shared) |
| ADR-009: Live versus OpenRe boundary | Accepted 2026-09-23. OpenRe.Stream deployed the same day (RTMP ingest + restream; WHIP, SFU and JSMPEG not yet ported). No slot has moved: per-slot cutover waits for the ingest DNS name, the public RTMP port and a broadcaster window. |
| ADR-010: Chat versus Live/Community boundary | Accepted and executed 2026-09-23 (cutover 02:03 UTC). Governs Wave 6. |
| ADR-011: Community paste and comment ownership migration | Accepted and executed 2026-09-22 |
| ADR-012: Billing vs loyalty, credits and currency classification | Accepted 2026-09-22. Gates Wave 8 (OpenVibe.Billing), Wave 9 (Tips) and Wave 10 (VIP). |
| ADR-013: Mod manifest, trust and sandbox/resource model | Accepted 2026-09-23. Gates Wave 12 (mods) and Wave 21 Stage C (sandboxed user code). |
| ADR-014: Developer project, tenant and quota model | Accepted 2026-09-23. Gates Wave 20 (Codes) and Wave 21 (Host tenants). |
| ADR-015: AI workflow and publication ownership boundary | Accepted 2026-09-23. OpenVibe.AI deployed the same day (loopback, port 4700); Live's switch |
| ADR-016: Active client update safety and the supported mixed-version window | Accepted 2026-09-23. Governs Track R. |
| ADR-017: Home of the source registry and ingestion runtime | Accepted 2026-09-23. Gates Wave 14. |
| ADR-018: Home of the search index and query contract | Accepted 2026-09-23. Gates Wave 14. |
| ADR-019: Home of the shared publishing packages | Accepted 2026-09-23. Gates Wave 15. |
| ADR-020: Notification delivery ownership | Accepted 2026-09-23. Wave 3 follow-through. |
| ADR-021: Analytics ownership and privacy bounds | Accepted 2026-09-23. Contract now; extraction decision at Wave 22. |
| ADR-022: Moderation and policy console | Accepted 2026-09-23. Revisit at Wave 12. |
| ADR-023: First-party client surfaces and their home | Accepted 2026-09-23. Needed by Wave 18. |
| ADR-024: Theme authority boundary between Network and OpenVibe.Shared | Accepted 2026-09-23. |
| ADR-025: Marketplace and commerce scope | Accepted 2026-09-23. Binding on Wave 19 (Trade). |
| ADR-026: Producer redaction of its own events (`payload.redacts`) | Accepted 2026-09-23; implemented in OpenVibe.Events (`server/redaction.js`, `server/store.js`, |
| ADR-027: Tools platform API | Accepted 2026-09-23. Contracts in openvibe-contracts v0.33.0; the registry and run routes |