openvibers/openvibe.sites Commits

openvibe.work: the OpenVibe.Work placeholder (jobs: sourced listings, watches, an agent that helps you apply)

OP OpenVibers committed 3 Oct 2026 · 4a38ea1f50 · 140 files, +1031 −162

The owner bought openvibe.work on 2026-10-02 (plan O27, the Work public origin). Its Cloudflare zone is active and
its wildcard certificate is on the host; every site's network listing now includes it.

Changes

ddiff --git a/dist/admin.openvibe.network/index.html b/dist/admin.openvibe.network/index.html
iindex d5cc5f8..00d96d8 100644
---- a/dist/admin.openvibe.network/index.html
++++ b/dist/admin.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="admin.openvibe.network — One operator console for every service.">
<meta name="twitter:description" content="admin.openvibe.network will be the federated operator console: users, roles, bans, registry and policy, event queues, storage, billing, migrations and emergency controls, discovered from each service rather than hard-wired.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://admin.openvibe.network/#site","url":"https://admin.openvibe.network/","name":"admin.openvibe.network","description":"admin.openvibe.network will be the federated operator console: users, roles, bans, registry and policy, event queues, storage, billing, migrations and emergency controls, discovered from each service rather than hard-wired.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://admin.openvibe.network/#page","url":"https://admin.openvibe.network/","name":"admin.openvibe.network — One operator console for every service.","description":"admin.openvibe.network will be the federated operator console: users, roles, bans, registry and policy, event queues, storage, billing, migrations and emergency controls, discovered from each service rather than hard-wired.","isPartOf":{"@id":"https://admin.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"admin.openvibe.network","item":"https://admin.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://admin.openvibe.network/#site","url":"https://admin.openvibe.network/","name":"admin.openvibe.network","description":"admin.openvibe.network will be the federated operator console: users, roles, bans, registry and policy, event queues, storage, billing, migrations and emergency controls, discovered from each service rather than hard-wired.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://admin.openvibe.network/#page","url":"https://admin.openvibe.network/","name":"admin.openvibe.network — One operator console for every service.","description":"admin.openvibe.network will be the federated operator console: users, roles, bans, registry and policy, event queues, storage, billing, migrations and emergency controls, discovered from each service rather than hard-wired.","isPartOf":{"@id":"https://admin.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"admin.openvibe.network","item":"https://admin.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/admin.openvibe.network/release.json b/dist/admin.openvibe.network/release.json
iindex e4e00b9..7143d10 100644
---- a/dist/admin.openvibe.network/release.json
++++ b/dist/admin.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "admin",
-- "release": "f098d9962763",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "ed9c1cc621dd",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/admin.openvibe.network/sitemap.xml b/dist/admin.openvibe.network/sitemap.xml
iindex 5b25da2..370de71 100644
---- a/dist/admin.openvibe.network/sitemap.xml
++++ b/dist/admin.openvibe.network/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://admin.openvibe.network/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://admin.openvibe.network/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/admin.openvibe.network/status.json b/dist/admin.openvibe.network/status.json
iindex 89f5bd5..48dac6b 100644
---- a/dist/admin.openvibe.network/status.json
++++ b/dist/admin.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/ai.openvibe.network/index.html b/dist/ai.openvibe.network/index.html
iindex 0d21283..9c5fcec 100644
---- a/dist/ai.openvibe.network/index.html
++++ b/dist/ai.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="ai.openvibe.network — Moved: OpenVibe.AI&#39;s public home is ai.openvibe.services.">
<meta name="twitter:description" content="OpenVibe.AI&#39;s public address is now ai.openvibe.services, next to the rest of the network&#39;s programmable services on OpenVibe.Services. This address serves only this notice until every client has moved; then it redirects.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ai.openvibe.network/#site","url":"https://ai.openvibe.network/","name":"ai.openvibe.network","description":"OpenVibe.AI's public address is now ai.openvibe.services, next to the rest of the network's programmable services on OpenVibe.Services. This address serves only this notice until every client has moved; then it redirects.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://ai.openvibe.network/#page","url":"https://ai.openvibe.network/","name":"ai.openvibe.network — Moved: OpenVibe.AI's public home is ai.openvibe.services.","description":"OpenVibe.AI's public address is now ai.openvibe.services, next to the rest of the network's programmable services on OpenVibe.Services. This address serves only this notice until every client has moved; then it redirects.","isPartOf":{"@id":"https://ai.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"ai.openvibe.network","item":"https://ai.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ai.openvibe.network/#site","url":"https://ai.openvibe.network/","name":"ai.openvibe.network","description":"OpenVibe.AI's public address is now ai.openvibe.services, next to the rest of the network's programmable services on OpenVibe.Services. This address serves only this notice until every client has moved; then it redirects.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://ai.openvibe.network/#page","url":"https://ai.openvibe.network/","name":"ai.openvibe.network — Moved: OpenVibe.AI's public home is ai.openvibe.services.","description":"OpenVibe.AI's public address is now ai.openvibe.services, next to the rest of the network's programmable services on OpenVibe.Services. This address serves only this notice until every client has moved; then it redirects.","isPartOf":{"@id":"https://ai.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"ai.openvibe.network","item":"https://ai.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -209,6 +209,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/ai.openvibe.network/release.json b/dist/ai.openvibe.network/release.json
iindex e3aa380..613debc 100644
---- a/dist/ai.openvibe.network/release.json
++++ b/dist/ai.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "ai",
-- "release": "414054675ca1",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "2b81cbfa86b6",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/ai.openvibe.network/status.json b/dist/ai.openvibe.network/status.json
iindex 9f15a63..ba95ad6 100644
---- a/dist/ai.openvibe.network/status.json
++++ b/dist/ai.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/ai.openvibe.services/index.html b/dist/ai.openvibe.services/index.html
iindex 848029c..6997a9f 100644
---- a/dist/ai.openvibe.services/index.html
++++ b/dist/ai.openvibe.services/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="ai.openvibe.services — One AI gateway for every model you choose.">
<meta name="twitter:description" content="OpenVibe.AI is the network&#39;s AI gateway: OpenAI-compatible providers, Anthropic, local and open models behind one API, with routing for cost, speed, quality or privacy, provider fallback, versioned prompt templates and typed workflows, durable runs, structured output, embeddings, speech to text and media analysis, budgets and your own provider keys. It runs today as an internal service that OpenVibe.Live and OpenVibe.Network call; its public API and playground open here.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ai.openvibe.services/#site","url":"https://ai.openvibe.services/","name":"ai.openvibe.services","description":"OpenVibe.AI is the network's AI gateway: OpenAI-compatible providers, Anthropic, local and open models behind one API, with routing for cost, speed, quality or privacy, provider fallback, versioned prompt templates and typed workflows, durable runs, structured output, embeddings, speech to text and media analysis, budgets and your own provider keys. It runs today as an internal service that OpenVibe.Live and OpenVibe.Network call; its public API and playground open here.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://ai.openvibe.services/#page","url":"https://ai.openvibe.services/","name":"ai.openvibe.services — One AI gateway for every model you choose.","description":"OpenVibe.AI is the network's AI gateway: OpenAI-compatible providers, Anthropic, local and open models behind one API, with routing for cost, speed, quality or privacy, provider fallback, versioned prompt templates and typed workflows, durable runs, structured output, embeddings, speech to text and media analysis, budgets and your own provider keys. It runs today as an internal service that OpenVibe.Live and OpenVibe.Network call; its public API and playground open here.","isPartOf":{"@id":"https://ai.openvibe.services/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"ai.openvibe.services","item":"https://ai.openvibe.services/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ai.openvibe.services/#site","url":"https://ai.openvibe.services/","name":"ai.openvibe.services","description":"OpenVibe.AI is the network's AI gateway: OpenAI-compatible providers, Anthropic, local and open models behind one API, with routing for cost, speed, quality or privacy, provider fallback, versioned prompt templates and typed workflows, durable runs, structured output, embeddings, speech to text and media analysis, budgets and your own provider keys. It runs today as an internal service that OpenVibe.Live and OpenVibe.Network call; its public API and playground open here.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://ai.openvibe.services/#page","url":"https://ai.openvibe.services/","name":"ai.openvibe.services — One AI gateway for every model you choose.","description":"OpenVibe.AI is the network's AI gateway: OpenAI-compatible providers, Anthropic, local and open models behind one API, with routing for cost, speed, quality or privacy, provider fallback, versioned prompt templates and typed workflows, durable runs, structured output, embeddings, speech to text and media analysis, budgets and your own provider keys. It runs today as an internal service that OpenVibe.Live and OpenVibe.Network call; its public API and playground open here.","isPartOf":{"@id":"https://ai.openvibe.services/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"ai.openvibe.services","item":"https://ai.openvibe.services/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/ai.openvibe.services/release.json b/dist/ai.openvibe.services/release.json
iindex 696714a..40ea2d6 100644
---- a/dist/ai.openvibe.services/release.json
++++ b/dist/ai.openvibe.services/release.json
@@@ -1,7 +1,7 @@
{
"service": "ai",
-- "release": "fc601cbf3ea9",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "ad5cea816bd1",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/ai.openvibe.services/sitemap.xml b/dist/ai.openvibe.services/sitemap.xml
iindex ab2af31..02ec678 100644
---- a/dist/ai.openvibe.services/sitemap.xml
++++ b/dist/ai.openvibe.services/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://ai.openvibe.services/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://ai.openvibe.services/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/ai.openvibe.services/status.json b/dist/ai.openvibe.services/status.json
iindex 306a133..28b4fc2 100644
---- a/dist/ai.openvibe.services/status.json
++++ b/dist/ai.openvibe.services/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a public API with its own keys, quotas and playground; today only other OpenVibe services call it",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/api.openvibe.network/index.html b/dist/api.openvibe.network/index.html
iindex 8533168..876d4ed 100644
---- a/dist/api.openvibe.network/index.html
++++ b/dist/api.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="api.openvibe.network — The network, machine-readable.">
<meta name="twitter:description" content="api.openvibe.network is the planned home of the network&#39;s public APIs. The ecosystem registry (services, capabilities, event topics, namespaces and releases, backed by the OpenVibe contracts) already answers on openvibe.network; this subdomain is not routed to it yet.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://api.openvibe.network/#site","url":"https://api.openvibe.network/","name":"api.openvibe.network","description":"api.openvibe.network is the planned home of the network's public APIs. The ecosystem registry (services, capabilities, event topics, namespaces and releases, backed by the OpenVibe contracts) already answers on openvibe.network; this subdomain is not routed to it yet.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://api.openvibe.network/#page","url":"https://api.openvibe.network/","name":"api.openvibe.network — The network, machine-readable.","description":"api.openvibe.network is the planned home of the network's public APIs. The ecosystem registry (services, capabilities, event topics, namespaces and releases, backed by the OpenVibe contracts) already answers on openvibe.network; this subdomain is not routed to it yet.","isPartOf":{"@id":"https://api.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"api.openvibe.network","item":"https://api.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://api.openvibe.network/#site","url":"https://api.openvibe.network/","name":"api.openvibe.network","description":"api.openvibe.network is the planned home of the network's public APIs. The ecosystem registry (services, capabilities, event topics, namespaces and releases, backed by the OpenVibe contracts) already answers on openvibe.network; this subdomain is not routed to it yet.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://api.openvibe.network/#page","url":"https://api.openvibe.network/","name":"api.openvibe.network — The network, machine-readable.","description":"api.openvibe.network is the planned home of the network's public APIs. The ecosystem registry (services, capabilities, event topics, namespaces and releases, backed by the OpenVibe contracts) already answers on openvibe.network; this subdomain is not routed to it yet.","isPartOf":{"@id":"https://api.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"api.openvibe.network","item":"https://api.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -221,6 +221,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/api.openvibe.network/release.json b/dist/api.openvibe.network/release.json
iindex 2f21152..717d868 100644
---- a/dist/api.openvibe.network/release.json
++++ b/dist/api.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "api",
-- "release": "abe7f4b266d7",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "d2bf384cac98",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/api.openvibe.network/sitemap.xml b/dist/api.openvibe.network/sitemap.xml
iindex a1d7364..9665758 100644
---- a/dist/api.openvibe.network/sitemap.xml
++++ b/dist/api.openvibe.network/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://api.openvibe.network/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://api.openvibe.network/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/api.openvibe.network/status.json b/dist/api.openvibe.network/status.json
iindex 391088c..0c26a34 100644
---- a/dist/api.openvibe.network/status.json
++++ b/dist/api.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/auth.openvibe.network/index.html b/dist/auth.openvibe.network/index.html
iindex 3b4b5fb..d78224b 100644
---- a/dist/auth.openvibe.network/index.html
++++ b/dist/auth.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="auth.openvibe.network — Sign in, once, for the whole network.">
<meta name="twitter:description" content="auth.openvibe.network will be the dedicated home of OpenVibe identity: sign-in, registration, OAuth 2.0 / OpenID Connect for apps, sessions and linked accounts. Today all of this runs inside openvibe.network itself.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://auth.openvibe.network/#site","url":"https://auth.openvibe.network/","name":"auth.openvibe.network","description":"auth.openvibe.network will be the dedicated home of OpenVibe identity: sign-in, registration, OAuth 2.0 / OpenID Connect for apps, sessions and linked accounts. Today all of this runs inside openvibe.network itself.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://auth.openvibe.network/#page","url":"https://auth.openvibe.network/","name":"auth.openvibe.network — Sign in, once, for the whole network.","description":"auth.openvibe.network will be the dedicated home of OpenVibe identity: sign-in, registration, OAuth 2.0 / OpenID Connect for apps, sessions and linked accounts. Today all of this runs inside openvibe.network itself.","isPartOf":{"@id":"https://auth.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"auth.openvibe.network","item":"https://auth.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://auth.openvibe.network/#site","url":"https://auth.openvibe.network/","name":"auth.openvibe.network","description":"auth.openvibe.network will be the dedicated home of OpenVibe identity: sign-in, registration, OAuth 2.0 / OpenID Connect for apps, sessions and linked accounts. Today all of this runs inside openvibe.network itself.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://auth.openvibe.network/#page","url":"https://auth.openvibe.network/","name":"auth.openvibe.network — Sign in, once, for the whole network.","description":"auth.openvibe.network will be the dedicated home of OpenVibe identity: sign-in, registration, OAuth 2.0 / OpenID Connect for apps, sessions and linked accounts. Today all of this runs inside openvibe.network itself.","isPartOf":{"@id":"https://auth.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"auth.openvibe.network","item":"https://auth.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/auth.openvibe.network/release.json b/dist/auth.openvibe.network/release.json
iindex 021ab1a..849401e 100644
---- a/dist/auth.openvibe.network/release.json
++++ b/dist/auth.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "auth",
-- "release": "8c8b90c26d12",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "30df467223f1",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/auth.openvibe.network/sitemap.xml b/dist/auth.openvibe.network/sitemap.xml
iindex 5a1d13e..db8d4dd 100644
---- a/dist/auth.openvibe.network/sitemap.xml
++++ b/dist/auth.openvibe.network/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://auth.openvibe.network/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://auth.openvibe.network/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/auth.openvibe.network/status.json b/dist/auth.openvibe.network/status.json
iindex 056f434..2fd55c8 100644
---- a/dist/auth.openvibe.network/status.json
++++ b/dist/auth.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openre.stream/index.html b/dist/openre.stream/index.html
iindex 64f5403..66e73f3 100644
---- a/dist/openre.stream/index.html
++++ b/dist/openre.stream/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">
<meta name="twitter:description" content="OpenRe.Stream is OpenVibe&#39;s open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}},{"@type":"FAQPage","@id":"https://openre.stream/#faq","mainEntity":[{"@type":"Question","name":"Can I stream without OBS?","acceptedAnswer":{"@type":"Answer","text":"Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."}},{"@type":"Question","name":"Do I need followers or subscribers to go live?","acceptedAnswer":{"@type":"Answer","text":"No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."}},{"@type":"Question","name":"Can I stream from a Chromebook or a phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."}},{"@type":"Question","name":"Can I restream to Twitch, YouTube and Kick at the same time?","acceptedAnswer":{"@type":"Answer","text":"Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."}},{"@type":"Question","name":"Can I use OBS if I want to?","acceptedAnswer":{"@type":"Answer","text":"Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."}}]}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}},{"@type":"FAQPage","@id":"https://openre.stream/#faq","mainEntity":[{"@type":"Question","name":"Can I stream without OBS?","acceptedAnswer":{"@type":"Answer","text":"Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."}},{"@type":"Question","name":"Do I need followers or subscribers to go live?","acceptedAnswer":{"@type":"Answer","text":"No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."}},{"@type":"Question","name":"Can I stream from a Chromebook or a phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."}},{"@type":"Question","name":"Can I restream to Twitch, YouTube and Kick at the same time?","acceptedAnswer":{"@type":"Answer","text":"Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."}},{"@type":"Question","name":"Can I use OBS if I want to?","acceptedAnswer":{"@type":"Answer","text":"Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."}}]}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -235,6 +235,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openre.stream/release.json b/dist/openre.stream/release.json
iindex 7af266d..5009edf 100644
---- a/dist/openre.stream/release.json
++++ b/dist/openre.stream/release.json
@@@ -1,7 +1,7 @@
{
"service": "stream",
-- "release": "6ca02230f052",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "00cd4c91c846",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openre.stream/sitemap.xml b/dist/openre.stream/sitemap.xml
iindex 09d1cd0..2105b42 100644
---- a/dist/openre.stream/sitemap.xml
++++ b/dist/openre.stream/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openre.stream/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openre.stream/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openre.stream/status.json b/dist/openre.stream/status.json
iindex 31aa20a..70beaaa 100644
---- a/dist/openre.stream/status.json
++++ b/dist/openre.stream/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.actor/index.html b/dist/openvibe.actor/index.html
iindex 0251620..f018471 100644
---- a/dist/openvibe.actor/index.html
++++ b/dist/openvibe.actor/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Actor — Every AI agent, every device, one command console.">
<meta name="twitter:description" content="OpenVibe.Actor sends each task to the best agent for it, across hosted agent platforms, open-source runtimes, coding agents and OpenVibe&#39;s own, balanced live on price, speed and success. Install the OpenVibe Node on your computers, servers, Raspberry Pis and robots, and your agents can work on them for real, at the control level you choose, with a kill switch you hold. Run everything from one console, or host the whole thing yourself.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.actor/#site","url":"https://openvibe.actor/","name":"OpenVibe.Actor","description":"OpenVibe.Actor sends each task to the best agent for it, across hosted agent platforms, open-source runtimes, coding agents and OpenVibe's own, balanced live on price, speed and success. Install the OpenVibe Node on your computers, servers, Raspberry Pis and robots, and your agents can work on them for real, at the control level you choose, with a kill switch you hold. Run everything from one console, or host the whole thing yourself.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.actor/#page","url":"https://openvibe.actor/","name":"OpenVibe.Actor — Every AI agent, every device, one command console.","description":"OpenVibe.Actor sends each task to the best agent for it, across hosted agent platforms, open-source runtimes, coding agents and OpenVibe's own, balanced live on price, speed and success. Install the OpenVibe Node on your computers, servers, Raspberry Pis and robots, and your agents can work on them for real, at the control level you choose, with a kill switch you hold. Run everything from one console, or host the whole thing yourself.","isPartOf":{"@id":"https://openvibe.actor/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Actor","item":"https://openvibe.actor/"}]}},{"@type":"FAQPage","@id":"https://openvibe.actor/#faq","mainEntity":[{"@type":"Question","name":"Is this like OpenRouter?","acceptedAnswer":{"@type":"Answer","text":"Yes, for agents: one API and one bill for many agent systems, with live prices and rankings. Actor routes whole tasks rather than single model calls, and it checks the results before you get them."}},{"@type":"Question","name":"Which agent systems does it use?","acceptedAnswer":{"@type":"Answer","text":"OpenVibe's own runtime, hosted agent platforms from companies like OpenAI and Anthropic, coding agents, and open-source agents on OpenVibe's hardware. Each is an adapter, so new ones join quickly."}},{"@type":"Question","name":"How does it choose?","acceptedAnswer":{"@type":"Answer","text":"For each kind of task it compares price, speed, success rate and current health across agent systems, then applies your mode and budget. Every choice is recorded and explained."}},{"@type":"Question","name":"Can I keep my data on OpenVibe?","acceptedAnswer":{"@type":"Answer","text":"Yes. Private mode uses only OpenVibe's own runtime and open models on its own hardware."}},{"@type":"Question","name":"Can it act without asking?","acceptedAnswer":{"@type":"Answer","text":"Only as far as you allow. Anything with consequences, like publishing, spending or moving a robot, waits for your approval, and every action is logged."}},{"@type":"Question","name":"Can an agent take full control of my computer?","acceptedAnswer":{"@type":"Answer","text":"Only if you set that Node to Full control on the device itself. It is time-boxed and recorded, you can see when an agent is in control, and a button, a hotkey or one command ends it. Most people use Trusted: routine actions run and risky ones ask first."}},{"@type":"Question","name":"Can I run Actor myself?","acceptedAnswer":{"@type":"Answer","text":"Yes. The router, the runtime, the console and the Node are open source and run on your own server with local models, and can link to openvibe.actor when you want hosted agents or the rest of the network."}},{"@type":"Question","name":"What will it cost?","acceptedAnswer":{"@type":"Answer","text":"You will be able to start without paying, within limits published before launch; bigger tasks and stronger agents will be paid, with the cost shown per task."}}]}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.actor/#site","url":"https://openvibe.actor/","name":"OpenVibe.Actor","description":"OpenVibe.Actor sends each task to the best agent for it, across hosted agent platforms, open-source runtimes, coding agents and OpenVibe's own, balanced live on price, speed and success. Install the OpenVibe Node on your computers, servers, Raspberry Pis and robots, and your agents can work on them for real, at the control level you choose, with a kill switch you hold. Run everything from one console, or host the whole thing yourself.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.actor/#page","url":"https://openvibe.actor/","name":"OpenVibe.Actor — Every AI agent, every device, one command console.","description":"OpenVibe.Actor sends each task to the best agent for it, across hosted agent platforms, open-source runtimes, coding agents and OpenVibe's own, balanced live on price, speed and success. Install the OpenVibe Node on your computers, servers, Raspberry Pis and robots, and your agents can work on them for real, at the control level you choose, with a kill switch you hold. Run everything from one console, or host the whole thing yourself.","isPartOf":{"@id":"https://openvibe.actor/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Actor","item":"https://openvibe.actor/"}]}},{"@type":"FAQPage","@id":"https://openvibe.actor/#faq","mainEntity":[{"@type":"Question","name":"Is this like OpenRouter?","acceptedAnswer":{"@type":"Answer","text":"Yes, for agents: one API and one bill for many agent systems, with live prices and rankings. Actor routes whole tasks rather than single model calls, and it checks the results before you get them."}},{"@type":"Question","name":"Which agent systems does it use?","acceptedAnswer":{"@type":"Answer","text":"OpenVibe's own runtime, hosted agent platforms from companies like OpenAI and Anthropic, coding agents, and open-source agents on OpenVibe's hardware. Each is an adapter, so new ones join quickly."}},{"@type":"Question","name":"How does it choose?","acceptedAnswer":{"@type":"Answer","text":"For each kind of task it compares price, speed, success rate and current health across agent systems, then applies your mode and budget. Every choice is recorded and explained."}},{"@type":"Question","name":"Can I keep my data on OpenVibe?","acceptedAnswer":{"@type":"Answer","text":"Yes. Private mode uses only OpenVibe's own runtime and open models on its own hardware."}},{"@type":"Question","name":"Can it act without asking?","acceptedAnswer":{"@type":"Answer","text":"Only as far as you allow. Anything with consequences, like publishing, spending or moving a robot, waits for your approval, and every action is logged."}},{"@type":"Question","name":"Can an agent take full control of my computer?","acceptedAnswer":{"@type":"Answer","text":"Only if you set that Node to Full control on the device itself. It is time-boxed and recorded, you can see when an agent is in control, and a button, a hotkey or one command ends it. Most people use Trusted: routine actions run and risky ones ask first."}},{"@type":"Question","name":"Can I run Actor myself?","acceptedAnswer":{"@type":"Answer","text":"Yes. The router, the runtime, the console and the Node are open source and run on your own server with local models, and can link to openvibe.actor when you want hosted agents or the rest of the network."}},{"@type":"Question","name":"What will it cost?","acceptedAnswer":{"@type":"Answer","text":"You will be able to start without paying, within limits published before launch; bigger tasks and stronger agents will be paid, with the cost shown per task."}}]}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -317,6 +317,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.actor/release.json b/dist/openvibe.actor/release.json
iindex 3982c3d..34d2fa2 100644
---- a/dist/openvibe.actor/release.json
++++ b/dist/openvibe.actor/release.json
@@@ -1,7 +1,7 @@
{
"service": "actor",
-- "release": "95a1b305f386",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "56a54ee7ebac",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.actor/sitemap.xml b/dist/openvibe.actor/sitemap.xml
iindex cc0df62..5bd6b0c 100644
---- a/dist/openvibe.actor/sitemap.xml
++++ b/dist/openvibe.actor/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.actor/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.actor/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.actor/status.json b/dist/openvibe.actor/status.json
iindex 854368d..9236bb2 100644
---- a/dist/openvibe.actor/status.json
++++ b/dist/openvibe.actor/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the task router with its first agent adapters, then personal agents on OpenVibe.Network accounts",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.bot/index.html b/dist/openvibe.bot/index.html
iindex 4ae081a..0a7d6b5 100644
---- a/dist/openvibe.bot/index.html
++++ b/dist/openvibe.bot/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Bot — Get your robot online in minutes.">
<meta name="twitter:description" content="OpenVibe.Bot is an open control panel for robots. Add a robot, pair it with one command or a QR code, and drive it from any browser with live video, real controls and a stop button that always works. Buy a ready-made bot or bring your own: a Raspberry Pi robot, an ESP32, a ROS 2 robot, a phone, or a Cozmo. Share control, automate it, hand it to your AI agent, and stream it to OpenVibe.Live or openre.stream when you want to.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.bot/#site","url":"https://openvibe.bot/","name":"OpenVibe.Bot","description":"OpenVibe.Bot is an open control panel for robots. Add a robot, pair it with one command or a QR code, and drive it from any browser with live video, real controls and a stop button that always works. Buy a ready-made bot or bring your own: a Raspberry Pi robot, an ESP32, a ROS 2 robot, a phone, or a Cozmo. Share control, automate it, hand it to your AI agent, and stream it to OpenVibe.Live or openre.stream when you want to.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.bot/#page","url":"https://openvibe.bot/","name":"OpenVibe.Bot — Get your robot online in minutes.","description":"OpenVibe.Bot is an open control panel for robots. Add a robot, pair it with one command or a QR code, and drive it from any browser with live video, real controls and a stop button that always works. Buy a ready-made bot or bring your own: a Raspberry Pi robot, an ESP32, a ROS 2 robot, a phone, or a Cozmo. Share control, automate it, hand it to your AI agent, and stream it to OpenVibe.Live or openre.stream when you want to.","isPartOf":{"@id":"https://openvibe.bot/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Bot","item":"https://openvibe.bot/"}]}},{"@type":"FAQPage","@id":"https://openvibe.bot/#faq","mainEntity":[{"@type":"Question","name":"Do I need to open ports on my router?","acceptedAnswer":{"@type":"Answer","text":"No. The robot connects out to OpenVibe, and video and controls travel over WebRTC, so it works behind ordinary home and mobile networks."}},{"@type":"Question","name":"Is it only for streaming?","acceptedAnswer":{"@type":"Answer","text":"No. Streaming is optional. Bot is a control panel for your robot first: drive it, check on it, share it and automate it."}},{"@type":"Question","name":"Which robot comes first?","acceptedAnswer":{"@type":"Answer","text":"The Adeept 4WD Smart Car Kit for Raspberry Pi: four motors, a pan-tilt camera, distance and line sensors, lights and a buzzer. OpenVibe's device agent drives it directly, so its own open control port never has to be exposed."}},{"@type":"Question","name":"Does it work with Cozmo?","acceptedAnswer":{"@type":"Answer","text":"Yes, built in. Cozmo makes its own Wi-Fi and runs closed firmware, so the OpenVibe agent runs on a computer next to it (a Raspberry Pi or a laptop) that joins Cozmo's Wi-Fi and stays online through another connection. You get driving, the head and lift, its camera, its face display, its voice, lights and cubes, and it stops at edges on its own. No phone app needed."}},{"@type":"Question","name":"What hardware works?","acceptedAnswer":{"@type":"Answer","text":"A Raspberry Pi or another Linux board, an ESP32, a ROS 2 robot, an Android phone, or an ONVIF or RTSP camera. The curated kits list exactly what to buy."}},{"@type":"Question","name":"How does it keep the robot safe?","acceptedAnswer":{"@type":"Answer","text":"The device stops its motors by itself when commands or the connection stop. There is an emergency stop in the panel, limits on speed, range and time, and every command is logged."}},{"@type":"Question","name":"What will it cost?","acceptedAnswer":{"@type":"Answer","text":"Controlling your own robot will not cost anything. Limits and any paid extras will be published before launch."}}]}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.bot/#site","url":"https://openvibe.bot/","name":"OpenVibe.Bot","description":"OpenVibe.Bot is an open control panel for robots. Add a robot, pair it with one command or a QR code, and drive it from any browser with live video, real controls and a stop button that always works. Buy a ready-made bot or bring your own: a Raspberry Pi robot, an ESP32, a ROS 2 robot, a phone, or a Cozmo. Share control, automate it, hand it to your AI agent, and stream it to OpenVibe.Live or openre.stream when you want to.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.bot/#page","url":"https://openvibe.bot/","name":"OpenVibe.Bot — Get your robot online in minutes.","description":"OpenVibe.Bot is an open control panel for robots. Add a robot, pair it with one command or a QR code, and drive it from any browser with live video, real controls and a stop button that always works. Buy a ready-made bot or bring your own: a Raspberry Pi robot, an ESP32, a ROS 2 robot, a phone, or a Cozmo. Share control, automate it, hand it to your AI agent, and stream it to OpenVibe.Live or openre.stream when you want to.","isPartOf":{"@id":"https://openvibe.bot/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Bot","item":"https://openvibe.bot/"}]}},{"@type":"FAQPage","@id":"https://openvibe.bot/#faq","mainEntity":[{"@type":"Question","name":"Do I need to open ports on my router?","acceptedAnswer":{"@type":"Answer","text":"No. The robot connects out to OpenVibe, and video and controls travel over WebRTC, so it works behind ordinary home and mobile networks."}},{"@type":"Question","name":"Is it only for streaming?","acceptedAnswer":{"@type":"Answer","text":"No. Streaming is optional. Bot is a control panel for your robot first: drive it, check on it, share it and automate it."}},{"@type":"Question","name":"Which robot comes first?","acceptedAnswer":{"@type":"Answer","text":"The Adeept 4WD Smart Car Kit for Raspberry Pi: four motors, a pan-tilt camera, distance and line sensors, lights and a buzzer. OpenVibe's device agent drives it directly, so its own open control port never has to be exposed."}},{"@type":"Question","name":"Does it work with Cozmo?","acceptedAnswer":{"@type":"Answer","text":"Yes, built in. Cozmo makes its own Wi-Fi and runs closed firmware, so the OpenVibe agent runs on a computer next to it (a Raspberry Pi or a laptop) that joins Cozmo's Wi-Fi and stays online through another connection. You get driving, the head and lift, its camera, its face display, its voice, lights and cubes, and it stops at edges on its own. No phone app needed."}},{"@type":"Question","name":"What hardware works?","acceptedAnswer":{"@type":"Answer","text":"A Raspberry Pi or another Linux board, an ESP32, a ROS 2 robot, an Android phone, or an ONVIF or RTSP camera. The curated kits list exactly what to buy."}},{"@type":"Question","name":"How does it keep the robot safe?","acceptedAnswer":{"@type":"Answer","text":"The device stops its motors by itself when commands or the connection stop. There is an emergency stop in the panel, limits on speed, range and time, and every command is logged."}},{"@type":"Question","name":"What will it cost?","acceptedAnswer":{"@type":"Answer","text":"Controlling your own robot will not cost anything. Limits and any paid extras will be published before launch."}}]}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -276,6 +276,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.bot/release.json b/dist/openvibe.bot/release.json
iindex 6a289d7..bb32ccc 100644
---- a/dist/openvibe.bot/release.json
++++ b/dist/openvibe.bot/release.json
@@@ -1,7 +1,7 @@
{
"service": "bot",
-- "release": "6367c7a17282",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "c2558ab2fbb9",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.bot/sitemap.xml b/dist/openvibe.bot/sitemap.xml
iindex 11f806c..96570af 100644
---- a/dist/openvibe.bot/sitemap.xml
++++ b/dist/openvibe.bot/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.bot/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.bot/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.bot/status.json b/dist/openvibe.bot/status.json
iindex 8755a5f..02e81b9 100644
---- a/dist/openvibe.bot/status.json
++++ b/dist/openvibe.bot/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the Bot service, its device agent and the first robots paired",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.coupons/index.html b/dist/openvibe.coupons/index.html
iindex ac65b04..a0dee01 100644
---- a/dist/openvibe.coupons/index.html
++++ b/dist/openvibe.coupons/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Coupons — Codes that actually work.">
<meta name="twitter:description" content="OpenVibe.Coupons is community-checked coupon discovery: codes matched to stores, validity reported by real people, expirations tracked, and a browser helper on the way.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.coupons/#site","url":"https://openvibe.coupons/","name":"OpenVibe.Coupons","description":"OpenVibe.Coupons is community-checked coupon discovery: codes matched to stores, validity reported by real people, expirations tracked, and a browser helper on the way.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.coupons/#page","url":"https://openvibe.coupons/","name":"OpenVibe.Coupons — Codes that actually work.","description":"OpenVibe.Coupons is community-checked coupon discovery: codes matched to stores, validity reported by real people, expirations tracked, and a browser helper on the way.","isPartOf":{"@id":"https://openvibe.coupons/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Coupons","item":"https://openvibe.coupons/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.coupons/#site","url":"https://openvibe.coupons/","name":"OpenVibe.Coupons","description":"OpenVibe.Coupons is community-checked coupon discovery: codes matched to stores, validity reported by real people, expirations tracked, and a browser helper on the way.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.coupons/#page","url":"https://openvibe.coupons/","name":"OpenVibe.Coupons — Codes that actually work.","description":"OpenVibe.Coupons is community-checked coupon discovery: codes matched to stores, validity reported by real people, expirations tracked, and a browser helper on the way.","isPartOf":{"@id":"https://openvibe.coupons/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Coupons","item":"https://openvibe.coupons/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.coupons/release.json b/dist/openvibe.coupons/release.json
iindex 463e52d..d85787d 100644
---- a/dist/openvibe.coupons/release.json
++++ b/dist/openvibe.coupons/release.json
@@@ -1,7 +1,7 @@
{
"service": "coupons",
-- "release": "7cd4f316acce",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "e57beeca16d6",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.coupons/sitemap.xml b/dist/openvibe.coupons/sitemap.xml
iindex 04a2eed..8859a36 100644
---- a/dist/openvibe.coupons/sitemap.xml
++++ b/dist/openvibe.coupons/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.coupons/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.coupons/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.coupons/status.json b/dist/openvibe.coupons/status.json
iindex 5c00c28..148340e 100644
---- a/dist/openvibe.coupons/status.json
++++ b/dist/openvibe.coupons/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a person to verify a coupons source's terms and switch it on",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.deals/index.html b/dist/openvibe.deals/index.html
iindex 68a7537..e7f13b4 100644
---- a/dist/openvibe.deals/index.html
++++ b/dist/openvibe.deals/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Deals — Deals worth seeing.">
<meta name="twitter:description" content="OpenVibe.Deals is community deal discovery for the OpenVibe network: deals people vote on, hotness that reflects real interest, keyword alerts, price comparisons and honest discussion.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.deals/#site","url":"https://openvibe.deals/","name":"OpenVibe.Deals","description":"OpenVibe.Deals is community deal discovery for the OpenVibe network: deals people vote on, hotness that reflects real interest, keyword alerts, price comparisons and honest discussion.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.deals/#page","url":"https://openvibe.deals/","name":"OpenVibe.Deals — Deals worth seeing.","description":"OpenVibe.Deals is community deal discovery for the OpenVibe network: deals people vote on, hotness that reflects real interest, keyword alerts, price comparisons and honest discussion.","isPartOf":{"@id":"https://openvibe.deals/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Deals","item":"https://openvibe.deals/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.deals/#site","url":"https://openvibe.deals/","name":"OpenVibe.Deals","description":"OpenVibe.Deals is community deal discovery for the OpenVibe network: deals people vote on, hotness that reflects real interest, keyword alerts, price comparisons and honest discussion.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.deals/#page","url":"https://openvibe.deals/","name":"OpenVibe.Deals — Deals worth seeing.","description":"OpenVibe.Deals is community deal discovery for the OpenVibe network: deals people vote on, hotness that reflects real interest, keyword alerts, price comparisons and honest discussion.","isPartOf":{"@id":"https://openvibe.deals/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Deals","item":"https://openvibe.deals/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.deals/release.json b/dist/openvibe.deals/release.json
iindex 85a2cfe..0169c1d 100644
---- a/dist/openvibe.deals/release.json
++++ b/dist/openvibe.deals/release.json
@@@ -1,7 +1,7 @@
{
"service": "deals",
-- "release": "fb9b0c9f6581",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "d5b458445c28",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.deals/sitemap.xml b/dist/openvibe.deals/sitemap.xml
iindex 0cd4e4c..6b1d147 100644
---- a/dist/openvibe.deals/sitemap.xml
++++ b/dist/openvibe.deals/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.deals/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.deals/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.deals/status.json b/dist/openvibe.deals/status.json
iindex 391bf27..0f5955b 100644
---- a/dist/openvibe.deals/status.json
++++ b/dist/openvibe.deals/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a person to verify a deals source's terms and switch it on",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.download/index.html b/dist/openvibe.download/index.html
iindex 7bad8b1..886746e 100644
---- a/dist/openvibe.download/index.html
++++ b/dist/openvibe.download/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Download — Upload anything. Share it anywhere.">
<meta name="twitter:description" content="OpenVibe.Download will be the file home of the OpenVibe network: large uploads and simple share links with or without an account, folders, sync and backups when you sign in, and AI that previews, sorts and finds your files, in the spirit of MediaFire and MEGA, built on OpenVibe.Media and open through the API.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.download/#site","url":"https://openvibe.download/","name":"OpenVibe.Download","description":"OpenVibe.Download will be the file home of the OpenVibe network: large uploads and simple share links with or without an account, folders, sync and backups when you sign in, and AI that previews, sorts and finds your files, in the spirit of MediaFire and MEGA, built on OpenVibe.Media and open through the API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.download/#page","url":"https://openvibe.download/","name":"OpenVibe.Download — Upload anything. Share it anywhere.","description":"OpenVibe.Download will be the file home of the OpenVibe network: large uploads and simple share links with or without an account, folders, sync and backups when you sign in, and AI that previews, sorts and finds your files, in the spirit of MediaFire and MEGA, built on OpenVibe.Media and open through the API.","isPartOf":{"@id":"https://openvibe.download/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Download","item":"https://openvibe.download/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.download/#site","url":"https://openvibe.download/","name":"OpenVibe.Download","description":"OpenVibe.Download will be the file home of the OpenVibe network: large uploads and simple share links with or without an account, folders, sync and backups when you sign in, and AI that previews, sorts and finds your files, in the spirit of MediaFire and MEGA, built on OpenVibe.Media and open through the API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.download/#page","url":"https://openvibe.download/","name":"OpenVibe.Download — Upload anything. Share it anywhere.","description":"OpenVibe.Download will be the file home of the OpenVibe network: large uploads and simple share links with or without an account, folders, sync and backups when you sign in, and AI that previews, sorts and finds your files, in the spirit of MediaFire and MEGA, built on OpenVibe.Media and open through the API.","isPartOf":{"@id":"https://openvibe.download/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Download","item":"https://openvibe.download/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.download/release.json b/dist/openvibe.download/release.json
iindex 92e6d42..b496a30 100644
---- a/dist/openvibe.download/release.json
++++ b/dist/openvibe.download/release.json
@@@ -1,7 +1,7 @@
{
"service": "download",
-- "release": "0eb8d4bd74dc",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "af505d1bb591",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.download/sitemap.xml b/dist/openvibe.download/sitemap.xml
iindex 56e2460..9ca37cf 100644
---- a/dist/openvibe.download/sitemap.xml
++++ b/dist/openvibe.download/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.download/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.download/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.download/status.json b/dist/openvibe.download/status.json
iindex 3caa064..b531588 100644
---- a/dist/openvibe.download/status.json
++++ b/dist/openvibe.download/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the shared file service on OpenVibe.Media",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.events/index.html b/dist/openvibe.events/index.html
iindex 206630c..09a878a 100644
---- a/dist/openvibe.events/index.html
++++ b/dist/openvibe.events/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Events — Events, queues and webhooks you can build on.">
<meta name="twitter:description" content="OpenVibe.Events is the network&#39;s event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.events/#site","url":"https://openvibe.events/","name":"OpenVibe.Events","description":"OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.events/#page","url":"https://openvibe.events/","name":"OpenVibe.Events — Events, queues and webhooks you can build on.","description":"OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.","isPartOf":{"@id":"https://openvibe.events/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Events","item":"https://openvibe.events/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.events/#site","url":"https://openvibe.events/","name":"OpenVibe.Events","description":"OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.events/#page","url":"https://openvibe.events/","name":"OpenVibe.Events — Events, queues and webhooks you can build on.","description":"OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.","isPartOf":{"@id":"https://openvibe.events/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Events","item":"https://openvibe.events/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.events/release.json b/dist/openvibe.events/release.json
iindex 412d86e..a7bdc23 100644
---- a/dist/openvibe.events/release.json
++++ b/dist/openvibe.events/release.json
@@@ -1,7 +1,7 @@
{
"service": "events",
-- "release": "a605c9f9d88c",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "2e49b0eacef8",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.events/sitemap.xml b/dist/openvibe.events/sitemap.xml
iindex 7fbd93a..28a9247 100644
---- a/dist/openvibe.events/sitemap.xml
++++ b/dist/openvibe.events/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.events/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.events/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.events/status.json b/dist/openvibe.events/status.json
iindex 2a2655a..aaa77d1 100644
---- a/dist/openvibe.events/status.json
++++ b/dist/openvibe.events/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "the developer site and queue and stream primitives; the API runs at events.openvibe.network",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.food/index.html b/dist/openvibe.food/index.html
iindex b5a7e76..0898e12 100644
---- a/dist/openvibe.food/index.html
++++ b/dist/openvibe.food/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Food — What should we eat?">
<meta name="twitter:description" content="OpenVibe.Food will bring food together: compare delivery prices across apps, find coupons and budget meal kits, plan meals alone, as a couple or as a group, and turn what is in your cupboard into recipes with the network&#39;s AI. The food tools on OpenVibe.Tools will live here too.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.food/#site","url":"https://openvibe.food/","name":"OpenVibe.Food","description":"OpenVibe.Food will bring food together: compare delivery prices across apps, find coupons and budget meal kits, plan meals alone, as a couple or as a group, and turn what is in your cupboard into recipes with the network's AI. The food tools on OpenVibe.Tools will live here too.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.food/#page","url":"https://openvibe.food/","name":"OpenVibe.Food — What should we eat?","description":"OpenVibe.Food will bring food together: compare delivery prices across apps, find coupons and budget meal kits, plan meals alone, as a couple or as a group, and turn what is in your cupboard into recipes with the network's AI. The food tools on OpenVibe.Tools will live here too.","isPartOf":{"@id":"https://openvibe.food/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Food","item":"https://openvibe.food/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.food/#site","url":"https://openvibe.food/","name":"OpenVibe.Food","description":"OpenVibe.Food will bring food together: compare delivery prices across apps, find coupons and budget meal kits, plan meals alone, as a couple or as a group, and turn what is in your cupboard into recipes with the network's AI. The food tools on OpenVibe.Tools will live here too.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.food/#page","url":"https://openvibe.food/","name":"OpenVibe.Food — What should we eat?","description":"OpenVibe.Food will bring food together: compare delivery prices across apps, find coupons and budget meal kits, plan meals alone, as a couple or as a group, and turn what is in your cupboard into recipes with the network's AI. The food tools on OpenVibe.Tools will live here too.","isPartOf":{"@id":"https://openvibe.food/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Food","item":"https://openvibe.food/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.food/release.json b/dist/openvibe.food/release.json
iindex 8f09a89..b6d498e 100644
---- a/dist/openvibe.food/release.json
++++ b/dist/openvibe.food/release.json
@@@ -1,7 +1,7 @@
{
"service": "food",
-- "release": "878d27edfc5d",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "3793c2c34492",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.food/sitemap.xml b/dist/openvibe.food/sitemap.xml
iindex 54b1fa2..b8d40ba 100644
---- a/dist/openvibe.food/sitemap.xml
++++ b/dist/openvibe.food/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.food/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.food/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.food/status.json b/dist/openvibe.food/status.json
iindex f4a23fd..9a6f466 100644
---- a/dist/openvibe.food/status.json
++++ b/dist/openvibe.food/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the food tools moving over from OpenVibe.Tools",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.help/index.html b/dist/openvibe.help/index.html
iindex b316157..f47f058 100644
---- a/dist/openvibe.help/index.html
++++ b/dist/openvibe.help/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Help — Answers, support and a way to reach people.">
<meta name="twitter:description" content="OpenVibe.Help will be the help and support center for every OpenVibe site: search answers drawn from the docs, wiki, blog and service status, follow troubleshooting guides, and open a ticket that stays one conversation on the web and by email. A Report Problem button on every site will attach the safe details staff need (release, request and trace ids) and never secrets.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.help/#site","url":"https://openvibe.help/","name":"OpenVibe.Help","description":"OpenVibe.Help will be the help and support center for every OpenVibe site: search answers drawn from the docs, wiki, blog and service status, follow troubleshooting guides, and open a ticket that stays one conversation on the web and by email. A Report Problem button on every site will attach the safe details staff need (release, request and trace ids) and never secrets.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.help/#page","url":"https://openvibe.help/","name":"OpenVibe.Help — Answers, support and a way to reach people.","description":"OpenVibe.Help will be the help and support center for every OpenVibe site: search answers drawn from the docs, wiki, blog and service status, follow troubleshooting guides, and open a ticket that stays one conversation on the web and by email. A Report Problem button on every site will attach the safe details staff need (release, request and trace ids) and never secrets.","isPartOf":{"@id":"https://openvibe.help/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Help","item":"https://openvibe.help/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.help/#site","url":"https://openvibe.help/","name":"OpenVibe.Help","description":"OpenVibe.Help will be the help and support center for every OpenVibe site: search answers drawn from the docs, wiki, blog and service status, follow troubleshooting guides, and open a ticket that stays one conversation on the web and by email. A Report Problem button on every site will attach the safe details staff need (release, request and trace ids) and never secrets.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.help/#page","url":"https://openvibe.help/","name":"OpenVibe.Help — Answers, support and a way to reach people.","description":"OpenVibe.Help will be the help and support center for every OpenVibe site: search answers drawn from the docs, wiki, blog and service status, follow troubleshooting guides, and open a ticket that stays one conversation on the web and by email. A Report Problem button on every site will attach the safe details staff need (release, request and trace ids) and never secrets.","isPartOf":{"@id":"https://openvibe.help/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Help","item":"https://openvibe.help/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -221,6 +221,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.bot/"><i class="fa-solid fa-robot" aria-hidden="true"></i>OpenVibe.Bot</a>
ddiff --git a/dist/openvibe.help/release.json b/dist/openvibe.help/release.json
iindex 5812d5d..b7814a0 100644
---- a/dist/openvibe.help/release.json
++++ b/dist/openvibe.help/release.json
@@@ -1,7 +1,7 @@
{
"service": "help",
-- "release": "607e29112e47",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "a804ca1bd0f0",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.help/sitemap.xml b/dist/openvibe.help/sitemap.xml
iindex e75367b..f8ef6eb 100644
---- a/dist/openvibe.help/sitemap.xml
++++ b/dist/openvibe.help/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.help/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.help/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.help/status.json b/dist/openvibe.help/status.json
iindex f832153..16d44c1 100644
---- a/dist/openvibe.help/status.json
++++ b/dist/openvibe.help/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the ticket service and the Frame's Help button",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.homes/index.html b/dist/openvibe.homes/index.html
iindex aecaa65..7013c63 100644
---- a/dist/openvibe.homes/index.html
++++ b/dist/openvibe.homes/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Homes — Homes to own, clearly explained.">
<meta name="twitter:description" content="OpenVibe.Homes will be the owning side of OpenVibe.Rent: homes for sale, property records and neighbourhood context in one place, with alerts and AI summaries that always link their sources.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.homes/#site","url":"https://openvibe.homes/","name":"OpenVibe.Homes","description":"OpenVibe.Homes will be the owning side of OpenVibe.Rent: homes for sale, property records and neighbourhood context in one place, with alerts and AI summaries that always link their sources.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.homes/#page","url":"https://openvibe.homes/","name":"OpenVibe.Homes — Homes to own, clearly explained.","description":"OpenVibe.Homes will be the owning side of OpenVibe.Rent: homes for sale, property records and neighbourhood context in one place, with alerts and AI summaries that always link their sources.","isPartOf":{"@id":"https://openvibe.homes/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Homes","item":"https://openvibe.homes/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.homes/#site","url":"https://openvibe.homes/","name":"OpenVibe.Homes","description":"OpenVibe.Homes will be the owning side of OpenVibe.Rent: homes for sale, property records and neighbourhood context in one place, with alerts and AI summaries that always link their sources.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.homes/#page","url":"https://openvibe.homes/","name":"OpenVibe.Homes — Homes to own, clearly explained.","description":"OpenVibe.Homes will be the owning side of OpenVibe.Rent: homes for sale, property records and neighbourhood context in one place, with alerts and AI summaries that always link their sources.","isPartOf":{"@id":"https://openvibe.homes/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Homes","item":"https://openvibe.homes/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.rent/"><i class="fa-solid fa-key" aria-hidden="true"></i>OpenVibe.Rent</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.homes/release.json b/dist/openvibe.homes/release.json
iindex 35e6215..f000f46 100644
---- a/dist/openvibe.homes/release.json
++++ b/dist/openvibe.homes/release.json
@@@ -1,7 +1,7 @@
{
"service": "homes",
-- "release": "00705f1b0644",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "503ba0cfcce2",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.homes/sitemap.xml b/dist/openvibe.homes/sitemap.xml
iindex a639f48..7d57f8f 100644
---- a/dist/openvibe.homes/sitemap.xml
++++ b/dist/openvibe.homes/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.homes/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.homes/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.homes/status.json b/dist/openvibe.homes/status.json
iindex a746af5..bda33e0 100644
---- a/dist/openvibe.homes/status.json
++++ b/dist/openvibe.homes/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "verified listing and records sources",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.host/index.html b/dist/openvibe.host/index.html
iindex a473ddf..8043703 100644
---- a/dist/openvibe.host/index.html
++++ b/dist/openvibe.host/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Host — Static sites for OpenVibe projects.">
<meta name="twitter:description" content="OpenVibe.Host is the network&#39;s deployment tooling and, next, static site hosting for OpenVibe projects. The tooling (ovhost) already runs on the network&#39;s host: deploys with automatic rollback, backups and restore drills for the network&#39;s own services. The hosting part will let a project upload a folder of HTML, CSS, JavaScript and images, serve it at &lt;site&gt;.openvibe.host and roll back to any earlier deploy in one step. Static files only: nothing uploaded is run as code.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.host/#site","url":"https://openvibe.host/","name":"OpenVibe.Host","description":"OpenVibe.Host is the network's deployment tooling and, next, static site hosting for OpenVibe projects. The tooling (ovhost) already runs on the network's host: deploys with automatic rollback, backups and restore drills for the network's own services. The hosting part will let a project upload a folder of HTML, CSS, JavaScript and images, serve it at <site>.openvibe.host and roll back to any earlier deploy in one step. Static files only: nothing uploaded is run as code.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.host/#page","url":"https://openvibe.host/","name":"OpenVibe.Host — Static sites for OpenVibe projects.","description":"OpenVibe.Host is the network's deployment tooling and, next, static site hosting for OpenVibe projects. The tooling (ovhost) already runs on the network's host: deploys with automatic rollback, backups and restore drills for the network's own services. The hosting part will let a project upload a folder of HTML, CSS, JavaScript and images, serve it at <site>.openvibe.host and roll back to any earlier deploy in one step. Static files only: nothing uploaded is run as code.","isPartOf":{"@id":"https://openvibe.host/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Host","item":"https://openvibe.host/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.host/#site","url":"https://openvibe.host/","name":"OpenVibe.Host","description":"OpenVibe.Host is the network's deployment tooling and, next, static site hosting for OpenVibe projects. The tooling (ovhost) already runs on the network's host: deploys with automatic rollback, backups and restore drills for the network's own services. The hosting part will let a project upload a folder of HTML, CSS, JavaScript and images, serve it at <site>.openvibe.host and roll back to any earlier deploy in one step. Static files only: nothing uploaded is run as code.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.host/#page","url":"https://openvibe.host/","name":"OpenVibe.Host — Static sites for OpenVibe projects.","description":"OpenVibe.Host is the network's deployment tooling and, next, static site hosting for OpenVibe projects. The tooling (ovhost) already runs on the network's host: deploys with automatic rollback, backups and restore drills for the network's own services. The hosting part will let a project upload a folder of HTML, CSS, JavaScript and images, serve it at <site>.openvibe.host and roll back to any earlier deploy in one step. Static files only: nothing uploaded is run as code.","isPartOf":{"@id":"https://openvibe.host/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Host","item":"https://openvibe.host/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.host/release.json b/dist/openvibe.host/release.json
iindex 325a6ae..6e9e694 100644
---- a/dist/openvibe.host/release.json
++++ b/dist/openvibe.host/release.json
@@@ -1,7 +1,7 @@
{
"service": "host",
-- "release": "176051f44fa8",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "64fb649217b1",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.host/sitemap.xml b/dist/openvibe.host/sitemap.xml
iindex 298e88c..8a706d7 100644
---- a/dist/openvibe.host/sitemap.xml
++++ b/dist/openvibe.host/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.host/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.host/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.host/status.json b/dist/openvibe.host/status.json
iindex 155c7bf..41f1cf8 100644
---- a/dist/openvibe.host/status.json
++++ b/dist/openvibe.host/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "the owner's go on its launch checklist",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.news/index.html b/dist/openvibe.news/index.html
iindex 6f3c812..7cab236 100644
---- a/dist/openvibe.news/index.html
++++ b/dist/openvibe.news/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.News — Sourced. Summarised. Many angles.">
<meta name="twitter:description" content="OpenVibe.News aggregates the news with transparency: sourced stories, summaries that show their sources, multiple angles side by side, topic pages and framing you control — not an algorithm you can&#39;t see.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.news/#site","url":"https://openvibe.news/","name":"OpenVibe.News","description":"OpenVibe.News aggregates the news with transparency: sourced stories, summaries that show their sources, multiple angles side by side, topic pages and framing you control — not an algorithm you can't see.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.news/#page","url":"https://openvibe.news/","name":"OpenVibe.News — Sourced. Summarised. Many angles.","description":"OpenVibe.News aggregates the news with transparency: sourced stories, summaries that show their sources, multiple angles side by side, topic pages and framing you control — not an algorithm you can't see.","isPartOf":{"@id":"https://openvibe.news/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.News","item":"https://openvibe.news/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.news/#site","url":"https://openvibe.news/","name":"OpenVibe.News","description":"OpenVibe.News aggregates the news with transparency: sourced stories, summaries that show their sources, multiple angles side by side, topic pages and framing you control — not an algorithm you can't see.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.news/#page","url":"https://openvibe.news/","name":"OpenVibe.News — Sourced. Summarised. Many angles.","description":"OpenVibe.News aggregates the news with transparency: sourced stories, summaries that show their sources, multiple angles side by side, topic pages and framing you control — not an algorithm you can't see.","isPartOf":{"@id":"https://openvibe.news/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.News","item":"https://openvibe.news/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.news/release.json b/dist/openvibe.news/release.json
iindex 89142a6..cd1a6ad 100644
---- a/dist/openvibe.news/release.json
++++ b/dist/openvibe.news/release.json
@@@ -1,7 +1,7 @@
{
"service": "news",
-- "release": "03ec9fdc3183",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "c1ad9226ae89",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.news/sitemap.xml b/dist/openvibe.news/sitemap.xml
iindex 77fbecd..13d809e 100644
---- a/dist/openvibe.news/sitemap.xml
++++ b/dist/openvibe.news/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.news/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.news/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.news/status.json b/dist/openvibe.news/status.json
iindex 4f492a5..ab9c2cc 100644
---- a/dist/openvibe.news/status.json
++++ b/dist/openvibe.news/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a person to verify a news source's terms and an editor to publish the first reviewed story",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.pics/index.html b/dist/openvibe.pics/index.html
iindex 7245f35..f625c2f 100644
---- a/dist/openvibe.pics/index.html
++++ b/dist/openvibe.pics/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Pics — Share pictures. Fast, open, yours.">
<meta name="twitter:description" content="OpenVibe.Pics will be the picture home of the OpenVibe network: quick uploads and share links with or without an account, albums and galleries, image processing and optimisation served from a shared CDN, and AI image tools, an open and modular alternative to Imgur that is also usable through the OpenVibe API.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.pics/#site","url":"https://openvibe.pics/","name":"OpenVibe.Pics","description":"OpenVibe.Pics will be the picture home of the OpenVibe network: quick uploads and share links with or without an account, albums and galleries, image processing and optimisation served from a shared CDN, and AI image tools, an open and modular alternative to Imgur that is also usable through the OpenVibe API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.pics/#page","url":"https://openvibe.pics/","name":"OpenVibe.Pics — Share pictures. Fast, open, yours.","description":"OpenVibe.Pics will be the picture home of the OpenVibe network: quick uploads and share links with or without an account, albums and galleries, image processing and optimisation served from a shared CDN, and AI image tools, an open and modular alternative to Imgur that is also usable through the OpenVibe API.","isPartOf":{"@id":"https://openvibe.pics/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Pics","item":"https://openvibe.pics/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.pics/#site","url":"https://openvibe.pics/","name":"OpenVibe.Pics","description":"OpenVibe.Pics will be the picture home of the OpenVibe network: quick uploads and share links with or without an account, albums and galleries, image processing and optimisation served from a shared CDN, and AI image tools, an open and modular alternative to Imgur that is also usable through the OpenVibe API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.pics/#page","url":"https://openvibe.pics/","name":"OpenVibe.Pics — Share pictures. Fast, open, yours.","description":"OpenVibe.Pics will be the picture home of the OpenVibe network: quick uploads and share links with or without an account, albums and galleries, image processing and optimisation served from a shared CDN, and AI image tools, an open and modular alternative to Imgur that is also usable through the OpenVibe API.","isPartOf":{"@id":"https://openvibe.pics/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Pics","item":"https://openvibe.pics/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -220,6 +220,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.pics/release.json b/dist/openvibe.pics/release.json
iindex 488f530..9619dd6 100644
---- a/dist/openvibe.pics/release.json
++++ b/dist/openvibe.pics/release.json
@@@ -1,7 +1,7 @@
{
"service": "pics",
-- "release": "7cbb43882172",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "59c8f5414db0",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.pics/sitemap.xml b/dist/openvibe.pics/sitemap.xml
iindex 36f2a5c..0982c71 100644
---- a/dist/openvibe.pics/sitemap.xml
++++ b/dist/openvibe.pics/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.pics/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.pics/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.pics/status.json b/dist/openvibe.pics/status.json
iindex ac3147f..025f459 100644
---- a/dist/openvibe.pics/status.json
++++ b/dist/openvibe.pics/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the shared image upload and processing service",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.quest/index.html b/dist/openvibe.quest/index.html
iindex 29c2f94..fb9405b 100644
---- a/dist/openvibe.quest/index.html
++++ b/dist/openvibe.quest/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Quest — Quests across the whole network.">
<meta name="twitter:description" content="OpenVibe.Quest will be the network&#39;s shared quest and rewards system: quests that span every OpenVibe site, from a streamer&#39;s getting-started steps on OpenVibe.Live to community challenges, cosmetics and OpenCoins, moddable and open to anyone through the API.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.quest/#site","url":"https://openvibe.quest/","name":"OpenVibe.Quest","description":"OpenVibe.Quest will be the network's shared quest and rewards system: quests that span every OpenVibe site, from a streamer's getting-started steps on OpenVibe.Live to community challenges, cosmetics and OpenCoins, moddable and open to anyone through the API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.quest/#page","url":"https://openvibe.quest/","name":"OpenVibe.Quest — Quests across the whole network.","description":"OpenVibe.Quest will be the network's shared quest and rewards system: quests that span every OpenVibe site, from a streamer's getting-started steps on OpenVibe.Live to community challenges, cosmetics and OpenCoins, moddable and open to anyone through the API.","isPartOf":{"@id":"https://openvibe.quest/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Quest","item":"https://openvibe.quest/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.quest/#site","url":"https://openvibe.quest/","name":"OpenVibe.Quest","description":"OpenVibe.Quest will be the network's shared quest and rewards system: quests that span every OpenVibe site, from a streamer's getting-started steps on OpenVibe.Live to community challenges, cosmetics and OpenCoins, moddable and open to anyone through the API.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.quest/#page","url":"https://openvibe.quest/","name":"OpenVibe.Quest — Quests across the whole network.","description":"OpenVibe.Quest will be the network's shared quest and rewards system: quests that span every OpenVibe site, from a streamer's getting-started steps on OpenVibe.Live to community challenges, cosmetics and OpenCoins, moddable and open to anyone through the API.","isPartOf":{"@id":"https://openvibe.quest/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Quest","item":"https://openvibe.quest/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.quest/release.json b/dist/openvibe.quest/release.json
iindex 559357d..f4930a5 100644
---- a/dist/openvibe.quest/release.json
++++ b/dist/openvibe.quest/release.json
@@@ -1,7 +1,7 @@
{
"service": "quest",
-- "release": "13c554575eea",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "9b56fb544796",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.quest/sitemap.xml b/dist/openvibe.quest/sitemap.xml
iindex 6ad664e..aa2d3b0 100644
---- a/dist/openvibe.quest/sitemap.xml
++++ b/dist/openvibe.quest/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.quest/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.quest/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.quest/status.json b/dist/openvibe.quest/status.json
iindex 5995ebe..496f645 100644
---- a/dist/openvibe.quest/status.json
++++ b/dist/openvibe.quest/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the shared quest service",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.rent/index.html b/dist/openvibe.rent/index.html
iindex b01095a..492b5ff 100644
---- a/dist/openvibe.rent/index.html
++++ b/dist/openvibe.rent/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Rent — Every rental, one search.">
<meta name="twitter:description" content="OpenVibe.Rent will bring rentals into one place: apartments, rooms, commercial space, equipment and services from many listing sites, with alerts, AI summaries that link their sources, and one OpenVibe account for your searches.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.rent/#site","url":"https://openvibe.rent/","name":"OpenVibe.Rent","description":"OpenVibe.Rent will bring rentals into one place: apartments, rooms, commercial space, equipment and services from many listing sites, with alerts, AI summaries that link their sources, and one OpenVibe account for your searches.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.rent/#page","url":"https://openvibe.rent/","name":"OpenVibe.Rent — Every rental, one search.","description":"OpenVibe.Rent will bring rentals into one place: apartments, rooms, commercial space, equipment and services from many listing sites, with alerts, AI summaries that link their sources, and one OpenVibe account for your searches.","isPartOf":{"@id":"https://openvibe.rent/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Rent","item":"https://openvibe.rent/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.rent/#site","url":"https://openvibe.rent/","name":"OpenVibe.Rent","description":"OpenVibe.Rent will bring rentals into one place: apartments, rooms, commercial space, equipment and services from many listing sites, with alerts, AI summaries that link their sources, and one OpenVibe account for your searches.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.rent/#page","url":"https://openvibe.rent/","name":"OpenVibe.Rent — Every rental, one search.","description":"OpenVibe.Rent will bring rentals into one place: apartments, rooms, commercial space, equipment and services from many listing sites, with alerts, AI summaries that link their sources, and one OpenVibe account for your searches.","isPartOf":{"@id":"https://openvibe.rent/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Rent","item":"https://openvibe.rent/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.rent/release.json b/dist/openvibe.rent/release.json
iindex 795f1df..2522f91 100644
---- a/dist/openvibe.rent/release.json
++++ b/dist/openvibe.rent/release.json
@@@ -1,7 +1,7 @@
{
"service": "rent",
-- "release": "d3d9c004a122",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "fa9d37f107a1",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.rent/sitemap.xml b/dist/openvibe.rent/sitemap.xml
iindex 1c3d987..03c48e6 100644
---- a/dist/openvibe.rent/sitemap.xml
++++ b/dist/openvibe.rent/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.rent/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.rent/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.rent/status.json b/dist/openvibe.rent/status.json
iindex 3354a8e..61a62f4 100644
---- a/dist/openvibe.rent/status.json
++++ b/dist/openvibe.rent/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "verified listing sources and the shared discovery system",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.reviews/index.html b/dist/openvibe.reviews/index.html
iindex 029e00e..594c1d7 100644
---- a/dist/openvibe.reviews/index.html
++++ b/dist/openvibe.reviews/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Reviews — What people actually say.">
<meta name="twitter:description" content="OpenVibe.Reviews gathers what people say about products, services, employers, hosts and communities across many sources — with provenance, without fake ratings — and lets the community discuss it.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.reviews/#site","url":"https://openvibe.reviews/","name":"OpenVibe.Reviews","description":"OpenVibe.Reviews gathers what people say about products, services, employers, hosts and communities across many sources — with provenance, without fake ratings — and lets the community discuss it.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.reviews/#page","url":"https://openvibe.reviews/","name":"OpenVibe.Reviews — What people actually say.","description":"OpenVibe.Reviews gathers what people say about products, services, employers, hosts and communities across many sources — with provenance, without fake ratings — and lets the community discuss it.","isPartOf":{"@id":"https://openvibe.reviews/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Reviews","item":"https://openvibe.reviews/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.reviews/#site","url":"https://openvibe.reviews/","name":"OpenVibe.Reviews","description":"OpenVibe.Reviews gathers what people say about products, services, employers, hosts and communities across many sources — with provenance, without fake ratings — and lets the community discuss it.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.reviews/#page","url":"https://openvibe.reviews/","name":"OpenVibe.Reviews — What people actually say.","description":"OpenVibe.Reviews gathers what people say about products, services, employers, hosts and communities across many sources — with provenance, without fake ratings — and lets the community discuss it.","isPartOf":{"@id":"https://openvibe.reviews/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Reviews","item":"https://openvibe.reviews/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.reviews/release.json b/dist/openvibe.reviews/release.json
iindex d837475..eab3a43 100644
---- a/dist/openvibe.reviews/release.json
++++ b/dist/openvibe.reviews/release.json
@@@ -1,7 +1,7 @@
{
"service": "reviews",
-- "release": "59eb15ee1486",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "31d2c8942823",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.reviews/sitemap.xml b/dist/openvibe.reviews/sitemap.xml
iindex c03808c..9b42b1a 100644
---- a/dist/openvibe.reviews/sitemap.xml
++++ b/dist/openvibe.reviews/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.reviews/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.reviews/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.reviews/status.json b/dist/openvibe.reviews/status.json
iindex 4c6a0b9..3149b80 100644
---- a/dist/openvibe.reviews/status.json
++++ b/dist/openvibe.reviews/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a person to verify a review source's terms and an editor to publish the first reviewed summary",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.run/index.html b/dist/openvibe.run/index.html
iindex 51dc1fb..2dcbaf1 100644
---- a/dist/openvibe.run/index.html
++++ b/dist/openvibe.run/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Run — Run anything, safely.">
<meta name="twitter:description" content="OpenVibe.Run will run code, tools and AI agent tasks in sandboxes: quick jobs in WebAssembly, full environments in small virtual machines, with queued jobs, live output, and files through OpenVibe.Download. A free, limited tier for everyone, and the engine the rest of the network uses to get work done.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.run/#site","url":"https://openvibe.run/","name":"OpenVibe.Run","description":"OpenVibe.Run will run code, tools and AI agent tasks in sandboxes: quick jobs in WebAssembly, full environments in small virtual machines, with queued jobs, live output, and files through OpenVibe.Download. A free, limited tier for everyone, and the engine the rest of the network uses to get work done.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.run/#page","url":"https://openvibe.run/","name":"OpenVibe.Run — Run anything, safely.","description":"OpenVibe.Run will run code, tools and AI agent tasks in sandboxes: quick jobs in WebAssembly, full environments in small virtual machines, with queued jobs, live output, and files through OpenVibe.Download. A free, limited tier for everyone, and the engine the rest of the network uses to get work done.","isPartOf":{"@id":"https://openvibe.run/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Run","item":"https://openvibe.run/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.run/#site","url":"https://openvibe.run/","name":"OpenVibe.Run","description":"OpenVibe.Run will run code, tools and AI agent tasks in sandboxes: quick jobs in WebAssembly, full environments in small virtual machines, with queued jobs, live output, and files through OpenVibe.Download. A free, limited tier for everyone, and the engine the rest of the network uses to get work done.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.run/#page","url":"https://openvibe.run/","name":"OpenVibe.Run — Run anything, safely.","description":"OpenVibe.Run will run code, tools and AI agent tasks in sandboxes: quick jobs in WebAssembly, full environments in small virtual machines, with queued jobs, live output, and files through OpenVibe.Download. A free, limited tier for everyone, and the engine the rest of the network uses to get work done.","isPartOf":{"@id":"https://openvibe.run/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Run","item":"https://openvibe.run/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.rent/"><i class="fa-solid fa-key" aria-hidden="true"></i>OpenVibe.Rent</a>
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.run/release.json b/dist/openvibe.run/release.json
iindex aae6d1f..f79e3f3 100644
---- a/dist/openvibe.run/release.json
++++ b/dist/openvibe.run/release.json
@@@ -1,7 +1,7 @@
{
"service": "run",
-- "release": "991a20968c60",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "8b186ff877ef",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.run/sitemap.xml b/dist/openvibe.run/sitemap.xml
iindex 5d95c0a..884f824 100644
---- a/dist/openvibe.run/sitemap.xml
++++ b/dist/openvibe.run/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.run/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.run/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.run/status.json b/dist/openvibe.run/status.json
iindex 46516ef..c2d8f4b 100644
---- a/dist/openvibe.run/status.json
++++ b/dist/openvibe.run/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the sandbox runtime",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.services/index.html b/dist/openvibe.services/index.html
iindex a272191..3cecd21 100644
---- a/dist/openvibe.services/index.html
++++ b/dist/openvibe.services/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Services — Build with the whole network.">
<meta name="twitter:description" content="OpenVibe.Services will be the way into everything programmable on OpenVibe. Start from what you want to build (monitor a page and summarise changes, run an AI agent, process uploads, control a robot, add support to a site) and it assembles the services, keys, permissions and working code for you. Then operate it all in one place: projects, grants, usage, quotas, runs, events, deploys and health, with each service keeping its own data.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.services/#site","url":"https://openvibe.services/","name":"OpenVibe.Services","description":"OpenVibe.Services will be the way into everything programmable on OpenVibe. Start from what you want to build (monitor a page and summarise changes, run an AI agent, process uploads, control a robot, add support to a site) and it assembles the services, keys, permissions and working code for you. Then operate it all in one place: projects, grants, usage, quotas, runs, events, deploys and health, with each service keeping its own data.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.services/#page","url":"https://openvibe.services/","name":"OpenVibe.Services — Build with the whole network.","description":"OpenVibe.Services will be the way into everything programmable on OpenVibe. Start from what you want to build (monitor a page and summarise changes, run an AI agent, process uploads, control a robot, add support to a site) and it assembles the services, keys, permissions and working code for you. Then operate it all in one place: projects, grants, usage, quotas, runs, events, deploys and health, with each service keeping its own data.","isPartOf":{"@id":"https://openvibe.services/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Services","item":"https://openvibe.services/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.services/#site","url":"https://openvibe.services/","name":"OpenVibe.Services","description":"OpenVibe.Services will be the way into everything programmable on OpenVibe. Start from what you want to build (monitor a page and summarise changes, run an AI agent, process uploads, control a robot, add support to a site) and it assembles the services, keys, permissions and working code for you. Then operate it all in one place: projects, grants, usage, quotas, runs, events, deploys and health, with each service keeping its own data.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.services/#page","url":"https://openvibe.services/","name":"OpenVibe.Services — Build with the whole network.","description":"OpenVibe.Services will be the way into everything programmable on OpenVibe. Start from what you want to build (monitor a page and summarise changes, run an AI agent, process uploads, control a robot, add support to a site) and it assembles the services, keys, permissions and working code for you. Then operate it all in one place: projects, grants, usage, quotas, runs, events, deploys and health, with each service keeping its own data.","isPartOf":{"@id":"https://openvibe.services/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Services","item":"https://openvibe.services/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.rent/"><i class="fa-solid fa-key" aria-hidden="true"></i>OpenVibe.Rent</a>
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.services/release.json b/dist/openvibe.services/release.json
iindex e907bce..09b828e 100644
---- a/dist/openvibe.services/release.json
++++ b/dist/openvibe.services/release.json
@@@ -1,7 +1,7 @@
{
"service": "services",
-- "release": "d59da901e247",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "a3766a003e2c",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.services/sitemap.xml b/dist/openvibe.services/sitemap.xml
iindex 4549c7b..53f6a9f 100644
---- a/dist/openvibe.services/sitemap.xml
++++ b/dist/openvibe.services/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.services/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.services/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.services/status.json b/dist/openvibe.services/status.json
iindex 5790de0..3f04f7c 100644
---- a/dist/openvibe.services/status.json
++++ b/dist/openvibe.services/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the catalog and console over the services that already run (AI, Events, Media, Search, Sources, Host, Tools)",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.space/index.html b/dist/openvibe.space/index.html
iindex 9fe2779..a26fee8 100644
---- a/dist/openvibe.space/index.html
++++ b/dist/openvibe.space/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Space — Start a forum for anything.">
<meta name="twitter:description" content="OpenVibe.Space will be the forums of the OpenVibe network: create a forum for any topic, with the depth of classic boards like XenForo and phpBB, the feel of a modern community, and AI help for topics, research and moderation. The forums on OpenVibe.Community move here when it launches.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.space/#site","url":"https://openvibe.space/","name":"OpenVibe.Space","description":"OpenVibe.Space will be the forums of the OpenVibe network: create a forum for any topic, with the depth of classic boards like XenForo and phpBB, the feel of a modern community, and AI help for topics, research and moderation. The forums on OpenVibe.Community move here when it launches.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.space/#page","url":"https://openvibe.space/","name":"OpenVibe.Space — Start a forum for anything.","description":"OpenVibe.Space will be the forums of the OpenVibe network: create a forum for any topic, with the depth of classic boards like XenForo and phpBB, the feel of a modern community, and AI help for topics, research and moderation. The forums on OpenVibe.Community move here when it launches.","isPartOf":{"@id":"https://openvibe.space/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Space","item":"https://openvibe.space/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.space/#site","url":"https://openvibe.space/","name":"OpenVibe.Space","description":"OpenVibe.Space will be the forums of the OpenVibe network: create a forum for any topic, with the depth of classic boards like XenForo and phpBB, the feel of a modern community, and AI help for topics, research and moderation. The forums on OpenVibe.Community move here when it launches.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.space/#page","url":"https://openvibe.space/","name":"OpenVibe.Space — Start a forum for anything.","description":"OpenVibe.Space will be the forums of the OpenVibe network: create a forum for any topic, with the depth of classic boards like XenForo and phpBB, the feel of a modern community, and AI help for topics, research and moderation. The forums on OpenVibe.Community move here when it launches.","isPartOf":{"@id":"https://openvibe.space/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Space","item":"https://openvibe.space/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.space/release.json b/dist/openvibe.space/release.json
iindex b35026c..f9ea24c 100644
---- a/dist/openvibe.space/release.json
++++ b/dist/openvibe.space/release.json
@@@ -1,7 +1,7 @@
{
"service": "space",
-- "release": "7b78873f7f1a",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "9f09bf95808c",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.space/sitemap.xml b/dist/openvibe.space/sitemap.xml
iindex 3927fc8..7ac7606 100644
---- a/dist/openvibe.space/sitemap.xml
++++ b/dist/openvibe.space/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.space/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.space/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.space/status.json b/dist/openvibe.space/status.json
iindex ec8cdec..480a18f 100644
---- a/dist/openvibe.space/status.json
++++ b/dist/openvibe.space/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the forum engine moving over from OpenVibe.Community",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.tips/index.html b/dist/openvibe.tips/index.html
iindex 744805d..3d7eb7d 100644
---- a/dist/openvibe.tips/index.html
++++ b/dist/openvibe.tips/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Tips — Support the people you watch.">
<meta name="twitter:description" content="OpenVibe.Tips is the tipping and alerts layer of the OpenVibe network: tips, donation goals, superchats, paid text-to-speech and media requests, with alert overlays for creators.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.tips/#site","url":"https://openvibe.tips/","name":"OpenVibe.Tips","description":"OpenVibe.Tips is the tipping and alerts layer of the OpenVibe network: tips, donation goals, superchats, paid text-to-speech and media requests, with alert overlays for creators.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.tips/#page","url":"https://openvibe.tips/","name":"OpenVibe.Tips — Support the people you watch.","description":"OpenVibe.Tips is the tipping and alerts layer of the OpenVibe network: tips, donation goals, superchats, paid text-to-speech and media requests, with alert overlays for creators.","isPartOf":{"@id":"https://openvibe.tips/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Tips","item":"https://openvibe.tips/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.tips/#site","url":"https://openvibe.tips/","name":"OpenVibe.Tips","description":"OpenVibe.Tips is the tipping and alerts layer of the OpenVibe network: tips, donation goals, superchats, paid text-to-speech and media requests, with alert overlays for creators.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.tips/#page","url":"https://openvibe.tips/","name":"OpenVibe.Tips — Support the people you watch.","description":"OpenVibe.Tips is the tipping and alerts layer of the OpenVibe network: tips, donation goals, superchats, paid text-to-speech and media requests, with alert overlays for creators.","isPartOf":{"@id":"https://openvibe.tips/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Tips","item":"https://openvibe.tips/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.tips/release.json b/dist/openvibe.tips/release.json
iindex 9280efe..0807f88 100644
---- a/dist/openvibe.tips/release.json
++++ b/dist/openvibe.tips/release.json
@@@ -1,7 +1,7 @@
{
"service": "tips",
-- "release": "f8cf93fd2abb",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "7e444c970c76",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.tips/sitemap.xml b/dist/openvibe.tips/sitemap.xml
iindex 7f75d51..6fcd290 100644
---- a/dist/openvibe.tips/sitemap.xml
++++ b/dist/openvibe.tips/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.tips/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.tips/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.tips/status.json b/dist/openvibe.tips/status.json
iindex 7046e84..c00c32d 100644
---- a/dist/openvibe.tips/status.json
++++ b/dist/openvibe.tips/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "the payments cutover to OpenVibe.Billing and a security review; tips keep working on OpenVibe.Live meanwhile",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.trade/index.html b/dist/openvibe.trade/index.html
iindex 2abedcd..7d64818 100644
---- a/dist/openvibe.trade/index.html
++++ b/dist/openvibe.trade/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Trade — Watch, discuss, decide.">
<meta name="twitter:description" content="OpenVibe.Trade is the market intelligence room of the OpenVibe network: watchlists, alerts, summaries and community discussion for markets, collectibles and deals — information and tools, never advice.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.trade/#site","url":"https://openvibe.trade/","name":"OpenVibe.Trade","description":"OpenVibe.Trade is the market intelligence room of the OpenVibe network: watchlists, alerts, summaries and community discussion for markets, collectibles and deals — information and tools, never advice.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.trade/#page","url":"https://openvibe.trade/","name":"OpenVibe.Trade — Watch, discuss, decide.","description":"OpenVibe.Trade is the market intelligence room of the OpenVibe network: watchlists, alerts, summaries and community discussion for markets, collectibles and deals — information and tools, never advice.","isPartOf":{"@id":"https://openvibe.trade/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Trade","item":"https://openvibe.trade/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.trade/#site","url":"https://openvibe.trade/","name":"OpenVibe.Trade","description":"OpenVibe.Trade is the market intelligence room of the OpenVibe network: watchlists, alerts, summaries and community discussion for markets, collectibles and deals — information and tools, never advice.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.trade/#page","url":"https://openvibe.trade/","name":"OpenVibe.Trade — Watch, discuss, decide.","description":"OpenVibe.Trade is the market intelligence room of the OpenVibe network: watchlists, alerts, summaries and community discussion for markets, collectibles and deals — information and tools, never advice.","isPartOf":{"@id":"https://openvibe.trade/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Trade","item":"https://openvibe.trade/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.trade/release.json b/dist/openvibe.trade/release.json
iindex a1b5cd7..4ce4cf1 100644
---- a/dist/openvibe.trade/release.json
++++ b/dist/openvibe.trade/release.json
@@@ -1,7 +1,7 @@
{
"service": "trade",
-- "release": "79714d6af69e",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "7becc8767002",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.trade/sitemap.xml b/dist/openvibe.trade/sitemap.xml
iindex 741cba4..1d722d4 100644
---- a/dist/openvibe.trade/sitemap.xml
++++ b/dist/openvibe.trade/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.trade/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.trade/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.trade/status.json b/dist/openvibe.trade/status.json
iindex 35807e8..bd5b1ed 100644
---- a/dist/openvibe.trade/status.json
++++ b/dist/openvibe.trade/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "a verified data source and editors adding the first instruments",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.video/index.html b/dist/openvibe.video/index.html
iindex b8c4c2f..5e817df 100644
---- a/dist/openvibe.video/index.html
++++ b/dist/openvibe.video/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Video — Your videos, everywhere.">
<meta name="twitter:description" content="OpenVibe.Video will be the home of long-form video on the OpenVibe network: watch pages, channels and playlists for uploads and past streams, a creator tool that publishes one upload to many platforms, and AI captions, highlights and editing, delivered by OpenVibe.Media.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.video/#site","url":"https://openvibe.video/","name":"OpenVibe.Video","description":"OpenVibe.Video will be the home of long-form video on the OpenVibe network: watch pages, channels and playlists for uploads and past streams, a creator tool that publishes one upload to many platforms, and AI captions, highlights and editing, delivered by OpenVibe.Media.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.video/#page","url":"https://openvibe.video/","name":"OpenVibe.Video — Your videos, everywhere.","description":"OpenVibe.Video will be the home of long-form video on the OpenVibe network: watch pages, channels and playlists for uploads and past streams, a creator tool that publishes one upload to many platforms, and AI captions, highlights and editing, delivered by OpenVibe.Media.","isPartOf":{"@id":"https://openvibe.video/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Video","item":"https://openvibe.video/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.video/#site","url":"https://openvibe.video/","name":"OpenVibe.Video","description":"OpenVibe.Video will be the home of long-form video on the OpenVibe network: watch pages, channels and playlists for uploads and past streams, a creator tool that publishes one upload to many platforms, and AI captions, highlights and editing, delivered by OpenVibe.Media.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.video/#page","url":"https://openvibe.video/","name":"OpenVibe.Video — Your videos, everywhere.","description":"OpenVibe.Video will be the home of long-form video on the OpenVibe network: watch pages, channels and playlists for uploads and past streams, a creator tool that publishes one upload to many platforms, and AI captions, highlights and editing, delivered by OpenVibe.Media.","isPartOf":{"@id":"https://openvibe.video/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Video","item":"https://openvibe.video/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -221,6 +221,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
<a href="https://openvibe.bot/"><i class="fa-solid fa-robot" aria-hidden="true"></i>OpenVibe.Bot</a>
ddiff --git a/dist/openvibe.video/release.json b/dist/openvibe.video/release.json
iindex 3c60a29..0327746 100644
---- a/dist/openvibe.video/release.json
++++ b/dist/openvibe.video/release.json
@@@ -1,7 +1,7 @@
{
"service": "video",
-- "release": "1bea444871e9",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "b1cf3c7e504c",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.video/sitemap.xml b/dist/openvibe.video/sitemap.xml
iindex 34cc5fe..eeae36e 100644
---- a/dist/openvibe.video/sitemap.xml
++++ b/dist/openvibe.video/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.video/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.video/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.video/status.json b/dist/openvibe.video/status.json
iindex b347a48..ad1dc40 100644
---- a/dist/openvibe.video/status.json
++++ b/dist/openvibe.video/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the video service on OpenVibe.Media",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.vip/index.html b/dist/openvibe.vip/index.html
iindex 3eac917..c165569 100644
---- a/dist/openvibe.vip/index.html
++++ b/dist/openvibe.vip/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.VIP — Memberships, network-wide.">
<meta name="twitter:description" content="OpenVibe.VIP is the membership layer of the OpenVibe network: creator memberships, channel subscriptions, VIP tiers and perks that unlock across Live, Community, Blog and more.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.vip/#site","url":"https://openvibe.vip/","name":"OpenVibe.VIP","description":"OpenVibe.VIP is the membership layer of the OpenVibe network: creator memberships, channel subscriptions, VIP tiers and perks that unlock across Live, Community, Blog and more.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.vip/#page","url":"https://openvibe.vip/","name":"OpenVibe.VIP — Memberships, network-wide.","description":"OpenVibe.VIP is the membership layer of the OpenVibe network: creator memberships, channel subscriptions, VIP tiers and perks that unlock across Live, Community, Blog and more.","isPartOf":{"@id":"https://openvibe.vip/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.VIP","item":"https://openvibe.vip/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.vip/#site","url":"https://openvibe.vip/","name":"OpenVibe.VIP","description":"OpenVibe.VIP is the membership layer of the OpenVibe network: creator memberships, channel subscriptions, VIP tiers and perks that unlock across Live, Community, Blog and more.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.vip/#page","url":"https://openvibe.vip/","name":"OpenVibe.VIP — Memberships, network-wide.","description":"OpenVibe.VIP is the membership layer of the OpenVibe network: creator memberships, channel subscriptions, VIP tiers and perks that unlock across Live, Community, Blog and more.","isPartOf":{"@id":"https://openvibe.vip/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.VIP","item":"https://openvibe.vip/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.vip/release.json b/dist/openvibe.vip/release.json
iindex 7e432e4..51ba4d9 100644
---- a/dist/openvibe.vip/release.json
++++ b/dist/openvibe.vip/release.json
@@@ -1,7 +1,7 @@
{
"service": "vip",
-- "release": "12d281ba19f1",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "0a53a56172ca",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.vip/sitemap.xml b/dist/openvibe.vip/sitemap.xml
iindex ae6f075..144cf0c 100644
---- a/dist/openvibe.vip/sitemap.xml
++++ b/dist/openvibe.vip/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.vip/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.vip/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.vip/status.json b/dist/openvibe.vip/status.json
iindex 7226386..1491c1d 100644
---- a/dist/openvibe.vip/status.json
++++ b/dist/openvibe.vip/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": "the payments cutover to OpenVibe.Billing; checkout stays closed until then",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.watch/index.html b/dist/openvibe.watch/index.html
iindex 21394ae..4701e63 100644
---- a/dist/openvibe.watch/index.html
++++ b/dist/openvibe.watch/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Watch — Watch anything. Hear about what matters.">
<meta name="twitter:description" content="OpenVibe.Watch will watch web pages, feeds, APIs, prices and stock, Git releases, OpenVibe activity, videos, livestreams and your own cameras, pull out what changed or what matters, and tell you, your apps or your AI agents. Checks respect site terms and robots rules, heavy work runs on shared workers, and cameras are read by a small agent on your own network so nothing is exposed to the internet.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.watch/#site","url":"https://openvibe.watch/","name":"OpenVibe.Watch","description":"OpenVibe.Watch will watch web pages, feeds, APIs, prices and stock, Git releases, OpenVibe activity, videos, livestreams and your own cameras, pull out what changed or what matters, and tell you, your apps or your AI agents. Checks respect site terms and robots rules, heavy work runs on shared workers, and cameras are read by a small agent on your own network so nothing is exposed to the internet.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.watch/#page","url":"https://openvibe.watch/","name":"OpenVibe.Watch — Watch anything. Hear about what matters.","description":"OpenVibe.Watch will watch web pages, feeds, APIs, prices and stock, Git releases, OpenVibe activity, videos, livestreams and your own cameras, pull out what changed or what matters, and tell you, your apps or your AI agents. Checks respect site terms and robots rules, heavy work runs on shared workers, and cameras are read by a small agent on your own network so nothing is exposed to the internet.","isPartOf":{"@id":"https://openvibe.watch/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Watch","item":"https://openvibe.watch/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.watch/#site","url":"https://openvibe.watch/","name":"OpenVibe.Watch","description":"OpenVibe.Watch will watch web pages, feeds, APIs, prices and stock, Git releases, OpenVibe activity, videos, livestreams and your own cameras, pull out what changed or what matters, and tell you, your apps or your AI agents. Checks respect site terms and robots rules, heavy work runs on shared workers, and cameras are read by a small agent on your own network so nothing is exposed to the internet.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.watch/#page","url":"https://openvibe.watch/","name":"OpenVibe.Watch — Watch anything. Hear about what matters.","description":"OpenVibe.Watch will watch web pages, feeds, APIs, prices and stock, Git releases, OpenVibe activity, videos, livestreams and your own cameras, pull out what changed or what matters, and tell you, your apps or your AI agents. Checks respect site terms and robots rules, heavy work runs on shared workers, and cameras are read by a small agent on your own network so nothing is exposed to the internet.","isPartOf":{"@id":"https://openvibe.watch/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Watch","item":"https://openvibe.watch/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -221,6 +221,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/openvibe.watch/release.json b/dist/openvibe.watch/release.json
iindex dac6d35..01506bd 100644
---- a/dist/openvibe.watch/release.json
++++ b/dist/openvibe.watch/release.json
@@@ -1,7 +1,7 @@
{
"service": "watch",
-- "release": "f1bb66bd706f",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "0c56ce9fba75",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.watch/sitemap.xml b/dist/openvibe.watch/sitemap.xml
iindex 08269bd..5b56c3b 100644
---- a/dist/openvibe.watch/sitemap.xml
++++ b/dist/openvibe.watch/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.watch/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.watch/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.watch/status.json b/dist/openvibe.watch/status.json
iindex ef1ac72..3d03bc1 100644
---- a/dist/openvibe.watch/status.json
++++ b/dist/openvibe.watch/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "the watch service on the shared queue and workers",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.website/index.html b/dist/openvibe.website/index.html
iindex 24dd978..9723094 100644
---- a/dist/openvibe.website/index.html
++++ b/dist/openvibe.website/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Website — Websites that work, not just pages.">
<meta name="twitter:description" content="OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.website/#site","url":"https://openvibe.website/","name":"OpenVibe.Website","description":"OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.website/#page","url":"https://openvibe.website/","name":"OpenVibe.Website — Websites that work, not just pages.","description":"OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.","isPartOf":{"@id":"https://openvibe.website/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Website","item":"https://openvibe.website/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.website/#site","url":"https://openvibe.website/","name":"OpenVibe.Website","description":"OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.website/#page","url":"https://openvibe.website/","name":"OpenVibe.Website — Websites that work, not just pages.","description":"OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.","isPartOf":{"@id":"https://openvibe.website/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Website","item":"https://openvibe.website/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -221,6 +221,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
<a href="https://openvibe.bot/"><i class="fa-solid fa-robot" aria-hidden="true"></i>OpenVibe.Bot</a>
ddiff --git a/dist/openvibe.website/release.json b/dist/openvibe.website/release.json
iindex aaf1e7e..21e433b 100644
---- a/dist/openvibe.website/release.json
++++ b/dist/openvibe.website/release.json
@@@ -1,7 +1,7 @@
{
"service": "website",
-- "release": "5acbba827178",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "b8a264ee0fae",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/openvibe.website/sitemap.xml b/dist/openvibe.website/sitemap.xml
iindex 93f9d3e..6fff435 100644
---- a/dist/openvibe.website/sitemap.xml
++++ b/dist/openvibe.website/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://openvibe.website/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.website/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.website/status.json b/dist/openvibe.website/status.json
iindex 740e3cb..4155864 100644
---- a/dist/openvibe.website/status.json
++++ b/dist/openvibe.website/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": "tenant hosting on OpenVibe.Host (built, not launched) and the editor",
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.work/404.html b/dist/openvibe.work/404.html
nnew file mode 100644
iindex 0000000..8cbafe0
---- /dev/null
++++ b/dist/openvibe.work/404.html
@@@ -0,0 +1,35 @@
++<!DOCTYPE html>
++<html lang="en">
++<head>
++<meta charset="utf-8">
++<meta name="viewport" content="width=device-width, initial-scale=1">
++<title>Not found · OpenVibe.Work</title>
++<meta name="robots" content="noindex">
++<meta name="theme-color" content="#34d399">
++<link rel="icon" type="image/svg+xml" data-ov-icon="network" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-32%20-32%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22ring%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232563eb%22%2F%3E%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%22.34%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22bg%22%20cx%3D%22.5%22%20cy%3D%22.38%22%20r%3D%22.8%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2316223a%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230a0f1c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23060912%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-32%22%20y%3D%22-32%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22url(%23bg)%22%2F%3E%3Cg%20transform%3D%22scale(1.22)%22%3E%0A%3Ccircle%20r%3D%2221%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20r%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224%22%20opacity%3D%22.38%22%2F%3E%0A%3Cpath%20d%3D%22M0%2C-18%20A18%2C18%200%200%2C1%2017.4%2C4.6%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M-9.5%2C-7%20L0%2C10%20L9.5%2C-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%224.6%22%20r%3D%223.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
++<style id="ov-critical">html{background:#0a0f1c;color:#e6edf7;color-scheme:dark}</style><script>(function(){try{var r=localStorage.getItem('ov_theme');if(!r)return;var t=JSON.parse(r),v=t&&t.variables;if(!v)return;var e=document.documentElement;for(var k in v)if(k.charAt(0)==='-')e.style.setProperty(k,v[k]);if(v['--bg-primary'])e.style.background=v['--bg-primary'];if(v['--text-primary'])e.style.color=v['--text-primary'];if(v['--color-scheme']==='light'||v['--color-scheme']==='dark')e.style.colorScheme=v['--color-scheme'];if(t.id)e.setAttribute('data-theme',t.id)}catch(_){}})();</script>
++<style>
++*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
++:root{--bg-primary:#0a0f1c;--bg-secondary:#101828;--border:#1f2d47;--text-primary:#e6edf7;--text-secondary:#96a7c2;--site:#34d399}
++body{background:var(--bg-primary);color:var(--text-primary);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100vh;display:grid;place-items:center;padding:24px 16px}
++main{max-width:560px;text-align:center}
++.code{font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--site)}
++h1{font-size:clamp(28px,5vw,40px);font-weight:800;letter-spacing:-.8px;margin:10px 0 12px}
++p{color:var(--text-secondary);font-size:15px;line-height:1.65}
++.links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
++a{display:inline-block;padding:11px 18px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text-primary);background:var(--bg-secondary)}
++a:first-child{background:var(--site);border-color:var(--site);color:#0b0d10}
++</style>
++</head>
++<body>
++<main>
++ <p class="code">404</p>
++ <h1>This page does not exist</h1>
++ <p>openvibe.work has only its front page and legal pages for now. The address you followed is not one of them.</p>
++ <div class="links">
++ <a href="https://openvibe.work/">OpenVibe.Work</a>
++ <a href="https://openvibe.network/">OpenVibe.Network</a>
++ </div>
++</main>
++</body>
++</html>
ddiff --git a/dist/openvibe.work/dmca.html b/dist/openvibe.work/dmca.html
nnew file mode 100644
iindex 0000000..0bbd9e1
---- /dev/null
++++ b/dist/openvibe.work/dmca.html
@@@ -0,0 +1,109 @@
++<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
++<title>DMCA &amp; Copyright — OpenVibe.Work</title>
++<meta name="description" content="How to report copyright infringement on OpenVibe.Work, and how to respond to a report.">
++<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1">
++<link rel="canonical" href="https://openvibe.work/dmca">
++<meta property="og:type" content="article">
++<meta property="og:site_name" content="OpenVibe.Work">
++<meta property="og:title" content="DMCA &amp; Copyright — OpenVibe.Work">
++<meta property="og:description" content="How to report copyright infringement on OpenVibe.Work, and how to respond to a report.">
++<meta property="og:url" content="https://openvibe.work/dmca">
++<meta property="og:locale" content="en_US">
++<meta name="twitter:card" content="summary">
++<meta name="twitter:title" content="DMCA &amp; Copyright — OpenVibe.Work">
++<meta name="twitter:description" content="How to report copyright infringement on OpenVibe.Work, and how to respond to a report.">
++<link rel="icon" type="image/svg+xml" data-ov-icon="work" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-32%20-32%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22ring%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232563eb%22%2F%3E%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%22.34%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22bg%22%20cx%3D%22.5%22%20cy%3D%22.38%22%20r%3D%22.8%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2316223a%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230a0f1c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23060912%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-32%22%20y%3D%22-32%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22url(%23bg)%22%2F%3E%3Cg%20transform%3D%22scale(1.22)%22%3E%0A%3Ccircle%20r%3D%2221%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20r%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224%22%20opacity%3D%22.38%22%2F%3E%0A%3Cpath%20d%3D%22M0%2C-18%20A18%2C18%200%200%2C1%2017.4%2C4.6%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M-9.5%2C-7%20L0%2C10%20L9.5%2C-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%224.6%22%20r%3D%223.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
++<meta name="theme-color" content="#0d131d">
++<meta name="color-scheme" content="dark">
++<style id="ov-critical">html{background:#0a0f1c;color:#e6edf7;color-scheme:dark}</style><script>(function(){try{var r=localStorage.getItem('ov_theme');if(!r)return;var t=JSON.parse(r),v=t&&t.variables;if(!v)return;var e=document.documentElement;for(var k in v)if(k.charAt(0)==='-')e.style.setProperty(k,v[k]);if(v['--bg-primary'])e.style.background=v['--bg-primary'];if(v['--text-primary'])e.style.color=v['--text-primary'];if(v['--color-scheme']==='light'||v['--color-scheme']==='dark')e.style.colorScheme=v['--color-scheme'];if(t.id)e.setAttribute('data-theme',t.id)}catch(_){}})();</script>
++<script src="https://openvibe.network/shared/theme-loader.js" defer></script><style>*{box-sizing:border-box}body{margin:0;background:var(--bg-primary,#0a0f18);color:var(--text-primary,#e6edf7);font:400 16px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
++.ov-legal{max-width:760px;margin:0 auto;padding:40px 20px 24px}.ov-legal-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-light,var(--accent,#60a5fa))}
++.ov-legal h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px}.ov-legal-date{color:var(--text-muted,#7d8aa0);font-size:14px;margin:0 0 28px}
++.ov-legal-toc{margin:0 0 8px;padding:14px 18px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:12px;background:var(--bg-secondary,#111826)}.ov-legal-toc ol{margin:0;padding-left:20px;columns:2 220px;column-gap:28px}.ov-legal-toc li{margin:3px 0;font-size:14px;break-inside:avoid}.ov-legal-toc a{text-decoration:none}.ov-legal section{scroll-margin-top:80px}
++.ov-legal h2{font-size:19px;margin:30px 0 8px;letter-spacing:-.01em}.ov-legal p,.ov-legal li{color:var(--text-secondary,#a8b3c4)}.ov-legal li{margin:6px 0}.ov-legal b{color:var(--text-primary,#e6edf7)}
++.ov-legal a{color:var(--accent-light,var(--accent,#60a5fa))}.ov-legal code{font-size:13.5px;background:var(--bg-secondary,#111826);padding:1px 6px;border-radius:5px}
++.ov-legal-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,.1))}.ov-legal-more a{padding:8px 14px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}</style></head><body>
++<noscript><nav aria-label="Site" style="display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1);font:500 14px/1.4 system-ui,sans-serif"><a href="/" style="font-weight:700;color:inherit;text-decoration:none">OpenVibe.Work</a><span style="flex:1"></span><a href="https://openvibe.live/">Live</a><a href="https://openvibe.tools/">Tools</a><a href="https://openvibe.community/">Community</a><a href="https://openvibe.games/">Games</a><a href="https://openvibe.media/">Media</a><a href="https://openvibe.network/">Network</a></nav></noscript>
++<main><article class="ov-legal"><p class="ov-legal-kicker">OpenVibe.Work</p><h1>DMCA &amp; Copyright</h1><p class="ov-legal-date">Last updated <time datetime="2026-09-18">September 18, 2026</time></p>
++<nav class="ov-legal-toc" aria-label="On this page"><ol><li><a href="#s1">Our position</a></li><li><a href="#s2">Before you send a notice</a></li><li><a href="#s3">Send a takedown notice</a></li><li><a href="#s4">What happens next</a></li><li><a href="#s5">Repeat infringers and false claims</a></li><li><a href="#s6">Other complaints</a></li></ol></nav>
++<section><h2 id="s1">Our position</h2><p>OpenVibe.Work respects copyright and responds to clear notices of alleged infringement under the Digital Millennium Copyright Act (17 U.S.C. § 512). OpenVibe.Work currently publishes only its own material and does not host uploads from the public.</p></section>
++<section><h2 id="s2">Before you send a notice</h2><p>Consider whether the use is permitted, for example as fair use, commentary, criticism, or under a licence. Notices must come from the copyright owner or someone authorised to act for them. Misrepresentations in a notice carry legal liability.</p></section>
++<section><h2 id="s3">Send a takedown notice</h2><p>Email <a href="mailto:[email protected]">[email protected]</a> with all of the following:</p><ol><li>Your name, postal address, phone number and email address, and whom you represent.</li><li>The copyrighted work you say was infringed, or a representative list if there are several.</li><li>The exact URL on openvibe.work of each item you want removed. General descriptions, search results and channel links are not enough to find it.</li><li>A statement that you have a good-faith belief the use is not authorised by the copyright owner, its agent or the law.</li><li>A statement, under penalty of perjury, that the information is accurate and that you are the owner or authorised to act for the owner.</li><li>Your physical or electronic signature.</li></ol></section>
++<section><h2 id="s4">What happens next</h2><p>We remove or disable access to the material, tell the person who posted it, and give them a copy of your notice, including your contact details. We act on complete notices as quickly as we can, normally within a few business days. Incomplete notices get a reply saying what is missing.</p></section>
++<section><h2 id="s5">Repeat infringers and false claims</h2><p>Accounts that receive repeated valid notices lose the ability to post and, in appropriate circumstances, are terminated across the network. Knowingly false notices and counter-notices carry liability under § 512(f); we refuse notices that are clearly abusive or automated without review.</p></section>
++<section><h2 id="s6">Other complaints</h2><p>Trademark, privacy, impersonation, harassment and other non-copyright complaints go to the same address; say which kind of complaint it is and give the exact URL. Content that sexually exploits children should be reported to us immediately and to the <a href="https://report.cybertip.org/" rel="noopener">NCMEC CyberTipline</a> or your national hotline; we remove it and report it to the authorities.</p></section>
++<nav class="ov-legal-more" aria-label="Other policies"><a href="/terms">Terms of Service</a><a href="/privacy">Privacy Policy</a><a href="https://openvibe.network/">About OpenVibe</a></nav></article></main><style id="ovf-css">
++.ovf{background:var(--bg-secondary,#12131c);border-top:1px solid var(--border,rgba(255,255,255,.08));margin-top:40px;
++ padding:clamp(24px,4vw,40px) clamp(14px,4vw,32px) calc(clamp(20px,3vw,28px) + env(safe-area-inset-bottom,0px));}
++.ovf[data-variant="compact"]{margin-top:24px;padding:14px clamp(12px,3vw,24px) calc(14px + env(safe-area-inset-bottom,0px));}
++.ovf-inner{max-width:1240px;margin:0 auto}
++.ovf-inner--compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;text-align:center}
++.ovf-cols{display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:minmax(230px,1.6fr) repeat(auto-fit,minmax(120px,1fr));align-items:start}
++.ovf-col{display:flex;flex-direction:column;gap:8px;min-width:0}
++.ovf-col h3{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#8b93ad)}
++.ovf-col a{color:var(--text-secondary,#b6bdd2);font-size:.86rem;text-decoration:none;line-height:1.4;width:fit-content;transition:color .15s,transform .15s}
++.ovf-col a:hover{color:var(--accent,#60a5fa);transform:translateX(2px)}
++.ovf-more{font-weight:600;opacity:.85}.ovf-ic{flex:none;vertical-align:-.14em}.ovf-more .ovf-ic{font-size:.85em;margin-left:3px;transition:transform .15s}.ovf-more:hover .ovf-ic{transform:translateX(3px)}.ovf-social .ovf-ic{font-size:17px}.ovf-account-links .ovf-ic{font-size:1.05em;opacity:.85}
++.ovf-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary,#f1f4fb);font-size:1.05rem;font-weight:700;text-decoration:none}
++.ovf-brand--sm{font-size:.9rem}
++.ovf-tagline{margin:0;font-size:.82rem;line-height:1.55;color:var(--text-muted,#8b93ad);max-width:46ch}
++.ovf-social{display:flex;gap:8px;margin-top:4px}
++.ovf-social a{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--text-secondary,#b6bdd2);
++ background:var(--bg-tertiary,#1a1b28);border:1px solid var(--border,rgba(255,255,255,.08));font-size:.95rem;transition:color .15s,border-color .15s,transform .15s}
++.ovf-social a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-2px)}
++.ovf-account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;
++ margin-top:clamp(18px,2.5vw,26px);padding:10px 14px;border-radius:14px;
++ background:color-mix(in srgb, var(--accent,#60a5fa) 8%, var(--bg-tertiary,#1a1b28));
++ border:1px solid color-mix(in srgb, var(--accent,#60a5fa) 26%, var(--border,rgba(255,255,255,.08)));
++ animation:ovfIn .4s ease-out both}
++@keyframes ovfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
++.ovf-account-who{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary,#b6bdd2)}
++.ovf-account-who strong{color:var(--text-primary,#f1f4fb)}
++.ovf-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
++ background:var(--accent,#60a5fa);color:#fff;font-size:.7rem;font-weight:800;flex:none}
++.ovf-avatar img{width:100%;height:100%;object-fit:cover}
++.ovf-account-links{display:flex;flex-wrap:wrap;gap:6px}
++.ovf-account-links a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:600;
++ color:var(--text-secondary,#b6bdd2);background:var(--bg-secondary,#12131c);border:1px solid var(--border,rgba(255,255,255,.08));
++ text-decoration:none;transition:color .15s,border-color .15s,transform .15s}
++.ovf-account-links a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-1px)}
++.ovf-account-links i{font-size:.72rem;opacity:.8}
++.ovf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
++ margin-top:clamp(20px,3vw,30px);padding-top:16px;border-top:1px solid var(--border,rgba(255,255,255,.08));
++ padding-inline:clamp(0px, calc(84px - (100vw - 1240px) / 2), 84px)}
++.ovf-copy{color:var(--text-muted,#8b93ad);font-size:.78rem}
++.ovf-legal-inline,.ovf-compact-links{display:flex;flex-wrap:wrap;gap:14px}
++.ovf [hidden],.ovf-account[hidden]{display:none!important}
++.ovf .ovf-shipped.ov-shipped-latest{font-size:.76rem;padding:4px 12px;max-width:min(520px,100%);background:transparent}
++.ovf-legal-inline a,.ovf-compact-links a{color:var(--text-muted,#8b93ad);font-size:.78rem;text-decoration:none;transition:color .15s}
++.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
++.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
++@media (max-width:900px){.ovf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ovf-col--brand{grid-column:1/-1}}
++@media (max-width:560px){
++ .ovf{padding-bottom:calc(20px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf[data-variant="compact"]{padding-bottom:calc(14px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf-cols{gap:22px 16px}
++ .ovf-bar{justify-content:center;text-align:center;padding-inline:0}
++ .ovf-legal-inline{justify-content:center}
++ .ovf-account{flex-direction:column;align-items:flex-start}
++}
++@media (prefers-reduced-motion:reduce){.ovf-account{animation:none}.ovf-col a:hover,.ovf-social a:hover,.ovf-account-links a:hover{transform:none}}
++.ovf{-webkit-tap-highlight-color:transparent}
++:where(.ovf) :where(a,button):active{scale:.97}
++:where(.ovf) :where(a,button):focus-visible{outline:2px solid var(--accent-light,var(--accent,#3b82f6));outline-offset:2px;border-radius:4px}
++@media (prefers-reduced-motion:reduce){:where(.ovf) :where(a,button):active{scale:none;opacity:.82}}</style><footer id="ov-footer" class="ovf" data-variant="compact"><div class="ovf-inner ovf-inner--compact">
++ <a class="ovf-brand ovf-brand--sm" href="/"><span class="ov-mark" data-size="20"></span><span>OpenVibe.Network</span></a>
++ <nav class="ovf-compact-links" aria-label="Site links">
++
++ <a href="https://openvibe.network" target="_blank" rel="noopener">Network</a>
++ <a href="https://openvibe.network/updates?site=network">Updates</a>
++ <a href="https://openvibe.live/tos">Terms</a><a href="https://openvibe.live/privacy">Privacy</a><a href="https://openvibe.live/dmca">DMCA</a>
++ </nav>
++ <a class="ovf-shipped" data-ov-shipped="latest" data-service="network" href="https://openvibe.network/updates?site=network" hidden></a>
++ <span class="ovf-compact-meta">Open source · 2026</span>
++ </div></footer>
++<script src="https://openvibe.network/shared/navbar.js" defer></script><script src="https://openvibe.network/shared/footer.js" defer></script>
++<script>addEventListener('DOMContentLoaded',function(){var t=null;try{t=(document.cookie.match(/(?:^|; )ov_token=([^;]*)/)||[])[1]||localStorage.getItem('ov_token')}catch(e){}
++try{OpenVibeNavbar.init({service:"network",apiBase:'https://openvibe.network',token:t?decodeURIComponent(t):null})}catch(e){}
++try{OpenVibeFooter.init({service:"network",variant:'compact',mount:'#ov-footer',apiBase:'https://openvibe.network'})}catch(e){}});</script>
++</body></html>
\\ No newline at end of file
ddiff --git a/dist/openvibe.work/index.html b/dist/openvibe.work/index.html
nnew file mode 100644
iindex 0000000..009ce12
---- /dev/null
++++ b/dist/openvibe.work/index.html
@@@ -0,0 +1,341 @@
++<!DOCTYPE html>
++<html lang="en">
++<head>
++<meta charset="utf-8">
++<meta name="viewport" content="width=device-width, initial-scale=1">
++<title>OpenVibe.Work — Find work, with an agent on your side.</title>
++<meta name="description" content="OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.">
++<meta name="keywords" content="openvibe work, job search, job listings, job alerts, ai job application assistant">
++<meta name="robots" content="index, follow, max-image-preview:large">
++<meta name="theme-color" content="#34d399">
++<link rel="canonical" href="https://openvibe.work/">
++<link rel="icon" type="image/svg+xml" data-ov-icon="network" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-32%20-32%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22ring%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232563eb%22%2F%3E%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%22.34%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22bg%22%20cx%3D%22.5%22%20cy%3D%22.38%22%20r%3D%22.8%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2316223a%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230a0f1c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23060912%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-32%22%20y%3D%22-32%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22url(%23bg)%22%2F%3E%3Cg%20transform%3D%22scale(1.22)%22%3E%0A%3Ccircle%20r%3D%2221%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20r%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224%22%20opacity%3D%22.38%22%2F%3E%0A%3Cpath%20d%3D%22M0%2C-18%20A18%2C18%200%200%2C1%2017.4%2C4.6%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M-9.5%2C-7%20L0%2C10%20L9.5%2C-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%224.6%22%20r%3D%223.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
++<style id="ov-critical">html{background:#0a0f1c;color:#e6edf7;color-scheme:dark}</style><script>(function(){try{var r=localStorage.getItem('ov_theme');if(!r)return;var t=JSON.parse(r),v=t&&t.variables;if(!v)return;var e=document.documentElement;for(var k in v)if(k.charAt(0)==='-')e.style.setProperty(k,v[k]);if(v['--bg-primary'])e.style.background=v['--bg-primary'];if(v['--text-primary'])e.style.color=v['--text-primary'];if(v['--color-scheme']==='light'||v['--color-scheme']==='dark')e.style.colorScheme=v['--color-scheme'];if(t.id)e.setAttribute('data-theme',t.id)}catch(_){}})();</script>
++<link rel="manifest" href="/manifest.webmanifest">
++<link rel="alternate" type="text/html" hreflang="en" href="https://openvibe.work/">
++<meta property="og:type" content="website">
++<meta property="og:site_name" content="OpenVibe.Work">
++<meta property="og:url" content="https://openvibe.work/">
++<meta property="og:title" content="OpenVibe.Work — Find work, with an agent on your side.">
++<meta property="og:description" content="OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.">
++<meta property="og:image" content="https://openvibe.network/assets/logo-512.png">
++<meta property="og:image:alt" content="OpenVibe">
++<meta name="twitter:card" content="summary">
++<meta name="twitter:title" content="OpenVibe.Work — Find work, with an agent on your side.">
++<meta name="twitter:description" content="OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.">
++<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.work/#site","url":"https://openvibe.work/","name":"OpenVibe.Work","description":"OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openvibe.work/#page","url":"https://openvibe.work/","name":"OpenVibe.Work — Find work, with an agent on your side.","description":"OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.","isPartOf":{"@id":"https://openvibe.work/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Work","item":"https://openvibe.work/"}]}}]}</script>
++<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
++<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
++<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
++<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" media="print" onload="this.media='all'">
++<noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"></noscript>
++<style>
++*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
++:root{--bg-primary:#0a0f1c;--bg-secondary:#101828;--bg-card:#131c2e;--bg-hover:#1c2a44;--border:#1f2d47;--text-primary:#e6edf7;--text-secondary:#96a7c2;--text-muted:#7386a3;--accent:#3b82f6;--accent-light:#60a5fa;--accent-rgb:59,130,246;--on-accent:#fff;--site:#34d399;--site-rgb:52,211,153}
++html{scroll-behavior:smooth}
++body{background:var(--bg-primary);color:var(--text-primary);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
++main{flex:1;position:relative}
++.orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
++.orbs i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.16;animation:drift 26s ease-in-out infinite alternate}
++.orbs i:nth-child(1){width:420px;height:420px;background:var(--site);top:-140px;left:-120px}
++.orbs i:nth-child(2){width:360px;height:360px;background:var(--accent);top:40%;right:-140px;animation-delay:-9s}
++.orbs i:nth-child(3){width:300px;height:300px;background:var(--site);bottom:-120px;left:38%;animation-delay:-17s}
++@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-26px,36px) scale(1.07)}100%{transform:translate(34px,-28px) scale(.95)}}
++.wrap{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:0 20px}
++.hero{padding:84px 0 44px;text-align:center}
++.hero .mark{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:24px;background:rgba(var(--site-rgb),.12);border:1px solid rgba(var(--site-rgb),.35);color:var(--site);font-size:34px;margin-bottom:22px;box-shadow:0 20px 60px rgba(var(--site-rgb),.18);animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
++.hero .badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-secondary);font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.3px;margin-bottom:22px;animation:rise .6s .05s cubic-bezier(.2,.8,.2,1) both}
++.hero .badge b{color:var(--site)}
++.hero h1{font-size:clamp(34px,6vw,58px);font-weight:800;letter-spacing:-1.4px;line-height:1.08;animation:rise .6s .1s cubic-bezier(.2,.8,.2,1) both}
++.hero h1 .d{color:var(--site)}
++.hero h1 .tld{color:var(--text-secondary)}
++.hero .tag{font-size:clamp(18px,2.6vw,24px);font-weight:600;color:var(--text-primary);margin:18px 0 10px;animation:rise .6s .16s cubic-bezier(.2,.8,.2,1) both}
++.hero p.lead{color:var(--text-secondary);font-size:16px;line-height:1.65;max-width:680px;margin:0 auto;animation:rise .6s .22s cubic-bezier(.2,.8,.2,1) both}
++.ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px;animation:rise .6s .3s cubic-bezier(.2,.8,.2,1) both}
++.hero .status{margin:22px auto 0;max-width:720px;font-size:12.5px;line-height:1.7;color:var(--text-muted);border:1px dashed var(--border);border-radius:12px;padding:10px 14px;background:rgba(0,0,0,.15)}
++.hero .status b{color:var(--site)}
++.hero .status code{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 6px;border-radius:6px}
++.hero .status a{color:var(--text-secondary)}
++.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text-primary);background:var(--bg-secondary);transition:transform .15s,border-color .15s,box-shadow .15s}
++.btn:hover{transform:translateY(-1px);border-color:var(--site);box-shadow:0 10px 30px rgba(var(--site-rgb),.15)}
++.btn-primary{background:var(--site);border-color:var(--site);color:#0b0d10}
++.btn-primary:hover{filter:brightness(1.08)}
++@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
++section{padding:36px 0}
++h2{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:6px}
++.lead2{color:var(--text-secondary);font-size:14px;margin-bottom:20px}
++.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
++.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}
++a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);box-shadow:0 16px 40px rgba(0,0,0,.35)}
++.card .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(var(--site-rgb),.12);color:var(--site);font-size:17px}
++.card b{font-size:15px}
++.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
++.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
++.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
++.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
++.rooms{display:flex;flex-wrap:wrap;gap:8px}
++.rooms a{font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);text-decoration:none;transition:all .15s;background:var(--bg-secondary)}
++.rooms a:hover{color:var(--text-primary);border-color:var(--site)}
++.rooms a i{margin-right:6px;opacity:.8}
++.strip{border:1px solid var(--border);border-radius:18px;background:var(--bg-secondary);padding:30px 26px;text-align:center;margin:10px 0 50px}
++.strip h3{font-size:19px;font-weight:700;margin:12px 0 8px}
++.strip p{font-size:14px;color:var(--text-secondary);max-width:600px;margin:0 auto 18px;line-height:1.6}
++.strip .ov-mark{width:44px;height:44px}
++.hero.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;text-align:left;padding-top:64px}
++.hero.split .ctas{justify-content:flex-start}.hero.split p.lead{margin:0}
++.viz{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(var(--site-rgb),.08);animation:rise .7s .25s cubic-bezier(.2,.8,.2,1) both;text-align:left}
++.viz figcaption{margin-top:10px;font-size:11.5px;color:var(--text-muted);text-align:center}
++.viz-top{display:flex;align-items:center;gap:8px;font-size:13px;padding:2px 4px 12px}
++.viz-top b{font-weight:700}.viz-top .muted{color:var(--text-muted)}
++.viz-top .lat{margin-left:auto;font-size:12px;color:var(--site);background:rgba(var(--site-rgb),.1);border:1px solid rgba(var(--site-rgb),.3);padding:3px 9px;border-radius:999px}
++.viz-top .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
++.viz-top .av{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(var(--site-rgb),.15);color:var(--site);font-size:13px}
++.viz-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,rgba(var(--site-rgb),.28),transparent 60%),linear-gradient(160deg,#1a2338,#0b1020 70%);border:1px solid var(--border)}
++.viz-video::after{content:'';position:absolute;left:10%;right:10%;bottom:0;height:42%;background:linear-gradient(transparent,rgba(0,0,0,.35)),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 38px);transform:perspective(220px) rotateX(58deg);transform-origin:bottom}
++.viz-video .scan{position:absolute;inset:0;background:linear-gradient(transparent 0,rgba(255,255,255,.04) 50%,transparent 100%);background-size:100% 6px;opacity:.5}
++.viz-video .onair{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(239,68,68,.9);color:#fff}.viz-video .onair i{font-size:7px;vertical-align:2px;margin-right:3px}
++.viz-video .cam{position:absolute;bottom:10px;right:10px;font-size:11px;color:#dbe4f5;background:rgba(0,0,0,.45);padding:3px 8px;border-radius:6px}
++.viz-ctrl{display:flex;gap:14px;align-items:center;margin-top:12px}
++.dpad{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,34px);gap:4px;flex:none}
++.dpad span{display:grid;place-items:center;border-radius:9px;background:var(--bg-hover);color:var(--text-primary);font-size:15px;border:1px solid var(--border)}
++.dpad .u{grid-area:1/2}.dpad .l{grid-area:2/1}.dpad .c{grid-area:2/2;background:rgba(var(--site-rgb),.15);border-color:rgba(var(--site-rgb),.35)}.dpad .r{grid-area:2/3}.dpad .d{grid-area:3/2}
++.dpad .u{background:rgba(var(--site-rgb),.22);border-color:rgba(var(--site-rgb),.5)}
++.viz-side{flex:1;min-width:0;display:grid;gap:8px}
++.viz-side .keys{display:flex;flex-wrap:wrap;gap:6px}
++.viz-side .keys span{font-size:11.5px;padding:5px 9px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}
++.viz-side .meter{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted)}
++.viz-side .meter i{flex:1;height:6px;border-radius:9px;background:linear-gradient(90deg,#22c55e var(--v),var(--bg-hover) var(--v))}
++.viz-side .meter b{color:var(--text-secondary);font-weight:600}
++.viz-side .estop{justify-self:end;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff;background:#dc2626;border-radius:10px;padding:7px 16px;box-shadow:0 0 0 3px rgba(220,38,38,.25)}
++.feed{list-style:none;display:grid;gap:8px;padding:2px}
++.feed li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;padding:10px 12px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}
++.feed li i{color:#22c55e;margin-top:3px}
++.feed li.ask{flex-wrap:wrap;border-color:rgba(var(--site-rgb),.45);background:rgba(var(--site-rgb),.08);color:var(--text-primary)}.feed li.ask i{color:var(--site)}.feed li.ask>span:first-of-type{flex:1;min-width:160px}
++.feed .pills{display:flex;gap:6px;margin-left:auto}.feed .pills span{font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.feed .pills .ok{background:var(--site);border-color:var(--site);color:#0b0d10}
++.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;counter-reset:s}
++.steps li{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 20px 20px;display:flex;flex-direction:column;gap:8px}
++.steps .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;color:#0b0d10;background:var(--site)}
++.steps b{font-size:15px}.steps span:last-child{font-size:13px;color:var(--text-secondary);line-height:1.55}
++.grid.three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
++.viz .task{font-size:14px;line-height:1.5;padding:10px 12px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}
++.viz .modes{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
++.viz .modes span{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}
++.viz .modes .on{background:var(--site);border-color:var(--site);color:#0b0d10}
++.cands{list-style:none;display:grid;gap:6px}
++.cands li{display:grid;grid-template-columns:18px minmax(0,1fr) 54px 50px 44px;align-items:center;gap:8px;font-size:12.5px;padding:8px 10px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);position:relative}
++.cands li i{color:var(--text-muted)}.cands li b{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
++.cands li span{text-align:right;font-variant-numeric:tabular-nums}
++.cands li.pick{border-color:rgba(var(--site-rgb),.55);background:rgba(var(--site-rgb),.09)}.cands li.pick i{color:var(--site)}
++.cands li em{position:absolute;top:-8px;right:10px;font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 7px;border-radius:999px;background:var(--site);color:#0b0d10}
++.viz .why{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.viz .why i{color:var(--site);margin-right:4px}
++.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
++.card.big{padding:24px}.card.big b{font-size:17px}
++.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
++.chips span{font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary)}
++.chips.big span{font-size:13.5px;padding:9px 14px;color:var(--text-primary)}.chips.big span i{color:var(--site);margin-right:8px}
++.build .card{border-style:dashed;background:rgba(0,0,0,.15)}.build .card b i{color:var(--site);margin-right:6px}.build .card span a{color:var(--text-secondary)}.build .card code{font-size:12px}
++@media (max-width:860px){.hero.split{grid-template-columns:1fr;text-align:center;gap:28px}.hero.split .ctas{justify-content:center}.hero.split p.lead{margin:0 auto}}
++@media (max-width:600px){.hero{padding-top:56px}.ctas .btn{width:100%;justify-content:center}.viz-ctrl{flex-direction:column;align-items:stretch}.dpad{align-self:center}.cands li{grid-template-columns:14px minmax(0,1fr) 30px 40px 30px;gap:6px;font-size:12px;padding:8px}}
++@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
++</style>
++</head>
++<body>
++<div class="orbs"><i></i><i></i><i></i></div>
++<div id="navbar-mount"></div>
++<main class="wrap">
++ <header class="hero">
++ <div class="mark"><i class="fa-solid fa-briefcase" aria-hidden="true"></i></div>
++ <div class="badge"><span class="ov-mark" data-size="16" data-variant="work"></span> Part of the OpenVibe network · <b>planned</b></div>
++ <h1>OpenVibe<span class="d">.</span><span class="tld">Work</span></h1>
++ <div class="tag">Find work, with an agent on your side.</div>
++ <p class="lead">OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.</p>
++ <div class="ctas">
++ <a class="btn btn-primary" href="https://openvibe.network/login?return=https%3A%2F%2Fopenvibe.work%2F"><i class="fa-solid fa-right-to-bracket"></i> Sign in with OpenVibe</a>
++ <a class="btn" href="https://openvibe.network/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>
++ <a class="btn" href="https://discord.gg/M6MuRUaeJj" rel="noopener"><i class="fa-brands fa-discord"></i> Follow the build</a>
++ </div>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Work</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for job listings and alerts. · as of 2026-09-29 · <a href="/status.json">status.json</a></p>
++ </header>
++
++
++ <section id="what">
++ <h2>What OpenVibe.Work will be</h2>
++ <p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
++ <div class="grid">
++ <div class="card"><div class="ic"><i class="fa-solid fa-briefcase" aria-hidden="true"></i></div><b>Every listing sourced</b><span>Where it came from and when, always shown.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-briefcase" aria-hidden="true"></i></div><b>Watch for fits</b><span>Get told when a job that matches appears.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-briefcase" aria-hidden="true"></i></div><b>An agent that helps</b><span>Drafts, tailors and tracks applications — you approve.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-briefcase" aria-hidden="true"></i></div><b>Yours to control</b><span>Your profile and history stay yours, exportable any time.</span></div>
++ </div>
++ </section>
++
++ <section class="meanwhile">
++ <h2>Meanwhile, on the network</h2>
++ <p class="lead2">Most of this already exists somewhere on OpenVibe — start there today.</p>
++ <div class="grid">
++ <a class="card" href="https://openvibe.network"><div class="ic"><i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i></div><b>OpenVibe.Network</b><span>One free account for every OpenVibe site, ready today.</span><span class="go">openvibe.network →</span></a>
++ </div>
++ </section>
++
++
++ <section class="net">
++ <h2>The OpenVibe network</h2>
++ <p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
++ <div class="grid">
++ <a class="card" href="https://openvibe.live"><div class="ic"><i class="fa-solid fa-tower-broadcast" aria-hidden="true"></i></div><b>OpenVibe.Live</b><span>Go live, chat, clip, restream</span><span class="go">openvibe.live →</span></a>
++ <a class="card" href="https://openvibe.tools"><div class="ic"><i class="fa-solid fa-screwdriver-wrench" aria-hidden="true"></i></div><b>OpenVibe.Tools</b><span>Hundreds of online tools</span><span class="go">openvibe.tools →</span></a>
++ <a class="card" href="https://openvibe.community"><div class="ic"><i class="fa-solid fa-people-group" aria-hidden="true"></i></div><b>OpenVibe.Community</b><span>Pastes, posts, people</span><span class="go">openvibe.community →</span></a>
++ <a class="card" href="https://openvibe.games"><div class="ic"><i class="fa-solid fa-gamepad" aria-hidden="true"></i></div><b>OpenVibe.Games</b><span>Scraplandia and browser games</span><span class="go">openvibe.games →</span></a>
++ <a class="card" href="https://openvibe.media"><div class="ic"><i class="fa-solid fa-photo-film" aria-hidden="true"></i></div><b>OpenVibe.Media</b><span>VODs, clips and files</span><span class="go">openvibe.media →</span></a>
++ <a class="card" href="https://openvibe.network"><div class="ic"><i class="fa-solid fa-circle-nodes" aria-hidden="true"></i></div><b>OpenVibe.Network</b><span>One account, every site</span><span class="go">openvibe.network →</span></a>
++ </div>
++ <h2 style="margin-top:28px;font-size:16px">Other OpenVibe domains, not open yet</h2>
++ <div class="rooms" style="margin-top:8px">
++ <a href="https://openvibe.news/"><i class="fa-solid fa-newspaper" aria-hidden="true"></i>OpenVibe.News</a>
++ <a href="https://openvibe.reviews/"><i class="fa-solid fa-star-half-stroke" aria-hidden="true"></i>OpenVibe.Reviews</a>
++ <a href="https://openvibe.tips/"><i class="fa-solid fa-hand-holding-heart" aria-hidden="true"></i>OpenVibe.Tips</a>
++ <a href="https://openvibe.vip/"><i class="fa-solid fa-crown" aria-hidden="true"></i>OpenVibe.VIP</a>
++ <a href="https://openvibe.trade/"><i class="fa-solid fa-chart-line" aria-hidden="true"></i>OpenVibe.Trade</a>
++ <a href="https://openvibe.host/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Host</a>
++ <a href="https://openvibe.deals/"><i class="fa-solid fa-tags" aria-hidden="true"></i>OpenVibe.Deals</a>
++ <a href="https://openvibe.coupons/"><i class="fa-solid fa-ticket" aria-hidden="true"></i>OpenVibe.Coupons</a>
++ <a href="https://openre.stream/"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i>OpenRe.Stream</a>
++ <a href="https://auth.openvibe.network/"><i class="fa-solid fa-key" aria-hidden="true"></i>auth.openvibe.network</a>
++ <a href="https://api.openvibe.network/"><i class="fa-solid fa-plug" aria-hidden="true"></i>api.openvibe.network</a>
++ <a href="https://admin.openvibe.network/"><i class="fa-solid fa-shield-halved" aria-hidden="true"></i>admin.openvibe.network</a>
++ <a href="https://themes.openvibe.network/"><i class="fa-solid fa-palette" aria-hidden="true"></i>themes.openvibe.network</a>
++ <a href="https://ai.openvibe.services/"><i class="fa-solid fa-robot" aria-hidden="true"></i>ai.openvibe.services</a>
++ <a href="https://openvibe.pics/"><i class="fa-solid fa-images" aria-hidden="true"></i>OpenVibe.Pics</a>
++ <a href="https://openvibe.download/"><i class="fa-solid fa-cloud-arrow-down" aria-hidden="true"></i>OpenVibe.Download</a>
++ <a href="https://openvibe.space/"><i class="fa-solid fa-layer-group" aria-hidden="true"></i>OpenVibe.Space</a>
++ <a href="https://openvibe.food/"><i class="fa-solid fa-utensils" aria-hidden="true"></i>OpenVibe.Food</a>
++ <a href="https://openvibe.quest/"><i class="fa-solid fa-map" aria-hidden="true"></i>OpenVibe.Quest</a>
++ <a href="https://openvibe.rent/"><i class="fa-solid fa-key" aria-hidden="true"></i>OpenVibe.Rent</a>
++ <a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
++ <a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
++ <a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
++ <a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
++ <a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
++ <a href="https://openvibe.bot/"><i class="fa-solid fa-robot" aria-hidden="true"></i>OpenVibe.Bot</a>
++ <a href="https://openvibe.watch/"><i class="fa-solid fa-eye" aria-hidden="true"></i>OpenVibe.Watch</a>
++ <a href="https://openvibe.actor/"><i class="fa-solid fa-user-astronaut" aria-hidden="true"></i>OpenVibe.Actor</a>
++ <a href="https://openvibe.events/"><i class="fa-solid fa-bolt" aria-hidden="true"></i>OpenVibe.Events</a>
++ </div>
++ </section>
++
++ <div class="strip">
++ <span class="ov-mark" data-size="44" data-variant="work"></span>
++ <h3>Open source. Community run.</h3>
++ <p>Every OpenVibe site is built in the open by the people using it — free speech within the rules, no gatekeeping, one identity that follows you everywhere.</p>
++ <a class="btn" href="https://github.com/OpenVibers" rel="noopener"><i class="fa-brands fa-github"></i> OpenVibers on GitHub</a>
++ </div>
++</main>
++<style id="ovf-css">
++.ovf{background:var(--bg-secondary,#12131c);border-top:1px solid var(--border,rgba(255,255,255,.08));margin-top:40px;
++ padding:clamp(24px,4vw,40px) clamp(14px,4vw,32px) calc(clamp(20px,3vw,28px) + env(safe-area-inset-bottom,0px));}
++.ovf[data-variant="compact"]{margin-top:24px;padding:14px clamp(12px,3vw,24px) calc(14px + env(safe-area-inset-bottom,0px));}
++.ovf-inner{max-width:1240px;margin:0 auto}
++.ovf-inner--compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;text-align:center}
++.ovf-cols{display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:minmax(230px,1.6fr) repeat(auto-fit,minmax(120px,1fr));align-items:start}
++.ovf-col{display:flex;flex-direction:column;gap:8px;min-width:0}
++.ovf-col h3{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#8b93ad)}
++.ovf-col a{color:var(--text-secondary,#b6bdd2);font-size:.86rem;text-decoration:none;line-height:1.4;width:fit-content;transition:color .15s,transform .15s}
++.ovf-col a:hover{color:var(--accent,#60a5fa);transform:translateX(2px)}
++.ovf-more{font-weight:600;opacity:.85}.ovf-ic{flex:none;vertical-align:-.14em}.ovf-more .ovf-ic{font-size:.85em;margin-left:3px;transition:transform .15s}.ovf-more:hover .ovf-ic{transform:translateX(3px)}.ovf-social .ovf-ic{font-size:17px}.ovf-account-links .ovf-ic{font-size:1.05em;opacity:.85}
++.ovf-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary,#f1f4fb);font-size:1.05rem;font-weight:700;text-decoration:none}
++.ovf-brand--sm{font-size:.9rem}
++.ovf-tagline{margin:0;font-size:.82rem;line-height:1.55;color:var(--text-muted,#8b93ad);max-width:46ch}
++.ovf-social{display:flex;gap:8px;margin-top:4px}
++.ovf-social a{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--text-secondary,#b6bdd2);
++ background:var(--bg-tertiary,#1a1b28);border:1px solid var(--border,rgba(255,255,255,.08));font-size:.95rem;transition:color .15s,border-color .15s,transform .15s}
++.ovf-social a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-2px)}
++.ovf-account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;
++ margin-top:clamp(18px,2.5vw,26px);padding:10px 14px;border-radius:14px;
++ background:color-mix(in srgb, var(--accent,#60a5fa) 8%, var(--bg-tertiary,#1a1b28));
++ border:1px solid color-mix(in srgb, var(--accent,#60a5fa) 26%, var(--border,rgba(255,255,255,.08)));
++ animation:ovfIn .4s ease-out both}
++@keyframes ovfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
++.ovf-account-who{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary,#b6bdd2)}
++.ovf-account-who strong{color:var(--text-primary,#f1f4fb)}
++.ovf-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
++ background:var(--accent,#60a5fa);color:#fff;font-size:.7rem;font-weight:800;flex:none}
++.ovf-avatar img{width:100%;height:100%;object-fit:cover}
++.ovf-account-links{display:flex;flex-wrap:wrap;gap:6px}
++.ovf-account-links a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:600;
++ color:var(--text-secondary,#b6bdd2);background:var(--bg-secondary,#12131c);border:1px solid var(--border,rgba(255,255,255,.08));
++ text-decoration:none;transition:color .15s,border-color .15s,transform .15s}
++.ovf-account-links a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-1px)}
++.ovf-account-links i{font-size:.72rem;opacity:.8}
++.ovf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
++ margin-top:clamp(20px,3vw,30px);padding-top:16px;border-top:1px solid var(--border,rgba(255,255,255,.08));
++ padding-inline:clamp(0px, calc(84px - (100vw - 1240px) / 2), 84px)}
++.ovf-copy{color:var(--text-muted,#8b93ad);font-size:.78rem}
++.ovf-legal-inline,.ovf-compact-links{display:flex;flex-wrap:wrap;gap:14px}
++.ovf [hidden],.ovf-account[hidden]{display:none!important}
++.ovf .ovf-shipped.ov-shipped-latest{font-size:.76rem;padding:4px 12px;max-width:min(520px,100%);background:transparent}
++.ovf-legal-inline a,.ovf-compact-links a{color:var(--text-muted,#8b93ad);font-size:.78rem;text-decoration:none;transition:color .15s}
++.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
++.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
++@media (max-width:900px){.ovf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ovf-col--brand{grid-column:1/-1}}
++@media (max-width:560px){
++ .ovf{padding-bottom:calc(20px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf[data-variant="compact"]{padding-bottom:calc(14px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf-cols{gap:22px 16px}
++ .ovf-bar{justify-content:center;text-align:center;padding-inline:0}
++ .ovf-legal-inline{justify-content:center}
++ .ovf-account{flex-direction:column;align-items:flex-start}
++}
++@media (prefers-reduced-motion:reduce){.ovf-account{animation:none}.ovf-col a:hover,.ovf-social a:hover,.ovf-account-links a:hover{transform:none}}
++.ovf{-webkit-tap-highlight-color:transparent}
++:where(.ovf) :where(a,button):active{scale:.97}
++:where(.ovf) :where(a,button):focus-visible{outline:2px solid var(--accent-light,var(--accent,#3b82f6));outline-offset:2px;border-radius:4px}
++@media (prefers-reduced-motion:reduce){:where(.ovf) :where(a,button):active{scale:none;opacity:.82}}</style><footer id="ov-footer" class="ovf" data-variant="full"><div class="ovf-inner">
++ <div class="ovf-cols">
++ <div class="ovf-col ovf-col--brand">
++ <a class="ovf-brand" href="/"><span class="ov-mark" data-size="26"></span><span>OpenVibe</span></a>
++ <p class="ovf-tagline">Open source and community run. Built in the open by the people using it.</p>
++ <div class="ovf-social">
++ <a href="https://github.com/OpenVibers" target="_blank" rel="noopener" aria-label="GitHub" title="GitHub"><svg class="ovf-ic" viewBox="0 0 24 24" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.800" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path fill="currentColor" stroke="none" d="M12 2.2a9.8 9.8 0 0 0-3.1 19.1c.5.1.7-.2.7-.5v-1.7c-2.7.6-3.3-1.2-3.3-1.2-.4-1.1-1.1-1.4-1.1-1.4-.9-.6.1-.6.1-.6 1 .1 1.5 1 1.5 1 .9 1.5 2.3 1.1 2.9.8.1-.6.3-1.1.6-1.3-2.2-.2-4.5-1.1-4.5-4.8 0-1.1.4-1.9 1-2.6-.1-.2-.4-1.2.1-2.6 0 0 .8-.3 2.7 1a9.3 9.3 0 0 1 4.9 0c1.9-1.3 2.7-1 2.7-1 .5 1.4.2 2.4.1 2.6.6.7 1 1.5 1 2.6 0 3.7-2.3 4.6-4.5 4.8.4.3.7.9.7 1.800v2.700c0 .3.2.6.7.5A9.8 9.8 0 0 0 12 2.200z"/></svg></a><a href="https://discord.gg/M6MuRUaeJj" target="_blank" rel="noopener" aria-label="Discord" title="Discord"><svg class="ovf-ic" viewBox="0 0 24 24" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.800" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path fill="currentColor" stroke="none" d="M19.3 5.300a16.5 16.5 0 0 0-4.1-1.300l-.5 1a15.3 15.3 0 0 0-5.4 0l-.5-1a16.5 16.5 0 0 0-4.1 1.300C2.1 9.2 1.4 13 1.7 16.700a16.6 16.6 0 0 0 5.1 2.600l1.1-1.800c-.6-.2-1.2-.5-1.7-.8l.4-.3a11.8 11.8 0 0 0 10.8 0l.4.3c-.5.3-1.1.6-1.7.8l1.1 1.800a16.6 16.6 0 0 0 5.1-2.600c.4-4.3-.7-8.1-3-11.400zM8.7 14.400c-1 0-1.8-.9-1.8-2.100s.8-2.1 1.8-2.1 1.9 1 1.8 2.100c0 1.2-.8 2.1-1.8 2.100zm6.6 0c-1 0-1.8-.9-1.8-2.100s.8-2.1 1.8-2.1 1.9 1 1.8 2.100c0 1.2-.8 2.1-1.8 2.100z"/></svg></a>
++ <a href="/sitemap.xml" aria-label="Sitemap" title="Sitemap"><svg class="ovf-ic" viewBox="0 0 24 24" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.800" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><rect x="9" y="3.5" width="6" height="4.5" rx="1"/><rect x="3" y="16" width="6" height="4.5" rx="1"/><rect x="15" y="16" width="6" height="4.5" rx="1"/><path d="M12 8v4M6 16v-2.500h12V16"/></svg></a>
++ </div>
++ </div>
++
++ <nav class="ovf-col" aria-label="The OpenVibe network">
++ <h3>Network</h3>
++ <a href="https://openvibe.live" title="Go live, restream and clip">Live streaming</a><a href="https://openvibe.tools" title="The whole toolbox">Online tools</a><a href="https://dev.openvibe.tools" title="Formatters, encoders, validators">Developer tools</a><a href="https://net.openvibe.tools" title="Ping, DNS, Whois, SSL">Network diagnostics</a><a href="https://img.openvibe.tools" title="Convert, resize, compress">Image converter</a><a href="https://audio.openvibe.tools" title="Convert, trim, pitch-shift">Audio converter</a>
++ <a class="ovf-more" href="https://openvibe.network" target="_blank" rel="noopener">Everything else <svg class="ovf-ic" viewBox="0 0 24 24" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.800" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
++ </nav>
++
++ <nav class="ovf-col" aria-label="Legal">
++ <h3>Legal</h3>
++ <a href="https://openvibe.live/tos">Terms of Service</a><a href="https://openvibe.live/privacy">Privacy Policy</a><a href="https://openvibe.live/dmca">DMCA</a>
++ </nav>
++ </div>
++ <div class="ovf-account" id="ovf-account" hidden></div>
++ <div class="ovf-bar">
++ <span class="ovf-copy">Open source &amp; community driven · built in the open</span>
++ <a class="ovf-shipped" data-ov-shipped="latest" data-service="work" href="https://openvibe.network/updates?site=work" hidden></a>
++ <span class="ovf-legal-inline">
++ <a href="https://openvibe.network/updates?site=work">Updates</a>
++ <a href="https://openvibe.live/tos">Terms</a><a href="https://openvibe.live/privacy">Privacy</a><a href="https://openvibe.live/dmca">DMCA</a>
++ </span>
++ </div>
++ </div></footer>
++<script src="/shared/ov-mark.js?v=03f3596adcab" async></script>
++<script src="/shared/navbar.js?v=017a740747b4"></script>
++<script src="/shared/footer.js?v=a85ab893be88"></script>
++<script>
++(function () {
++ if (window.OpenVibeNavbar) { try { OpenVibeNavbar.init({ service: 'work', apiBase: 'https://openvibe.network', links: [{ label: 'What it will be', href: '#what' }, { label: 'The network', href: 'https://openvibe.network/#network', external: false }], history: { type: 'page', title: 'OpenVibe.Work' } }); } catch (e) {} }
++ if (window.OpenVibeFooter) { try { OpenVibeFooter.init({ service: 'work', variant: 'full', links: [{ heading: 'OpenVibe.Work', items: [{ name: 'Sign in', url: 'https://openvibe.network/login?return=https%3A%2F%2Fopenvibe.work%2F' }, { name: 'The network', url: 'https://openvibe.network/#network' }, { name: 'Discord', url: 'https://discord.gg/M6MuRUaeJj' }] }] }); } catch (e) {} }
++})();
++</script>
++</body>
++</html>
ddiff --git a/dist/openvibe.work/manifest.webmanifest b/dist/openvibe.work/manifest.webmanifest
nnew file mode 100644
iindex 0000000..e880555
---- /dev/null
++++ b/dist/openvibe.work/manifest.webmanifest
@@@ -0,0 +1,48 @@
++{
++ "name": "OpenVibe.Work",
++ "short_name": "Work",
++ "description": "Find work, with an agent on your side.",
++ "start_url": "/",
++ "scope": "/",
++ "display": "standalone",
++ "background_color": "#0a0f1c",
++ "theme_color": "#3b82f6",
++ "icons": [
++ {
++ "src": "https://openvibe.network/assets/logo-72.png",
++ "sizes": "72x72",
++ "type": "image/png",
++ "purpose": "any"
++ },
++ {
++ "src": "https://openvibe.network/assets/logo-192.png",
++ "sizes": "192x192",
++ "type": "image/png",
++ "purpose": "any"
++ },
++ {
++ "src": "https://openvibe.network/assets/logo-512.png",
++ "sizes": "512x512",
++ "type": "image/png",
++ "purpose": "any"
++ },
++ {
++ "src": "https://openvibe.network/assets/logo-maskable-192.png",
++ "sizes": "192x192",
++ "type": "image/png",
++ "purpose": "maskable"
++ },
++ {
++ "src": "https://openvibe.network/assets/logo-maskable-512.png",
++ "sizes": "512x512",
++ "type": "image/png",
++ "purpose": "maskable"
++ },
++ {
++ "src": "https://openvibe.network/assets/logo.svg",
++ "sizes": "any",
++ "type": "image/svg+xml",
++ "purpose": "any"
++ }
++ ]
++}
ddiff --git a/dist/openvibe.work/privacy.html b/dist/openvibe.work/privacy.html
nnew file mode 100644
iindex 0000000..8389729
---- /dev/null
++++ b/dist/openvibe.work/privacy.html
@@@ -0,0 +1,115 @@
++<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
++<title>Privacy Policy — OpenVibe.Work</title>
++<meta name="description" content="What OpenVibe.Work collects, why, and the choices you have.">
++<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1">
++<link rel="canonical" href="https://openvibe.work/privacy">
++<meta property="og:type" content="article">
++<meta property="og:site_name" content="OpenVibe.Work">
++<meta property="og:title" content="Privacy Policy — OpenVibe.Work">
++<meta property="og:description" content="What OpenVibe.Work collects, why, and the choices you have.">
++<meta property="og:url" content="https://openvibe.work/privacy">
++<meta property="og:locale" content="en_US">
++<meta name="twitter:card" content="summary">
++<meta name="twitter:title" content="Privacy Policy — OpenVibe.Work">
++<meta name="twitter:description" content="What OpenVibe.Work collects, why, and the choices you have.">
++<link rel="icon" type="image/svg+xml" data-ov-icon="work" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-32%20-32%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22ring%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232563eb%22%2F%3E%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%22.34%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22bg%22%20cx%3D%22.5%22%20cy%3D%22.38%22%20r%3D%22.8%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2316223a%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230a0f1c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23060912%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-32%22%20y%3D%22-32%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22url(%23bg)%22%2F%3E%3Cg%20transform%3D%22scale(1.22)%22%3E%0A%3Ccircle%20r%3D%2221%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20r%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224%22%20opacity%3D%22.38%22%2F%3E%0A%3Cpath%20d%3D%22M0%2C-18%20A18%2C18%200%200%2C1%2017.4%2C4.6%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M-9.5%2C-7%20L0%2C10%20L9.5%2C-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%224.6%22%20r%3D%223.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
++<meta name="theme-color" content="#0d131d">
++<meta name="color-scheme" content="dark">
++<style id="ov-critical">html{background:#0a0f1c;color:#e6edf7;color-scheme:dark}</style><script>(function(){try{var r=localStorage.getItem('ov_theme');if(!r)return;var t=JSON.parse(r),v=t&&t.variables;if(!v)return;var e=document.documentElement;for(var k in v)if(k.charAt(0)==='-')e.style.setProperty(k,v[k]);if(v['--bg-primary'])e.style.background=v['--bg-primary'];if(v['--text-primary'])e.style.color=v['--text-primary'];if(v['--color-scheme']==='light'||v['--color-scheme']==='dark')e.style.colorScheme=v['--color-scheme'];if(t.id)e.setAttribute('data-theme',t.id)}catch(_){}})();</script>
++<script src="https://openvibe.network/shared/theme-loader.js" defer></script><style>*{box-sizing:border-box}body{margin:0;background:var(--bg-primary,#0a0f18);color:var(--text-primary,#e6edf7);font:400 16px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
++.ov-legal{max-width:760px;margin:0 auto;padding:40px 20px 24px}.ov-legal-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-light,var(--accent,#60a5fa))}
++.ov-legal h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px}.ov-legal-date{color:var(--text-muted,#7d8aa0);font-size:14px;margin:0 0 28px}
++.ov-legal-toc{margin:0 0 8px;padding:14px 18px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:12px;background:var(--bg-secondary,#111826)}.ov-legal-toc ol{margin:0;padding-left:20px;columns:2 220px;column-gap:28px}.ov-legal-toc li{margin:3px 0;font-size:14px;break-inside:avoid}.ov-legal-toc a{text-decoration:none}.ov-legal section{scroll-margin-top:80px}
++.ov-legal h2{font-size:19px;margin:30px 0 8px;letter-spacing:-.01em}.ov-legal p,.ov-legal li{color:var(--text-secondary,#a8b3c4)}.ov-legal li{margin:6px 0}.ov-legal b{color:var(--text-primary,#e6edf7)}
++.ov-legal a{color:var(--accent-light,var(--accent,#60a5fa))}.ov-legal code{font-size:13.5px;background:var(--bg-secondary,#111826);padding:1px 6px;border-radius:5px}
++.ov-legal-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,.1))}.ov-legal-more a{padding:8px 14px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}</style></head><body>
++<noscript><nav aria-label="Site" style="display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1);font:500 14px/1.4 system-ui,sans-serif"><a href="/" style="font-weight:700;color:inherit;text-decoration:none">OpenVibe.Work</a><span style="flex:1"></span><a href="https://openvibe.live/">Live</a><a href="https://openvibe.tools/">Tools</a><a href="https://openvibe.community/">Community</a><a href="https://openvibe.games/">Games</a><a href="https://openvibe.media/">Media</a><a href="https://openvibe.network/">Network</a></nav></noscript>
++<main><article class="ov-legal"><p class="ov-legal-kicker">OpenVibe.Work</p><h1>Privacy Policy</h1><p class="ov-legal-date">Last updated <time datetime="2026-09-18">September 18, 2026</time></p>
++<nav class="ov-legal-toc" aria-label="On this page"><ol><li><a href="#s1">The short version</a></li><li><a href="#s2">What we collect</a></li><li><a href="#s3">Why we use it</a></li><li><a href="#s4">Cookies and storage in your browser</a></li><li><a href="#s5">Across OpenVibe sites</a></li><li><a href="#s6">Who we share with</a></li><li><a href="#s7">How long we keep things</a></li><li><a href="#s8">Where your data is</a></li><li><a href="#s9">Security</a></li><li><a href="#s10">Your choices and rights</a></li><li><a href="#s11">Children</a></li><li><a href="#s12">Changes and contact</a></li></ol></nav>
++<section><h2 id="s1">The short version</h2><p>OpenVibe.Work collects what it needs to work and to keep abuse out, and no more. We do not sell or rent personal information, we do not share it for advertising, and we do not run advertising trackers. Most of OpenVibe.Work works without an account.</p></section>
++<section><h2 id="s2">What we collect</h2><ul><li><b>Request logs.</b> Like every web server, ours record your IP address, browser type, the address requested and the time. We use them for security, rate limiting, debugging and aggregate traffic statistics.</li><li><b>Usage statistics.</b> First-party page views with a random session identifier, kept on our own servers, so we can see which parts of the network are used.</li><li><b>An anonymous page count.</b> The shared navigation bar reports one count per page load containing only the site's hostname and the day. No user, IP address or page is stored with it. It decides the order of sites in our menus. It is skipped when your browser sends Global Privacy Control or Do Not Track.</li></ul></section>
++<section><h2 id="s3">Why we use it</h2><ul><li>To provide the service you asked for and keep you signed in (performance of our agreement with you).</li><li>To keep the service secure, prevent abuse and understand usage in aggregate (our legitimate interests).</li><li>To send account email such as verification and password resets, and notifications you switched on (agreement and consent).</li><li>To comply with the law.</li></ul></section>
++<section><h2 id="s4">Cookies and storage in your browser</h2><p>We use a small number of first-party cookies: a sign-in token (<code>ov_token</code>), a refresh token limited to the sign-in paths, a short-lived state cookie during sign-in, and a hint (<code>ov_sso_hint</code>) that remembers whether you were signed in. openvibe.network also keeps a sign-in cookie that lets other OpenVibe sites check, in a hidden frame or through your browser's built-in federated sign-in, whether to sign you in quietly. It is never used for anything except that check.</p><p>Your theme, display settings (text size, reduced motion), recent pages, a cached copy of the navigation and similar conveniences are kept in your browser's local storage. There are no third-party advertising or social cookies. Our sites sit behind Cloudflare, which may set its own security cookies and measure performance.</p></section>
++<section><h2 id="s5">Across OpenVibe sites</h2><p>OpenVibe sites share one account. When you are signed in, the site you visit learns who you are from openvibe.network. While cross-site history is switched on, the pages and tools you open while signed in are listed for you, and only you, at <a href="https://openvibe.network/history">openvibe.network/history</a>, where you can clear the list or pause it.</p></section>
++<section><h2 id="s6">Who we share with</h2><p>Only the services needed to run the network: hosting (OVH, servers in the United States), network security and delivery (Cloudflare), object storage for media (Backblaze B2 or Cloudflare R2), and email delivery for account messages. They process data on our instructions. We disclose information when the law requires it, and we tell the person affected when we are allowed to. If OpenVibe is ever reorganised or handed to new maintainers, the data moves under the same promises.</p></section>
++<section><h2 id="s7">How long we keep things</h2><ul><li>Request logs and raw usage events: a limited rolling period, then totals only.</li><li>The anonymous page count: totals per site and day, nothing personal to delete.</li></ul></section>
++<section><h2 id="s8">Where your data is</h2><p>Our servers are in the United States. If you use OpenVibe from elsewhere, your information is transferred to and processed in the United States, which may have different data protection rules from your country.</p></section>
++<section><h2 id="s9">Security</h2><p>Traffic is encrypted in transit. Passwords are stored as salted hashes, sign-in tokens are signed and short-lived, and internal service routes are not reachable from the internet. No system is perfectly secure; if a breach affects your personal information we will tell you and the relevant authorities as the law requires.</p></section>
++<section><h2 id="s10">Your choices and rights</h2><p>You can use most of OpenVibe.Work without an account, block cookies, and switch on Global Privacy Control to skip the anonymous page count. With an account you can view, correct, export and delete your data from your account settings, or ask us to do it.</p><p>Depending on where you live, including the EEA, the UK and US states such as California, you may have rights to access, correct, delete, restrict or object to the use of your data, to data portability, and to complain to your data protection authority. We do not sell or share personal information as those laws define it, and we do not make automated decisions with legal effect. Write to <a href="mailto:[email protected]">[email protected]</a>; we answer within 30 days and will not treat you differently for asking.</p></section>
++<section><h2 id="s11">Children</h2><p>OpenVibe.Work is not for children under 13, and we do not knowingly collect their information. If you believe a child has given us personal information, contact us and we will delete it.</p></section>
++<section><h2 id="s12">Changes and contact</h2><p>We will post changes here and update the date above; significant changes are announced on the site. Questions and requests: <a href="mailto:[email protected]">[email protected]</a>.</p></section>
++<nav class="ov-legal-more" aria-label="Other policies"><a href="/terms">Terms of Service</a><a href="/dmca">DMCA &amp; Copyright</a><a href="https://openvibe.network/">About OpenVibe</a></nav></article></main><style id="ovf-css">
++.ovf{background:var(--bg-secondary,#12131c);border-top:1px solid var(--border,rgba(255,255,255,.08));margin-top:40px;
++ padding:clamp(24px,4vw,40px) clamp(14px,4vw,32px) calc(clamp(20px,3vw,28px) + env(safe-area-inset-bottom,0px));}
++.ovf[data-variant="compact"]{margin-top:24px;padding:14px clamp(12px,3vw,24px) calc(14px + env(safe-area-inset-bottom,0px));}
++.ovf-inner{max-width:1240px;margin:0 auto}
++.ovf-inner--compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;text-align:center}
++.ovf-cols{display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:minmax(230px,1.6fr) repeat(auto-fit,minmax(120px,1fr));align-items:start}
++.ovf-col{display:flex;flex-direction:column;gap:8px;min-width:0}
++.ovf-col h3{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#8b93ad)}
++.ovf-col a{color:var(--text-secondary,#b6bdd2);font-size:.86rem;text-decoration:none;line-height:1.4;width:fit-content;transition:color .15s,transform .15s}
++.ovf-col a:hover{color:var(--accent,#60a5fa);transform:translateX(2px)}
++.ovf-more{font-weight:600;opacity:.85}.ovf-ic{flex:none;vertical-align:-.14em}.ovf-more .ovf-ic{font-size:.85em;margin-left:3px;transition:transform .15s}.ovf-more:hover .ovf-ic{transform:translateX(3px)}.ovf-social .ovf-ic{font-size:17px}.ovf-account-links .ovf-ic{font-size:1.05em;opacity:.85}
++.ovf-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary,#f1f4fb);font-size:1.05rem;font-weight:700;text-decoration:none}
++.ovf-brand--sm{font-size:.9rem}
++.ovf-tagline{margin:0;font-size:.82rem;line-height:1.55;color:var(--text-muted,#8b93ad);max-width:46ch}
++.ovf-social{display:flex;gap:8px;margin-top:4px}
++.ovf-social a{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--text-secondary,#b6bdd2);
++ background:var(--bg-tertiary,#1a1b28);border:1px solid var(--border,rgba(255,255,255,.08));font-size:.95rem;transition:color .15s,border-color .15s,transform .15s}
++.ovf-social a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-2px)}
++.ovf-account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;
++ margin-top:clamp(18px,2.5vw,26px);padding:10px 14px;border-radius:14px;
++ background:color-mix(in srgb, var(--accent,#60a5fa) 8%, var(--bg-tertiary,#1a1b28));
++ border:1px solid color-mix(in srgb, var(--accent,#60a5fa) 26%, var(--border,rgba(255,255,255,.08)));
++ animation:ovfIn .4s ease-out both}
++@keyframes ovfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
++.ovf-account-who{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary,#b6bdd2)}
++.ovf-account-who strong{color:var(--text-primary,#f1f4fb)}
++.ovf-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
++ background:var(--accent,#60a5fa);color:#fff;font-size:.7rem;font-weight:800;flex:none}
++.ovf-avatar img{width:100%;height:100%;object-fit:cover}
++.ovf-account-links{display:flex;flex-wrap:wrap;gap:6px}
++.ovf-account-links a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:600;
++ color:var(--text-secondary,#b6bdd2);background:var(--bg-secondary,#12131c);border:1px solid var(--border,rgba(255,255,255,.08));
++ text-decoration:none;transition:color .15s,border-color .15s,transform .15s}
++.ovf-account-links a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-1px)}
++.ovf-account-links i{font-size:.72rem;opacity:.8}
++.ovf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
++ margin-top:clamp(20px,3vw,30px);padding-top:16px;border-top:1px solid var(--border,rgba(255,255,255,.08));
++ padding-inline:clamp(0px, calc(84px - (100vw - 1240px) / 2), 84px)}
++.ovf-copy{color:var(--text-muted,#8b93ad);font-size:.78rem}
++.ovf-legal-inline,.ovf-compact-links{display:flex;flex-wrap:wrap;gap:14px}
++.ovf [hidden],.ovf-account[hidden]{display:none!important}
++.ovf .ovf-shipped.ov-shipped-latest{font-size:.76rem;padding:4px 12px;max-width:min(520px,100%);background:transparent}
++.ovf-legal-inline a,.ovf-compact-links a{color:var(--text-muted,#8b93ad);font-size:.78rem;text-decoration:none;transition:color .15s}
++.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
++.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
++@media (max-width:900px){.ovf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ovf-col--brand{grid-column:1/-1}}
++@media (max-width:560px){
++ .ovf{padding-bottom:calc(20px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf[data-variant="compact"]{padding-bottom:calc(14px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf-cols{gap:22px 16px}
++ .ovf-bar{justify-content:center;text-align:center;padding-inline:0}
++ .ovf-legal-inline{justify-content:center}
++ .ovf-account{flex-direction:column;align-items:flex-start}
++}
++@media (prefers-reduced-motion:reduce){.ovf-account{animation:none}.ovf-col a:hover,.ovf-social a:hover,.ovf-account-links a:hover{transform:none}}
++.ovf{-webkit-tap-highlight-color:transparent}
++:where(.ovf) :where(a,button):active{scale:.97}
++:where(.ovf) :where(a,button):focus-visible{outline:2px solid var(--accent-light,var(--accent,#3b82f6));outline-offset:2px;border-radius:4px}
++@media (prefers-reduced-motion:reduce){:where(.ovf) :where(a,button):active{scale:none;opacity:.82}}</style><footer id="ov-footer" class="ovf" data-variant="compact"><div class="ovf-inner ovf-inner--compact">
++ <a class="ovf-brand ovf-brand--sm" href="/"><span class="ov-mark" data-size="20"></span><span>OpenVibe.Network</span></a>
++ <nav class="ovf-compact-links" aria-label="Site links">
++
++ <a href="https://openvibe.network" target="_blank" rel="noopener">Network</a>
++ <a href="https://openvibe.network/updates?site=network">Updates</a>
++ <a href="https://openvibe.live/tos">Terms</a><a href="https://openvibe.live/privacy">Privacy</a><a href="https://openvibe.live/dmca">DMCA</a>
++ </nav>
++ <a class="ovf-shipped" data-ov-shipped="latest" data-service="network" href="https://openvibe.network/updates?site=network" hidden></a>
++ <span class="ovf-compact-meta">Open source · 2026</span>
++ </div></footer>
++<script src="https://openvibe.network/shared/navbar.js" defer></script><script src="https://openvibe.network/shared/footer.js" defer></script>
++<script>addEventListener('DOMContentLoaded',function(){var t=null;try{t=(document.cookie.match(/(?:^|; )ov_token=([^;]*)/)||[])[1]||localStorage.getItem('ov_token')}catch(e){}
++try{OpenVibeNavbar.init({service:"network",apiBase:'https://openvibe.network',token:t?decodeURIComponent(t):null})}catch(e){}
++try{OpenVibeFooter.init({service:"network",variant:'compact',mount:'#ov-footer',apiBase:'https://openvibe.network'})}catch(e){}});</script>
++</body></html>
\\ No newline at end of file
ddiff --git a/dist/openvibe.work/release.json b/dist/openvibe.work/release.json
nnew file mode 100644
iindex 0000000..c080489
---- /dev/null
++++ b/dist/openvibe.work/release.json
@@@ -0,0 +1,13 @@
++{
++ "service": "work",
++ "release": "e77161cdc993",
++ "released_at": "2026-10-03T00:00:00.000Z",
++ "booted_at": null,
++ "contracts_version": null,
++ "packages": {
++ "openvibe-shared": "2.3.1"
++ },
++ "min_client_release": null,
++ "mixed_version_window_hours": 24,
++ "kind": "placeholder"
++}
ddiff --git a/dist/openvibe.work/robots.txt b/dist/openvibe.work/robots.txt
nnew file mode 100644
iindex 0000000..c08ed05
---- /dev/null
++++ b/dist/openvibe.work/robots.txt
@@@ -0,0 +1,4 @@
++User-agent: *
++Allow: /
++Disallow: /auth/
++Sitemap: https://openvibe.work/sitemap.xml
ddiff --git a/dist/openvibe.work/sitemap.xml b/dist/openvibe.work/sitemap.xml
nnew file mode 100644
iindex 0000000..ff16a05
---- /dev/null
++++ b/dist/openvibe.work/sitemap.xml
@@@ -0,0 +1,4 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
++ <url><loc>https://openvibe.work/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++</urlset>
ddiff --git a/dist/openvibe.work/status.json b/dist/openvibe.work/status.json
nnew file mode 100644
iindex 0000000..60acea8
---- /dev/null
++++ b/dist/openvibe.work/status.json
@@@ -0,0 +1,16 @@
++{
++ "domain": "openvibe.work",
++ "name": "OpenVibe.Work",
++ "stage": "placeholder",
++ "live": false,
++ "plannedRepo": null,
++ "repoUrl": null,
++ "repoExists": false,
++ "repoStage": "charter-only",
++ "service": null,
++ "launchWaitsFor": "job listings and alerts",
++ "factsAsOf": "2026-09-29",
++ "network": "https://openvibe.network",
++ "updated": "2026-10-03",
++ "note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
++}
ddiff --git a/dist/openvibe.work/terms.html b/dist/openvibe.work/terms.html
nnew file mode 100644
iindex 0000000..35f948b
---- /dev/null
++++ b/dist/openvibe.work/terms.html
@@@ -0,0 +1,114 @@
++<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
++<title>Terms of Service — OpenVibe.Work</title>
++<meta name="description" content="The rules for using OpenVibe.Work, in plain language.">
++<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1">
++<link rel="canonical" href="https://openvibe.work/terms">
++<meta property="og:type" content="article">
++<meta property="og:site_name" content="OpenVibe.Work">
++<meta property="og:title" content="Terms of Service — OpenVibe.Work">
++<meta property="og:description" content="The rules for using OpenVibe.Work, in plain language.">
++<meta property="og:url" content="https://openvibe.work/terms">
++<meta property="og:locale" content="en_US">
++<meta name="twitter:card" content="summary">
++<meta name="twitter:title" content="Terms of Service — OpenVibe.Work">
++<meta name="twitter:description" content="The rules for using OpenVibe.Work, in plain language.">
++<link rel="icon" type="image/svg+xml" data-ov-icon="work" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-32%20-32%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22ring%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232563eb%22%2F%3E%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%22.34%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2360a5fa%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22bg%22%20cx%3D%22.5%22%20cy%3D%22.38%22%20r%3D%22.8%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2316223a%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230a0f1c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23060912%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-32%22%20y%3D%22-32%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22url(%23bg)%22%2F%3E%3Cg%20transform%3D%22scale(1.22)%22%3E%0A%3Ccircle%20r%3D%2221%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20r%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224%22%20opacity%3D%22.38%22%2F%3E%0A%3Cpath%20d%3D%22M0%2C-18%20A18%2C18%200%200%2C1%2017.4%2C4.6%22%20fill%3D%22none%22%20stroke%3D%22url(%23ring)%22%20stroke-width%3D%224.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M-9.5%2C-7%20L0%2C10%20L9.5%2C-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%224.6%22%20r%3D%223.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
++<meta name="theme-color" content="#0d131d">
++<meta name="color-scheme" content="dark">
++<style id="ov-critical">html{background:#0a0f1c;color:#e6edf7;color-scheme:dark}</style><script>(function(){try{var r=localStorage.getItem('ov_theme');if(!r)return;var t=JSON.parse(r),v=t&&t.variables;if(!v)return;var e=document.documentElement;for(var k in v)if(k.charAt(0)==='-')e.style.setProperty(k,v[k]);if(v['--bg-primary'])e.style.background=v['--bg-primary'];if(v['--text-primary'])e.style.color=v['--text-primary'];if(v['--color-scheme']==='light'||v['--color-scheme']==='dark')e.style.colorScheme=v['--color-scheme'];if(t.id)e.setAttribute('data-theme',t.id)}catch(_){}})();</script>
++<script src="https://openvibe.network/shared/theme-loader.js" defer></script><style>*{box-sizing:border-box}body{margin:0;background:var(--bg-primary,#0a0f18);color:var(--text-primary,#e6edf7);font:400 16px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
++.ov-legal{max-width:760px;margin:0 auto;padding:40px 20px 24px}.ov-legal-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-light,var(--accent,#60a5fa))}
++.ov-legal h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px}.ov-legal-date{color:var(--text-muted,#7d8aa0);font-size:14px;margin:0 0 28px}
++.ov-legal-toc{margin:0 0 8px;padding:14px 18px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:12px;background:var(--bg-secondary,#111826)}.ov-legal-toc ol{margin:0;padding-left:20px;columns:2 220px;column-gap:28px}.ov-legal-toc li{margin:3px 0;font-size:14px;break-inside:avoid}.ov-legal-toc a{text-decoration:none}.ov-legal section{scroll-margin-top:80px}
++.ov-legal h2{font-size:19px;margin:30px 0 8px;letter-spacing:-.01em}.ov-legal p,.ov-legal li{color:var(--text-secondary,#a8b3c4)}.ov-legal li{margin:6px 0}.ov-legal b{color:var(--text-primary,#e6edf7)}
++.ov-legal a{color:var(--accent-light,var(--accent,#60a5fa))}.ov-legal code{font-size:13.5px;background:var(--bg-secondary,#111826);padding:1px 6px;border-radius:5px}
++.ov-legal-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,.1))}.ov-legal-more a{padding:8px 14px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}</style></head><body>
++<noscript><nav aria-label="Site" style="display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1);font:500 14px/1.4 system-ui,sans-serif"><a href="/" style="font-weight:700;color:inherit;text-decoration:none">OpenVibe.Work</a><span style="flex:1"></span><a href="https://openvibe.live/">Live</a><a href="https://openvibe.tools/">Tools</a><a href="https://openvibe.community/">Community</a><a href="https://openvibe.games/">Games</a><a href="https://openvibe.media/">Media</a><a href="https://openvibe.network/">Network</a></nav></noscript>
++<main><article class="ov-legal"><p class="ov-legal-kicker">OpenVibe.Work</p><h1>Terms of Service</h1><p class="ov-legal-date">Last updated <time datetime="2026-09-18">September 18, 2026</time></p>
++<nav class="ov-legal-toc" aria-label="On this page"><ol><li><a href="#s1">The short version</a></li><li><a href="#s2">Who can use it</a></li><li><a href="#s3">This site is not open yet</a></li><li><a href="#s4">Rules for everyone</a></li><li><a href="#s5">Automated and AI-written text</a></li><li><a href="#s6">Reporting and moderation</a></li><li><a href="#s7">Leaving</a></li><li><a href="#s8">Open source, links and feedback</a></li><li><a href="#s9">No warranty, limited liability</a></li><li><a href="#s10">Governing law</a></li><li><a href="#s11">Changes and contact</a></li></ol></nav>
++<section><h2 id="s1">The short version</h2><p>OpenVibe.Work is part of OpenVibe, an open source, community-run network. Use it for lawful things, be decent to other people, and do not try to break it. Most of it works without an account. We can remove content or accounts that break these terms. The service is provided as it is, without warranties.</p><p>These terms cover openvibe.work, its subdomains, and any other domain that serves the same service. Other OpenVibe sites have their own terms, written for what those sites do.</p></section>
++<section><h2 id="s2">Who can use it</h2><p>You must be at least 13 years old, or the minimum age of digital consent where you live. If you are under 18, a parent or guardian must agree to these terms for you. You may not use OpenVibe.Work if you were banned from the network, or if the law where you live forbids it.</p></section>
++<section><h2 id="s3">This site is not open yet</h2><p>OpenVibe.Work is a reserved address that currently shows a preview page. There is nothing to sign up for or post here yet. When it opens, these terms will be replaced with ones written for what it does, and the date above will change.</p></section>
++<section><h2 id="s4">Rules for everyone</h2><p>OpenVibe leans toward open expression. These limits apply on every site:</p><ul><li>Nothing illegal where you are or in the United States, where our servers are.</li><li>No sexual content involving minors and no sexualisation of minors, ever. We report it to the authorities.</li><li>No credible threats, incitement to violence, or publishing private information to harm someone.</li><li>No content you do not have the rights to.</li><li>No malware, phishing, spam, fraud, or impersonation of a person or organisation to deceive.</li><li>No attempts to disrupt the service, get around bans, rate limits or access controls, or reach other people's accounts or data.</li><li>No scraping that ignores robots.txt or our rate limits. Respectful crawlers, archives and AI agents are welcome; a machine-readable map is at /llms.txt where available.</li></ul></section>
++<section><h2 id="s5">Automated and AI-written text</h2><p>Some descriptive text on OpenVibe, such as footer blurbs, summaries and suggestions, is written by automated systems and checked by rules rather than by a person. It can be wrong. Do not rely on it for decisions that matter.</p></section>
++<section><h2 id="s6">Reporting and moderation</h2><p>Report content with the report controls where they exist, or write to <a href="mailto:[email protected]">[email protected]</a>. Copyright complaints follow the <a href="/dmca">DMCA process</a>. We may remove content, limit features, or suspend accounts that break these terms or put other people or the service at risk, and we may act without notice when the harm is urgent. If you think we got it wrong, reply to the notice or write to the same address and a person will look again.</p></section>
++<section><h2 id="s7">Leaving</h2><p>You can stop using OpenVibe.Work at any time. Sections that by their nature should survive (licences for content already shared, liability, governing law) continue after you leave.</p></section>
++<section><h2 id="s8">Open source, links and feedback</h2><p>OpenVibe's code is public. Each repository's licence governs your use of the code; these terms govern your use of the hosted service at openvibe.work. Links to other sites are provided for convenience and we are not responsible for them. If you send us ideas or fixes, we may use them without owing you anything, and contributions to the code are made under the repository's licence.</p></section>
++<section><h2 id="s9">No warranty, limited liability</h2><p>The service is provided "as is" and "as available", without warranties of any kind, including fitness for a particular purpose, accuracy of results, or uninterrupted availability. To the extent the law allows, OpenVibe and the people who run it are not liable for indirect, incidental or consequential losses, lost data or lost profits arising from your use of OpenVibe.Work, and our total liability is limited to the greater of what you paid us in the past twelve months or fifty US dollars. Nothing here limits liability that cannot be limited by law, and consumer rights you have under the law of your country remain.</p><p>If your use of OpenVibe.Work breaks these terms or the law and someone brings a claim against us because of it, you agree to cover our reasonable costs.</p></section>
++<section><h2 id="s10">Governing law</h2><p>These terms are governed by the laws of the United States and the State of Washington, without regard to conflicts of law. Disputes are handled in the federal or state courts located in Washington State, unless the consumer law of your country gives you the right to use your local courts. If part of these terms cannot be enforced, the rest still applies. Not enforcing a term once does not waive it. These terms are the whole agreement between us about OpenVibe.Work.</p></section>
++<section><h2 id="s11">Changes and contact</h2><p>We may update these terms. Material changes are announced on the site before they take effect, and the date at the top changes. Continuing to use OpenVibe.Work after a change means you accept it. Questions: <a href="mailto:[email protected]">[email protected]</a>.</p></section>
++<nav class="ov-legal-more" aria-label="Other policies"><a href="/privacy">Privacy Policy</a><a href="/dmca">DMCA &amp; Copyright</a><a href="https://openvibe.network/">About OpenVibe</a></nav></article></main><style id="ovf-css">
++.ovf{background:var(--bg-secondary,#12131c);border-top:1px solid var(--border,rgba(255,255,255,.08));margin-top:40px;
++ padding:clamp(24px,4vw,40px) clamp(14px,4vw,32px) calc(clamp(20px,3vw,28px) + env(safe-area-inset-bottom,0px));}
++.ovf[data-variant="compact"]{margin-top:24px;padding:14px clamp(12px,3vw,24px) calc(14px + env(safe-area-inset-bottom,0px));}
++.ovf-inner{max-width:1240px;margin:0 auto}
++.ovf-inner--compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;text-align:center}
++.ovf-cols{display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:minmax(230px,1.6fr) repeat(auto-fit,minmax(120px,1fr));align-items:start}
++.ovf-col{display:flex;flex-direction:column;gap:8px;min-width:0}
++.ovf-col h3{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#8b93ad)}
++.ovf-col a{color:var(--text-secondary,#b6bdd2);font-size:.86rem;text-decoration:none;line-height:1.4;width:fit-content;transition:color .15s,transform .15s}
++.ovf-col a:hover{color:var(--accent,#60a5fa);transform:translateX(2px)}
++.ovf-more{font-weight:600;opacity:.85}.ovf-ic{flex:none;vertical-align:-.14em}.ovf-more .ovf-ic{font-size:.85em;margin-left:3px;transition:transform .15s}.ovf-more:hover .ovf-ic{transform:translateX(3px)}.ovf-social .ovf-ic{font-size:17px}.ovf-account-links .ovf-ic{font-size:1.05em;opacity:.85}
++.ovf-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary,#f1f4fb);font-size:1.05rem;font-weight:700;text-decoration:none}
++.ovf-brand--sm{font-size:.9rem}
++.ovf-tagline{margin:0;font-size:.82rem;line-height:1.55;color:var(--text-muted,#8b93ad);max-width:46ch}
++.ovf-social{display:flex;gap:8px;margin-top:4px}
++.ovf-social a{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--text-secondary,#b6bdd2);
++ background:var(--bg-tertiary,#1a1b28);border:1px solid var(--border,rgba(255,255,255,.08));font-size:.95rem;transition:color .15s,border-color .15s,transform .15s}
++.ovf-social a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-2px)}
++.ovf-account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;
++ margin-top:clamp(18px,2.5vw,26px);padding:10px 14px;border-radius:14px;
++ background:color-mix(in srgb, var(--accent,#60a5fa) 8%, var(--bg-tertiary,#1a1b28));
++ border:1px solid color-mix(in srgb, var(--accent,#60a5fa) 26%, var(--border,rgba(255,255,255,.08)));
++ animation:ovfIn .4s ease-out both}
++@keyframes ovfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
++.ovf-account-who{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary,#b6bdd2)}
++.ovf-account-who strong{color:var(--text-primary,#f1f4fb)}
++.ovf-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
++ background:var(--accent,#60a5fa);color:#fff;font-size:.7rem;font-weight:800;flex:none}
++.ovf-avatar img{width:100%;height:100%;object-fit:cover}
++.ovf-account-links{display:flex;flex-wrap:wrap;gap:6px}
++.ovf-account-links a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:600;
++ color:var(--text-secondary,#b6bdd2);background:var(--bg-secondary,#12131c);border:1px solid var(--border,rgba(255,255,255,.08));
++ text-decoration:none;transition:color .15s,border-color .15s,transform .15s}
++.ovf-account-links a:hover{color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);transform:translateY(-1px)}
++.ovf-account-links i{font-size:.72rem;opacity:.8}
++.ovf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
++ margin-top:clamp(20px,3vw,30px);padding-top:16px;border-top:1px solid var(--border,rgba(255,255,255,.08));
++ padding-inline:clamp(0px, calc(84px - (100vw - 1240px) / 2), 84px)}
++.ovf-copy{color:var(--text-muted,#8b93ad);font-size:.78rem}
++.ovf-legal-inline,.ovf-compact-links{display:flex;flex-wrap:wrap;gap:14px}
++.ovf [hidden],.ovf-account[hidden]{display:none!important}
++.ovf .ovf-shipped.ov-shipped-latest{font-size:.76rem;padding:4px 12px;max-width:min(520px,100%);background:transparent}
++.ovf-legal-inline a,.ovf-compact-links a{color:var(--text-muted,#8b93ad);font-size:.78rem;text-decoration:none;transition:color .15s}
++.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
++.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
++@media (max-width:900px){.ovf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ovf-col--brand{grid-column:1/-1}}
++@media (max-width:560px){
++ .ovf{padding-bottom:calc(20px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf[data-variant="compact"]{padding-bottom:calc(14px + var(--ov-footer-clearance,0px) + env(safe-area-inset-bottom,0px))}
++ .ovf-cols{gap:22px 16px}
++ .ovf-bar{justify-content:center;text-align:center;padding-inline:0}
++ .ovf-legal-inline{justify-content:center}
++ .ovf-account{flex-direction:column;align-items:flex-start}
++}
++@media (prefers-reduced-motion:reduce){.ovf-account{animation:none}.ovf-col a:hover,.ovf-social a:hover,.ovf-account-links a:hover{transform:none}}
++.ovf{-webkit-tap-highlight-color:transparent}
++:where(.ovf) :where(a,button):active{scale:.97}
++:where(.ovf) :where(a,button):focus-visible{outline:2px solid var(--accent-light,var(--accent,#3b82f6));outline-offset:2px;border-radius:4px}
++@media (prefers-reduced-motion:reduce){:where(.ovf) :where(a,button):active{scale:none;opacity:.82}}</style><footer id="ov-footer" class="ovf" data-variant="compact"><div class="ovf-inner ovf-inner--compact">
++ <a class="ovf-brand ovf-brand--sm" href="/"><span class="ov-mark" data-size="20"></span><span>OpenVibe.Network</span></a>
++ <nav class="ovf-compact-links" aria-label="Site links">
++
++ <a href="https://openvibe.network" target="_blank" rel="noopener">Network</a>
++ <a href="https://openvibe.network/updates?site=network">Updates</a>
++ <a href="https://openvibe.live/tos">Terms</a><a href="https://openvibe.live/privacy">Privacy</a><a href="https://openvibe.live/dmca">DMCA</a>
++ </nav>
++ <a class="ovf-shipped" data-ov-shipped="latest" data-service="network" href="https://openvibe.network/updates?site=network" hidden></a>
++ <span class="ovf-compact-meta">Open source · 2026</span>
++ </div></footer>
++<script src="https://openvibe.network/shared/navbar.js" defer></script><script src="https://openvibe.network/shared/footer.js" defer></script>
++<script>addEventListener('DOMContentLoaded',function(){var t=null;try{t=(document.cookie.match(/(?:^|; )ov_token=([^;]*)/)||[])[1]||localStorage.getItem('ov_token')}catch(e){}
++try{OpenVibeNavbar.init({service:"network",apiBase:'https://openvibe.network',token:t?decodeURIComponent(t):null})}catch(e){}
++try{OpenVibeFooter.init({service:"network",variant:'compact',mount:'#ov-footer',apiBase:'https://openvibe.network'})}catch(e){}});</script>
++</body></html>
\\ No newline at end of file
ddiff --git a/dist/realtime.openvibe.network/index.html b/dist/realtime.openvibe.network/index.html
iindex 2655f39..1870814 100644
---- a/dist/realtime.openvibe.network/index.html
++++ b/dist/realtime.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="realtime.openvibe.network — Closed: realtime delivery is part of OpenVibe.Events.">
<meta name="twitter:description" content="OpenVibe.Realtime was planned as a separate service for live updates in the browser. Decision record ADR-005 (accepted 2026-09-22) closed it: browser realtime is part of OpenVibe.Events, as server-sent events with cursor resume at events.openvibe.network/realtime/stream. This address serves only this notice.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://realtime.openvibe.network/#site","url":"https://realtime.openvibe.network/","name":"realtime.openvibe.network","description":"OpenVibe.Realtime was planned as a separate service for live updates in the browser. Decision record ADR-005 (accepted 2026-09-22) closed it: browser realtime is part of OpenVibe.Events, as server-sent events with cursor resume at events.openvibe.network/realtime/stream. This address serves only this notice.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://realtime.openvibe.network/#page","url":"https://realtime.openvibe.network/","name":"realtime.openvibe.network — Closed: realtime delivery is part of OpenVibe.Events.","description":"OpenVibe.Realtime was planned as a separate service for live updates in the browser. Decision record ADR-005 (accepted 2026-09-22) closed it: browser realtime is part of OpenVibe.Events, as server-sent events with cursor resume at events.openvibe.network/realtime/stream. This address serves only this notice.","isPartOf":{"@id":"https://realtime.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"realtime.openvibe.network","item":"https://realtime.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://realtime.openvibe.network/#site","url":"https://realtime.openvibe.network/","name":"realtime.openvibe.network","description":"OpenVibe.Realtime was planned as a separate service for live updates in the browser. Decision record ADR-005 (accepted 2026-09-22) closed it: browser realtime is part of OpenVibe.Events, as server-sent events with cursor resume at events.openvibe.network/realtime/stream. This address serves only this notice.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://realtime.openvibe.network/#page","url":"https://realtime.openvibe.network/","name":"realtime.openvibe.network — Closed: realtime delivery is part of OpenVibe.Events.","description":"OpenVibe.Realtime was planned as a separate service for live updates in the browser. Decision record ADR-005 (accepted 2026-09-22) closed it: browser realtime is part of OpenVibe.Events, as server-sent events with cursor resume at events.openvibe.network/realtime/stream. This address serves only this notice.","isPartOf":{"@id":"https://realtime.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"realtime.openvibe.network","item":"https://realtime.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -209,6 +209,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/realtime.openvibe.network/release.json b/dist/realtime.openvibe.network/release.json
iindex 7c632a8..6a96361 100644
---- a/dist/realtime.openvibe.network/release.json
++++ b/dist/realtime.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "realtime",
-- "release": "ea26ec2c6ad5",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "1f877edbaca6",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/realtime.openvibe.network/status.json b/dist/realtime.openvibe.network/status.json
iindex 0f8c610..102dd51 100644
---- a/dist/realtime.openvibe.network/status.json
++++ b/dist/realtime.openvibe.network/status.json
@@@ -11,6 +11,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/status.openvibe.network/index.html b/dist/status.openvibe.network/index.html
iindex de4c30f..c587caa 100644
---- a/dist/status.openvibe.network/index.html
++++ b/dist/status.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="status.openvibe.network — Is OpenVibe up?">
<meta name="twitter:description" content="OpenVibe.Network checks every OpenVibe service about once a minute (its readiness endpoint and the release it runs) and publishes what it saw at openvibe.network/status. This address points there.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://status.openvibe.network/#site","url":"https://status.openvibe.network/","name":"status.openvibe.network","description":"OpenVibe.Network checks every OpenVibe service about once a minute (its readiness endpoint and the release it runs) and publishes what it saw at openvibe.network/status. This address points there.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://status.openvibe.network/#page","url":"https://status.openvibe.network/","name":"status.openvibe.network — Is OpenVibe up?","description":"OpenVibe.Network checks every OpenVibe service about once a minute (its readiness endpoint and the release it runs) and publishes what it saw at openvibe.network/status. This address points there.","isPartOf":{"@id":"https://status.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"status.openvibe.network","item":"https://status.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://status.openvibe.network/#site","url":"https://status.openvibe.network/","name":"status.openvibe.network","description":"OpenVibe.Network checks every OpenVibe service about once a minute (its readiness endpoint and the release it runs) and publishes what it saw at openvibe.network/status. This address points there.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://status.openvibe.network/#page","url":"https://status.openvibe.network/","name":"status.openvibe.network — Is OpenVibe up?","description":"OpenVibe.Network checks every OpenVibe service about once a minute (its readiness endpoint and the release it runs) and publishes what it saw at openvibe.network/status. This address points there.","isPartOf":{"@id":"https://status.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"status.openvibe.network","item":"https://status.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -250,6 +250,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/status.openvibe.network/release.json b/dist/status.openvibe.network/release.json
iindex 6ddc0b3..16c23dd 100644
---- a/dist/status.openvibe.network/release.json
++++ b/dist/status.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "status",
-- "release": "edbde187216d",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "a31fa149a407",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/status.openvibe.network/status.json b/dist/status.openvibe.network/status.json
iindex bf2f4f4..1aea867 100644
---- a/dist/status.openvibe.network/status.json
++++ b/dist/status.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/themes.openvibe.network/index.html b/dist/themes.openvibe.network/index.html
iindex ead9b9e..3303734 100644
---- a/dist/themes.openvibe.network/index.html
++++ b/dist/themes.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="themes.openvibe.network — Your look, on every site.">
<meta name="twitter:description" content="themes.openvibe.network will be the theme catalog and API: built-in and community themes, previews, per-site overrides, import/export and the shared design tokens every OpenVibe site renders.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://themes.openvibe.network/#site","url":"https://themes.openvibe.network/","name":"themes.openvibe.network","description":"themes.openvibe.network will be the theme catalog and API: built-in and community themes, previews, per-site overrides, import/export and the shared design tokens every OpenVibe site renders.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://themes.openvibe.network/#page","url":"https://themes.openvibe.network/","name":"themes.openvibe.network — Your look, on every site.","description":"themes.openvibe.network will be the theme catalog and API: built-in and community themes, previews, per-site overrides, import/export and the shared design tokens every OpenVibe site renders.","isPartOf":{"@id":"https://themes.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-02","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"themes.openvibe.network","item":"https://themes.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://themes.openvibe.network/#site","url":"https://themes.openvibe.network/","name":"themes.openvibe.network","description":"themes.openvibe.network will be the theme catalog and API: built-in and community themes, previews, per-site overrides, import/export and the shared design tokens every OpenVibe site renders.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://themes.openvibe.network/#page","url":"https://themes.openvibe.network/","name":"themes.openvibe.network — Your look, on every site.","description":"themes.openvibe.network will be the theme catalog and API: built-in and community themes, previews, per-site overrides, import/export and the shared design tokens every OpenVibe site renders.","isPartOf":{"@id":"https://themes.openvibe.network/#site"},"datePublished":"2026-09-17","dateModified":"2026-10-03","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"themes.openvibe.network","item":"https://themes.openvibe.network/"}]}}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=ee4a6754d0f7" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -219,6 +219,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a href="https://openvibe.homes/"><i class="fa-solid fa-house" aria-hidden="true"></i>OpenVibe.Homes</a>
<a href="https://openvibe.services/"><i class="fa-solid fa-server" aria-hidden="true"></i>OpenVibe.Services</a>
<a href="https://openvibe.run/"><i class="fa-solid fa-terminal" aria-hidden="true"></i>OpenVibe.Run</a>
++ <a href="https://openvibe.work/"><i class="fa-solid fa-briefcase" aria-hidden="true"></i>OpenVibe.Work</a>
<a href="https://openvibe.video/"><i class="fa-solid fa-film" aria-hidden="true"></i>OpenVibe.Video</a>
<a href="https://openvibe.website/"><i class="fa-solid fa-globe" aria-hidden="true"></i>OpenVibe.Website</a>
<a href="https://openvibe.help/"><i class="fa-solid fa-life-ring" aria-hidden="true"></i>OpenVibe.Help</a>
ddiff --git a/dist/themes.openvibe.network/release.json b/dist/themes.openvibe.network/release.json
iindex 5b8164a..8a7e774 100644
---- a/dist/themes.openvibe.network/release.json
++++ b/dist/themes.openvibe.network/release.json
@@@ -1,7 +1,7 @@
{
"service": "themes",
-- "release": "9556c3c9f3e6",
-- "released_at": "2026-10-02T00:00:00.000Z",
++ "release": "7e6d4412be0e",
++ "released_at": "2026-10-03T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
"packages": {
ddiff --git a/dist/themes.openvibe.network/sitemap.xml b/dist/themes.openvibe.network/sitemap.xml
iindex 1ebc1c2..8b1f507 100644
---- a/dist/themes.openvibe.network/sitemap.xml
++++ b/dist/themes.openvibe.network/sitemap.xml
@@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-- <url><loc>https://themes.openvibe.network/</loc><lastmod>2026-10-02</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://themes.openvibe.network/</loc><lastmod>2026-10-03</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/themes.openvibe.network/status.json b/dist/themes.openvibe.network/status.json
iindex f8ab723..b905925 100644
---- a/dist/themes.openvibe.network/status.json
++++ b/dist/themes.openvibe.network/status.json
@@@ -18,6 +18,6 @@
"launchWaitsFor": null,
"factsAsOf": "2026-09-29",
"network": "https://openvibe.network",
-- "updated": "2026-10-02",
++ "updated": "2026-10-03",
"note": "Static page served by OpenVibers/OpenVibe.Sites; service facts come from each repository's STATUS.json and the Network registry (facts.json). Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/sites.json b/sites.json
iindex 9640dd9..76b3ca5 100644
---- a/sites.json
++++ b/sites.json
@@@ -1107,6 +1107,43 @@
"keywords": "openvibe run, code sandbox, run code online, serverless functions, ai agent tasks",
"launch": "the sandbox runtime"
},
++ {
++ "domain": "openvibe.work",
++ "tld": "work",
++ "name": "OpenVibe.Work",
++ "icon": "fa-briefcase",
++ "accent": "#34d399",
++ "noRepo": true,
++ "tagline": "Find work, with an agent on your side.",
++ "description": "OpenVibe.Work will gather job listings from open sources with their provenance, let you search them and watch for new ones that fit, and let an agent help you prepare and apply — with your approval at every step. Part of the OpenVibe network, with one account for every site.",
++ "pillars": [
++ [
++ "Every listing sourced",
++ "Where it came from and when, always shown."
++ ],
++ [
++ "Watch for fits",
++ "Get told when a job that matches appears."
++ ],
++ [
++ "An agent that helps",
++ "Drafts, tailors and tracks applications — you approve."
++ ],
++ [
++ "Yours to control",
++ "Your profile and history stay yours, exportable any time."
++ ]
++ ],
++ "meanwhile": [
++ [
++ "OpenVibe.Network",
++ "https://openvibe.network",
++ "One free account for every OpenVibe site, ready today."
++ ]
++ ],
++ "keywords": "openvibe work, job search, job listings, job alerts, ai job application assistant",
++ "launch": "job listings and alerts"
++ },
{
"domain": "openvibe.video",
"tld": "video",