openvibers/openvibe.host Commits

Register: C-84 done. Chat consumes live.release.deployed and folds deploy cards by head commit; proven on production 2026-09-23 (22:14 UTC one card via both paths, 22:18 UTC via the event alone); Live keeps the bridge hop only as the fallback while its Events publishing is off

OP OpenVibers committed 23 Sept 2026 · f07216f1e5 · 1 file, +1 −1


Changes

ddiff --git a/docs/compatibility-register.md b/docs/compatibility-register.md
iindex 28cd865..3fc46a0 100644
---- a/docs/compatibility-register.md
++++ b/docs/compatibility-register.md
@@@ -134,7 +134,7 @@ The dates below assume each caller moves by **2026-10-09**. The key paths then g
| C-81 | **OpenVibe.Sites placeholders**. There are 16, all `"stage": "placeholder"`: openvibe.chat, .news, .reviews, .tips, .vip, .trade, .host, .deals, .coupons, openre.stream, and auth., api., admin., themes., realtime. and ai.openvibe.network. The page says "coming soon · this page is a placeholder, nothing here is live yet". None claims to be a working product. **Two defects:** repos outside `EXISTING_REPOS` are labelled "(charter only, no code yet)", which is false for Tips, VIP, News, Reviews, Trade, Deals, Coupons and Host; and **realtime.openvibe.network advertises a product that ADR-005 closed**. | Sites `sites.json`, `build.js:22,157-161,283`, `deploy/nginx/*.conf` | Sites (each service owns its launch) | *documented*: each entry is "Removed from sites.json in the same release that the real service takes over this domain" (`build.js:283`, `README.md:20-21`, test `test/build.test.js:39-43`). *Proposed*: fix the "charter only" label from the repo's STATUS, and remove the realtime placeholder now. | Realtime and label: 2026-09-30; the rest: at each launch | Re-add the entry. |
| C-82 | **OpenVibe.Realtime**, closed by ADR-005: realtime runs inside Events as SSE `/realtime/stream`. `STATUS.json` says `stage: closed`. Leftovers: the README still says "Decision pending" (`:12,51-53`); the GitHub repo is not archived; Contracts `manifests/services/realtime.json:8` says `"status": "placeholder"`; Events `README.md:6` says "until ADR-005 decides"; and the Sites placeholder (C-81). | OpenVibe.Realtime; Contracts; Sites; Events | Contracts (manifest), Sites, Events | *proposed*: fix the README, mark the manifest `closed` (a Contracts release), remove the Sites placeholder, archive the repo. | 2026-09-30 | ADR-005: revisit only on measured load. |
| C-83 | **Live `/internal/media-webhook`** next to the Events consumer `/internal/media-events` (media.vod.*, media.clip.*, media.storage.*). `MEDIA_EVENTS_AUTHORITY=webhook` \| `both` \| `events`; each outcome is applied once (inbox consumer `live-media-outcomes`, key object + event id; Media webhooks carry `event_id` since `cbf8410`). **`both` since 2026-09-23 20:00 UTC** (3 subscriptions created). | Live `server/media-proxy/webhook.js`, `outcomes.js`, `media-events.js`; Media `server/webhooks.js` | Live + Media | *documented* (Live `docs/architecture.md` "Media outcomes over Events"): `events` has run clean (every VOD/clip since the switch has its `vod_ai_state`/`clip_ai_state` row and a receipt, no DLQ entries for Live's subscriptions); then clear Live's `webhook_url` in Media `apps`, wait a release, delete the route, `MEDIA_WEBHOOK_SECRET` and the `webhook`/`both` modes. | `events` 2026-10-01; removal 2026-10-14 | `MEDIA_EVENTS_AUTHORITY=webhook`; `subscribe-media-events.js --disable` |
--| C-84 | **Live deploy notice over the Chat bridge** (`chat-remote.js` `deployNotice`) next to the `live.release.deployed` event (Live `e73a92d`). | Live `server/chat/deploy-notice.js`, `server/chat/chat-remote.js` | Chat + Live | *proposed*: Chat subscribes to `live.release.deployed` and folds by `subject.id`; one clean deploy; then delete the bridge call. | 2026-10-14 | Keep the bridge call |
++| C-84 | **Live deploy notice over the Chat bridge** (`chat-remote.js` `deployNotice`) next to the `live.release.deployed` event (Live `e73a92d`). | Live `server/chat/deploy-notice.js`, `server/chat/chat-remote.js` | Chat + Live | *done 2026-09-23*: Chat subscribes to `live.release.deployed` (Chat `ed90461`, table `deploy_releases` keyed by head) and folds by `subject.id`; the 22:14 UTC deploy produced one card via both paths (`duplicate:release`), and since Live `5324f40` (22:18 UTC deploy: `first_via = events`, folded) the bridge hop runs only while Live's Events publishing is off | 2026-10-14 | Keep the bridge call |
| C-85 | **Live's own go-live follower push** (`server/streaming/golive-notify.js`) next to Network's `live.stream.started` consumer (subscription since 2026-09-23 19:55 UTC; Live `GET /internal/followers`). A shared per-streamer rate limit in Network stops double notifications. | Live `golive-notify.js` + call sites in `routes.js`, `rtmp-server.js`, `whip-handler.js`, `openre/mirror.js`; Network `server/notifications/stream-live.js` | Live + Network | *documented* (Network commit 2a95548): Network's log shows `outcome: notified` for real go-lives; then delete Live's push and retire Network's `POST /internal/events/stream-live`. | 2026-10-07 | Unsubscribe Network from `live.stream.started` |
## Kept by design (not shims)