{"id":"pst_01M432NWARFJXVQ1G6B4A7KE99","url":"https://openvibe.blog/@openvibe/patch-notes-merge-games-content-2-pack-definitions-into-content-at-server-boot","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: Merge games-content@2 pack definitions into content at server boot","summary":"What shipped on OpenVibe on 2026-10-04: 35 changes to OpenVibe.Games, OpenVibe.Network, OpenVibe.Events, OpenVibe.Media, OpenVibe.Chat, OpenVibe.Coupons and 11 more.","body_markdown":"What shipped on OpenVibe on 2026-10-04: 35 changes to OpenVibe.Games, OpenVibe.Network, OpenVibe.Events, OpenVibe.Media, OpenVibe.Chat, OpenVibe.Coupons and 11 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.Games:** Merge games-content@2 pack definitions into content at server boot (#3) ([`545f6c1`](https://github.com/OpenVibers/OpenVibe.Games/commit/545f6c1dccb344330f0a4065c21fff74685c8dcc))\n- **OpenVibe.Community:** Serve discovery, page heads and cache headers from openvibe-shared (#11) ([`cef50a4`](https://github.com/OpenVibers/OpenVibe.Community/commit/cef50a42f985b9828a9a02ee18a8e02ce0651058))\n- **OpenVibe.Network:** Add delegated agent grants with modes and the delegation ceiling (#34) ([`31aac9f`](https://github.com/OpenVibers/OpenVibe.Network/commit/31aac9fc18b08594e684c5ce16faf4c53dde7f85))\n- **OpenVibe.Live:** Remove Live's inert local chat REST routes and their mounts (#19) ([`307b401`](https://github.com/OpenVibers/OpenVibe.Live/commit/307b40100b97ba0b2d81dbfccf878ebcc5c66f1f))\n- **OpenVibe.Chat:** Guard ingress events, moderation and invalidate with livebridge.write (#17) ([`7221434`](https://github.com/OpenVibers/OpenVibe.Chat/commit/72214349b07cc644ff1727b5f6d3e762ca63902e))\n- **OpenVibe.Network:** Add owner-side agent confirmations and per-capability agent budgets (#37) ([`8ca298c`](https://github.com/OpenVibers/OpenVibe.Network/commit/8ca298c404bf36f0f0ffe62532d0c06451cf874e))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- Run Games' vitest files through test/run.js so ov test can shard them ([`1cae50b`](https://github.com/OpenVibers/OpenVibe.Games/commit/1cae50b117f22dec6e3e27b93081a6c97ce8250d))\n- Run the slice test on a free port with a longer server start timeout ([`882f831`](https://github.com/OpenVibers/OpenVibe.Games/commit/882f831d932fe9b8a7b0637e3dfa382b2537d3ea))\n- Untrack committed nodemodules symlinks and ignore them in git ([`67bcdb7`](https://github.com/OpenVibers/OpenVibe.Games/commit/67bcdb731cae6d526d22fc3bc77194425b5b0879))\n- Make test runner fail when vitest exits nonzero with all files passed ([`0c57e20`](https://github.com/OpenVibers/OpenVibe.Games/commit/0c57e2094cee977e6e7dce5f01971c15e991e058))\n- Merge games-content@2 pack definitions into content at server boot (#3) ([`545f6c1`](https://github.com/OpenVibers/OpenVibe.Games/commit/545f6c1dccb344330f0a4065c21fff74685c8dcc))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- Split security crawls into module-scoped test files (#33) ([`92383ba`](https://github.com/OpenVibers/OpenVibe.Network/commit/92383ba70d57be9e5e006b63d65c9b3c8eaf748b))\n- Grant coupons events.subscription.manage on openvibe.events (#36) ([`8dc5651`](https://github.com/OpenVibers/OpenVibe.Network/commit/8dc56513fa8df193dcf2d2cc99094d60b9508f1e))\n- Add delegated agent grants with modes and the delegation ceiling (#34) ([`31aac9f`](https://github.com/OpenVibers/OpenVibe.Network/commit/31aac9fc18b08594e684c5ce16faf4c53dde7f85))\n- Scope the agent-grants index check to the test's own schema (#35) ([`2429b34`](https://github.com/OpenVibers/OpenVibe.Network/commit/2429b34f99b026cce61264037cda7b6ac9c7d131))\n- Add owner-side agent confirmations and per-capability agent budgets (#37) ([`8ca298c`](https://github.com/OpenVibers/OpenVibe.Network/commit/8ca298c404bf36f0f0ffe62532d0c06451cf874e))\n\n## OpenVibe.Events\n\n[events.openvibe.network](https://events.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- Correct webhook signing and realtime auth wording in README (#8) ([`3842f78`](https://github.com/OpenVibers/OpenVibe.Events/commit/3842f7849b6a69dbaf984b5deefbbcb06218ea23))\n- Document subscription secret bounds and pin them with a test (#9) ([`c3584a8`](https://github.com/OpenVibers/OpenVibe.Events/commit/c3584a850bb8c5d59fb7ffad4af73a234c1edf8c))\n- Key the ordered inbox by an unambiguous, untruncated subject key (#10) ([`a4c61ab`](https://github.com/OpenVibers/OpenVibe.Events/commit/a4c61ab7a0b33699067502ccb683b2cf15327c9f))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- T4 F2.5 — the tiering sweep's eligibility reads Valkey demand in… (#22) ([`f7df7d6`](https://github.com/OpenVibers/OpenVibe.Media/commit/f7df7d67934d70c2478f372446945076d42035f7))\n- Hold hot-storage ceilings against projected dry-run spend and zero caps (#23) ([`3ca912f`](https://github.com/OpenVibers/OpenVibe.Media/commit/3ca912f8c5100d283e47d3c2b25330bb31af7f6f))\n- Alert when a placement move fails three times; hold dry-run ceilings (#24) ([`0b0ca81`](https://github.com/OpenVibers/OpenVibe.Media/commit/0b0ca8143649c719bdb5269898e6b961247e7500))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- Retire the Live-as-chat-authority rollback from Chat's runbook (#15) ([`c668a8f`](https://github.com/OpenVibers/OpenVibe.Chat/commit/c668a8fe9cc1601c3ad0f93f99e66d72ed9a04b8))\n- Guard ingress events, moderation and invalidate with livebridge.write (#17) ([`7221434`](https://github.com/OpenVibers/OpenVibe.Chat/commit/72214349b07cc644ff1727b5f6d3e762ca63902e))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- Add shared event-consumer wiring for inbound OpenVibe.Events webhook (#7) ([`18b3734`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/18b37344a5dea2ba5e03ee1437921f370febe10c))\n- Add Events Sources subscriptions and a bounded Search reconcile script (#8) ([`0138a38`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/0138a38d5720f93a21cd5d6b5efa1b1d64e9da27))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- List the OpenRe WHIP worker and correct the stale Bot note (#18) ([`91fac68`](https://github.com/OpenVibers/OpenVibe.Host/commit/91fac68488df60117e102c68726e40e3cb465a29))\n- Accept CI-built git deploys as previews with immutable commit provenance (#15) ([`b69e4e8`](https://github.com/OpenVibers/OpenVibe.Host/commit/b69e4e8b09356250d98047f33c6414200c18facf))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Record n-1 after deploy (auto-finish) ([`19f915d`](https://github.com/OpenVibers/OpenVibe.Live/commit/19f915d46ccc886ee1c83975abbbe5af8a521a85))\n- Remove Live's inert local chat REST routes and their mounts (#19) ([`307b401`](https://github.com/OpenVibers/OpenVibe.Live/commit/307b40100b97ba0b2d81dbfccf878ebcc5c66f1f))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- T9 READY NOW doc fix (#6) ([`41732a7`](https://github.com/OpenVibers/OpenVibe.Search/commit/41732a71e61d744b5d91bd6985d44c94fa300d49))\n- Bound subscribe's delivery secret to Events' 32-256 limit (#7) ([`13d7f2a`](https://github.com/OpenVibers/OpenVibe.Search/commit/13d7f2a1407700488834d8a450e49755e56c5d63))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- T9 steps 3-4: create scripts/subscribe.js with --reconcile (#8) ([`1cdb36d`](https://github.com/OpenVibers/OpenVibe.Trade/commit/1cdb36d5a498da4b08e736d01fb9ffff22984c0b))\n- T9 step 1, Trade half — OpenVibe.Trade: make scripts/subscribe.js… (#9) ([`f2531a9`](https://github.com/OpenVibers/OpenVibe.Trade/commit/f2531a98938606559431e5cc5cc80fb3366dd9a9))\n\n## OpenVibe.AI\n\n[ai.openvibe.network](https://ai.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- Emit one platform.usage-sample@1 reading per accounted run to Billing (#13) ([`5abaa65`](https://github.com/OpenVibers/OpenVibe.AI/commit/5abaa65b356afd4381e469b2c1b99c38aa51797b))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- Record usage readings under billing.usage.record (#6) ([`75f86b6`](https://github.com/OpenVibers/OpenVibe.Billing/commit/75f86b625627e5a09966ff41102a52981cd66811))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- Serve discovery, page heads and cache headers from openvibe-shared (#11) ([`cef50a4`](https://github.com/OpenVibers/OpenVibe.Community/commit/cef50a42f985b9828a9a02ee18a8e02ce0651058))\n\n## OpenRe.Stream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRe.Stream)\n\n- Serve WHIP ingest on ingest.openre.stream and document its cutover (#12) ([`4bc46be`](https://github.com/OpenVibers/OpenRe.Stream/commit/4bc46be0109857887681365ef5c21a63b8865b37))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- Sync STATUS.json and README package pins with package.json (#6) ([`e93ba7f`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/e93ba7f715d801fc575b8d035228ac6331469263))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- Render every Tips page through openvibe-shared/shell v2.6.0 (#5) ([`a8cc87d`](https://github.com/OpenVibers/OpenVibe.Tips/commit/a8cc87d231dccdcc0a5a4c738e0b575dffe96b5c))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- T8 job 3: maps egress adapter (#5) ([`a331ea3`](https://github.com/OpenVibers/OpenVibe.Tools/commit/a331ea36963a851e370b4ab3dae70b429d47e884))\n\n---\n\nPatch notes are put together automatically when enough changes have shipped, or when a large feature lands. See every site's own updates page for the live list.","revision":1,"state":"published","visibility":"public","published_at":"2026-10-04T09:07:20.036Z","revised_at":"2026-10-04T09:07:20.027Z","author":{"subject":"usr_01KKT9AC60KM7CRTB3WN1Z8P56","name":"goosely","username":"goosely"},"authorship":{"mode":"imported","workflow":null,"reviewed":false,"disclosure":{"mode":"imported","short":"Imported","long":"Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers."}},"tags":["patch-notes","games","network","events","media","chat","coupons","host","live","search","trade"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}