openvibers/openvibe.sites Commits

Placeholders link to their charter repositories (all 21 now exist on GitHub, code-free); status.json carries repoUrl/repoStage

OP OpenVibers committed 21 Sept 2026 · 1fdbe67537 · 65 files, +151 −109


Changes

ddiff --git a/build.js b/build.js
iindex 98e9c54..1ea3d84 100644
---- a/build.js
++++ b/build.js
@@@ -150,7 +150,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<a class="btn" href="${NET.networkUrl}/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>
<a class="btn" href="${esc(NET.discord)}" 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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/${esc(site.plannedRepo || 'TBD')}</code>${site.plannedRepo ? ' (repository not created yet)' : ''} · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: ${site.plannedRepo ? `<a href="https://github.com/OpenVibers/${esc(site.plannedRepo)}" rel="noopener"><code>OpenVibers/${esc(site.plannedRepo)}</code></a> (charter only, no code yet)` : '<code>OpenVibe.Network</code> (planned as a module of the network service)'} · <a href="/status.json">status.json</a></p>
</header>
<section>
@@@ -276,7 +276,7 @@ function build() {
out[`${site.domain}/robots.txt`] = robots(site);
out[`${site.domain}/sitemap.xml`] = sitemap(site);
out[`${site.domain}/manifest.webmanifest`] = manifest(site);
-- out[`${site.domain}/status.json`] = JSON.stringify({ domain: site.domain, name: site.name, stage: site.stage || 'placeholder', live: false, plannedRepo: site.plannedRepo ? `OpenVibers/${site.plannedRepo}` : null, repoExists: false, network: NET.networkUrl, updated: today, note: 'Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain.' }, null, 2) + '\n';
++ out[`${site.domain}/status.json`] = JSON.stringify({ domain: site.domain, name: site.name, stage: site.stage || 'placeholder', live: false, plannedRepo: site.plannedRepo ? `OpenVibers/${site.plannedRepo}` : null, repoUrl: site.plannedRepo ? `https://github.com/OpenVibers/${site.plannedRepo}` : null, repoExists: !!site.plannedRepo, repoStage: site.plannedRepo ? 'charter-only' : null, network: NET.networkUrl, updated: today, note: 'Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain.' }, null, 2) + '\n';
for (const kind of ['terms', 'privacy', 'dmca']) out[`${site.domain}/${kind}.html`] = legal.page(kind, legalSite(site));
out[`../deploy/nginx/${site.domain}.conf`] = vhost(site);
}
ddiff --git a/dist/admin.openvibe.network/index.html b/dist/admin.openvibe.network/index.html
iindex fde88b0..6f306cc 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Network</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/admin.openvibe.network/sitemap.xml b/dist/admin.openvibe.network/sitemap.xml
iindex ccc9d18..a815b5c 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://admin.openvibe.network/</loc><lastmod>2026-09-21</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 c2ec99e..a9cd084 100644
---- a/dist/admin.openvibe.network/status.json
++++ b/dist/admin.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Network",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Network",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 96e716d..db199ed 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 — AI as a service, for every OpenVibe product.">
<meta name="twitter:description" content="ai.openvibe.network will be the shared AI layer: providers and models, routing, prompt templates, workflows, runs, citations, caching and quotas, used by Live, Wiki, News and the rest instead of each product wiring its own.">
<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":"ai.openvibe.network will be the shared AI layer: providers and models, routing, prompt templates, workflows, runs, citations, caching and quotas, used by Live, Wiki, News and the rest instead of each product wiring its own.","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 — AI as a service, for every OpenVibe product.","description":"ai.openvibe.network will be the shared AI layer: providers and models, routing, prompt templates, workflows, runs, citations, caching and quotas, used by Live, Wiki, News and the rest instead of each product wiring its own.","isPartOf":{"@id":"https://ai.openvibe.network/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","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":"ai.openvibe.network will be the shared AI layer: providers and models, routing, prompt templates, workflows, runs, citations, caching and quotas, used by Live, Wiki, News and the rest instead of each product wiring its own.","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 — AI as a service, for every OpenVibe product.","description":"ai.openvibe.network will be the shared AI layer: providers and models, routing, prompt templates, workflows, runs, citations, caching and quotas, used by Live, Wiki, News and the rest instead of each product wiring its own.","isPartOf":{"@id":"https://ai.openvibe.network/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.AI</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.AI" rel="noopener"><code>OpenVibers/OpenVibe.AI</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/ai.openvibe.network/sitemap.xml b/dist/ai.openvibe.network/sitemap.xml
iindex af1a051..b6353da 100644
---- a/dist/ai.openvibe.network/sitemap.xml
++++ b/dist/ai.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://ai.openvibe.network/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://ai.openvibe.network/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/ai.openvibe.network/status.json b/dist/ai.openvibe.network/status.json
iindex 74f1223..43449e5 100644
---- a/dist/ai.openvibe.network/status.json
++++ b/dist/ai.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.AI",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.AI",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 53ee772..9b20331 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 will expose the ecosystem registry: services, capabilities, event topics, namespaces and releases as versioned, documented APIs backed by the OpenVibe contracts.">
<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 will expose the ecosystem registry: services, capabilities, event topics, namespaces and releases as versioned, documented APIs backed by the OpenVibe contracts.","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 will expose the ecosystem registry: services, capabilities, event topics, namespaces and releases as versioned, documented APIs backed by the OpenVibe contracts.","isPartOf":{"@id":"https://api.openvibe.network/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","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 will expose the ecosystem registry: services, capabilities, event topics, namespaces and releases as versioned, documented APIs backed by the OpenVibe contracts.","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 will expose the ecosystem registry: services, capabilities, event topics, namespaces and releases as versioned, documented APIs backed by the OpenVibe contracts.","isPartOf":{"@id":"https://api.openvibe.network/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Network</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/api.openvibe.network/sitemap.xml b/dist/api.openvibe.network/sitemap.xml
iindex b7b4207..9e837dc 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://api.openvibe.network/</loc><lastmod>2026-09-21</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 933cdc7..580f2a7 100644
---- a/dist/api.openvibe.network/status.json
++++ b/dist/api.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Network",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Network",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 228125e..6d4e389 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Network</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/auth.openvibe.network/sitemap.xml b/dist/auth.openvibe.network/sitemap.xml
iindex 79901fb..c6a6856 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://auth.openvibe.network/</loc><lastmod>2026-09-21</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 0c82634..a757a92 100644
---- a/dist/auth.openvibe.network/status.json
++++ b/dist/auth.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Network",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Network",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/billing.openvibe.network/index.html b/dist/billing.openvibe.network/index.html
iindex a0ea06a..3b12976 100644
---- a/dist/billing.openvibe.network/index.html
++++ b/dist/billing.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="billing.openvibe.network — Money, accounted once.">
<meta name="twitter:description" content="billing.openvibe.network will be the isolated ledger for the network: payment providers, receipts, subscriptions, entitlements, refunds and payouts, kept separate from loyalty points and from every product.">
<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://billing.openvibe.network/#site","url":"https://billing.openvibe.network/","name":"billing.openvibe.network","description":"billing.openvibe.network will be the isolated ledger for the network: payment providers, receipts, subscriptions, entitlements, refunds and payouts, kept separate from loyalty points and from every product.","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://billing.openvibe.network/#page","url":"https://billing.openvibe.network/","name":"billing.openvibe.network — Money, accounted once.","description":"billing.openvibe.network will be the isolated ledger for the network: payment providers, receipts, subscriptions, entitlements, refunds and payouts, kept separate from loyalty points and from every product.","isPartOf":{"@id":"https://billing.openvibe.network/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"billing.openvibe.network","item":"https://billing.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://billing.openvibe.network/#site","url":"https://billing.openvibe.network/","name":"billing.openvibe.network","description":"billing.openvibe.network will be the isolated ledger for the network: payment providers, receipts, subscriptions, entitlements, refunds and payouts, kept separate from loyalty points and from every product.","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://billing.openvibe.network/#page","url":"https://billing.openvibe.network/","name":"billing.openvibe.network — Money, accounted once.","description":"billing.openvibe.network will be the isolated ledger for the network: payment providers, receipts, subscriptions, entitlements, refunds and payouts, kept separate from loyalty points and from every product.","isPartOf":{"@id":"https://billing.openvibe.network/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"billing.openvibe.network","item":"https://billing.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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Billing</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Billing" rel="noopener"><code>OpenVibers/OpenVibe.Billing</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/billing.openvibe.network/sitemap.xml b/dist/billing.openvibe.network/sitemap.xml
iindex 8bbb1ff..06c82cd 100644
---- a/dist/billing.openvibe.network/sitemap.xml
++++ b/dist/billing.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://billing.openvibe.network/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://billing.openvibe.network/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/billing.openvibe.network/status.json b/dist/billing.openvibe.network/status.json
iindex ef3b4d2..e690902 100644
---- a/dist/billing.openvibe.network/status.json
++++ b/dist/billing.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Billing",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Billing",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/events.openvibe.network/index.html b/dist/events.openvibe.network/index.html
iindex c191209..a5ab7d8 100644
---- a/dist/events.openvibe.network/index.html
++++ b/dist/events.openvibe.network/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="events.openvibe.network — Durable events for the whole network.">
<meta name="twitter:description" content="events.openvibe.network will be the durable event backbone: every meaningful thing that happens on an OpenVibe service is recorded, delivered to subscribers with retries, replayable and auditable.">
<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://events.openvibe.network/#site","url":"https://events.openvibe.network/","name":"events.openvibe.network","description":"events.openvibe.network will be the durable event backbone: every meaningful thing that happens on an OpenVibe service is recorded, delivered to subscribers with retries, replayable and auditable.","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://events.openvibe.network/#page","url":"https://events.openvibe.network/","name":"events.openvibe.network — Durable events for the whole network.","description":"events.openvibe.network will be the durable event backbone: every meaningful thing that happens on an OpenVibe service is recorded, delivered to subscribers with retries, replayable and auditable.","isPartOf":{"@id":"https://events.openvibe.network/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"events.openvibe.network","item":"https://events.openvibe.network/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://events.openvibe.network/#site","url":"https://events.openvibe.network/","name":"events.openvibe.network","description":"events.openvibe.network will be the durable event backbone: every meaningful thing that happens on an OpenVibe service is recorded, delivered to subscribers with retries, replayable and auditable.","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://events.openvibe.network/#page","url":"https://events.openvibe.network/","name":"events.openvibe.network — Durable events for the whole network.","description":"events.openvibe.network will be the durable event backbone: every meaningful thing that happens on an OpenVibe service is recorded, delivered to subscribers with retries, replayable and auditable.","isPartOf":{"@id":"https://events.openvibe.network/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"events.openvibe.network","item":"https://events.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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Events</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Events" rel="noopener"><code>OpenVibers/OpenVibe.Events</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/events.openvibe.network/sitemap.xml b/dist/events.openvibe.network/sitemap.xml
iindex 223c846..91d8080 100644
---- a/dist/events.openvibe.network/sitemap.xml
++++ b/dist/events.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://events.openvibe.network/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://events.openvibe.network/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/events.openvibe.network/status.json b/dist/events.openvibe.network/status.json
iindex 1457817..5b5c9a2 100644
---- a/dist/events.openvibe.network/status.json
++++ b/dist/events.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Events",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Events",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 db1ce52..04678ed 100644
---- a/dist/openre.stream/index.html
++++ b/dist/openre.stream/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenRe.Stream — Ingest and restream, in the open.">
<meta name="twitter:description" content="OpenRe.Stream is the ingest and restream infrastructure behind OpenVibe.Live: RTMP, WHIP and SRT ingest, stream lifecycle, restream destinations and output status — the plumbing, documented and open.">
<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 the ingest and restream infrastructure behind OpenVibe.Live: RTMP, WHIP and SRT ingest, stream lifecycle, restream destinations and output status — the plumbing, documented and open.","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 — Ingest and restream, in the open.","description":"OpenRe.Stream is the ingest and restream infrastructure behind OpenVibe.Live: RTMP, WHIP and SRT ingest, stream lifecycle, restream destinations and output status — the plumbing, documented and open.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","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/"}]}}]}</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 the ingest and restream infrastructure behind OpenVibe.Live: RTMP, WHIP and SRT ingest, stream lifecycle, restream destinations and output status — the plumbing, documented and open.","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 — Ingest and restream, in the open.","description":"OpenRe.Stream is the ingest and restream infrastructure behind OpenVibe.Live: RTMP, WHIP and SRT ingest, stream lifecycle, restream destinations and output status — the plumbing, documented and open.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","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/"}]}}]}</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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenRe.Stream</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenRe.Stream" rel="noopener"><code>OpenVibers/OpenRe.Stream</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openre.stream/sitemap.xml b/dist/openre.stream/sitemap.xml
iindex a33dae7..2b4b16d 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openre.stream/</loc><lastmod>2026-09-21</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 7552558..2194816 100644
---- a/dist/openre.stream/status.json
++++ b/dist/openre.stream/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenRe.Stream",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenRe.Stream",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.blog/index.html b/dist/openvibe.blog/index.html
iindex 6cb6d3f..b24a839 100644
---- a/dist/openvibe.blog/index.html
++++ b/dist/openvibe.blog/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Blog — Long-form, yours to keep.">
<meta name="twitter:description" content="OpenVibe.Blog is the publishing home of the OpenVibe network: the official OpenVibe blog and blogs for every member — drafts, scheduled posts, media-rich writing, comments and feeds, with your OpenVibe account.">
<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.blog/#site","url":"https://openvibe.blog/","name":"OpenVibe.Blog","description":"OpenVibe.Blog is the publishing home of the OpenVibe network: the official OpenVibe blog and blogs for every member — drafts, scheduled posts, media-rich writing, comments and feeds, with your OpenVibe account.","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.blog/#page","url":"https://openvibe.blog/","name":"OpenVibe.Blog — Long-form, yours to keep.","description":"OpenVibe.Blog is the publishing home of the OpenVibe network: the official OpenVibe blog and blogs for every member — drafts, scheduled posts, media-rich writing, comments and feeds, with your OpenVibe account.","isPartOf":{"@id":"https://openvibe.blog/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Blog","item":"https://openvibe.blog/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.blog/#site","url":"https://openvibe.blog/","name":"OpenVibe.Blog","description":"OpenVibe.Blog is the publishing home of the OpenVibe network: the official OpenVibe blog and blogs for every member — drafts, scheduled posts, media-rich writing, comments and feeds, with your OpenVibe account.","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.blog/#page","url":"https://openvibe.blog/","name":"OpenVibe.Blog — Long-form, yours to keep.","description":"OpenVibe.Blog is the publishing home of the OpenVibe network: the official OpenVibe blog and blogs for every member — drafts, scheduled posts, media-rich writing, comments and feeds, with your OpenVibe account.","isPartOf":{"@id":"https://openvibe.blog/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Blog","item":"https://openvibe.blog/"}]}}]}</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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Blog</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Blog" rel="noopener"><code>OpenVibers/OpenVibe.Blog</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.blog/sitemap.xml b/dist/openvibe.blog/sitemap.xml
iindex 9b7e4aa..82baaea 100644
---- a/dist/openvibe.blog/sitemap.xml
++++ b/dist/openvibe.blog/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.blog/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.blog/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.blog/status.json b/dist/openvibe.blog/status.json
iindex cce7865..9b16667 100644
---- a/dist/openvibe.blog/status.json
++++ b/dist/openvibe.blog/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Blog",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Blog",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.chat/index.html b/dist/openvibe.chat/index.html
iindex c9c04b9..fbd6944 100644
---- a/dist/openvibe.chat/index.html
++++ b/dist/openvibe.chat/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Chat — One chat for the whole network.">
<meta name="twitter:description" content="OpenVibe.Chat is the communication layer of the OpenVibe network: global rooms, stream chat, direct messages, group rooms, voice calls and text-to-speech — one identity, every conversation.">
<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.chat/#site","url":"https://openvibe.chat/","name":"OpenVibe.Chat","description":"OpenVibe.Chat is the communication layer of the OpenVibe network: global rooms, stream chat, direct messages, group rooms, voice calls and text-to-speech — one identity, every conversation.","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.chat/#page","url":"https://openvibe.chat/","name":"OpenVibe.Chat — One chat for the whole network.","description":"OpenVibe.Chat is the communication layer of the OpenVibe network: global rooms, stream chat, direct messages, group rooms, voice calls and text-to-speech — one identity, every conversation.","isPartOf":{"@id":"https://openvibe.chat/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Chat","item":"https://openvibe.chat/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.chat/#site","url":"https://openvibe.chat/","name":"OpenVibe.Chat","description":"OpenVibe.Chat is the communication layer of the OpenVibe network: global rooms, stream chat, direct messages, group rooms, voice calls and text-to-speech — one identity, every conversation.","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.chat/#page","url":"https://openvibe.chat/","name":"OpenVibe.Chat — One chat for the whole network.","description":"OpenVibe.Chat is the communication layer of the OpenVibe network: global rooms, stream chat, direct messages, group rooms, voice calls and text-to-speech — one identity, every conversation.","isPartOf":{"@id":"https://openvibe.chat/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Chat","item":"https://openvibe.chat/"}]}}]}</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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Chat</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Chat" rel="noopener"><code>OpenVibers/OpenVibe.Chat</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.chat/sitemap.xml b/dist/openvibe.chat/sitemap.xml
iindex 8f8eac5..500a95a 100644
---- a/dist/openvibe.chat/sitemap.xml
++++ b/dist/openvibe.chat/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.chat/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.chat/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.chat/status.json b/dist/openvibe.chat/status.json
iindex 3391e04..e9ba118 100644
---- a/dist/openvibe.chat/status.json
++++ b/dist/openvibe.chat/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Chat",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Chat",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.codes/index.html b/dist/openvibe.codes/index.html
iindex 88fd7a8..91f35ac 100644
---- a/dist/openvibe.codes/index.html
++++ b/dist/openvibe.codes/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Codes — Build on OpenVibe.">
<meta name="twitter:description" content="OpenVibe.Codes is the developer portal of the OpenVibe network: API and SDK documentation, the service and capability registry, event schemas, mod publishing, starter templates and vibe-coding sessions.">
<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.codes/#site","url":"https://openvibe.codes/","name":"OpenVibe.Codes","description":"OpenVibe.Codes is the developer portal of the OpenVibe network: API and SDK documentation, the service and capability registry, event schemas, mod publishing, starter templates and vibe-coding sessions.","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.codes/#page","url":"https://openvibe.codes/","name":"OpenVibe.Codes — Build on OpenVibe.","description":"OpenVibe.Codes is the developer portal of the OpenVibe network: API and SDK documentation, the service and capability registry, event schemas, mod publishing, starter templates and vibe-coding sessions.","isPartOf":{"@id":"https://openvibe.codes/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Codes","item":"https://openvibe.codes/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.codes/#site","url":"https://openvibe.codes/","name":"OpenVibe.Codes","description":"OpenVibe.Codes is the developer portal of the OpenVibe network: API and SDK documentation, the service and capability registry, event schemas, mod publishing, starter templates and vibe-coding sessions.","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.codes/#page","url":"https://openvibe.codes/","name":"OpenVibe.Codes — Build on OpenVibe.","description":"OpenVibe.Codes is the developer portal of the OpenVibe network: API and SDK documentation, the service and capability registry, event schemas, mod publishing, starter templates and vibe-coding sessions.","isPartOf":{"@id":"https://openvibe.codes/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Codes","item":"https://openvibe.codes/"}]}}]}</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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Codes</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Codes" rel="noopener"><code>OpenVibers/OpenVibe.Codes</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.codes/sitemap.xml b/dist/openvibe.codes/sitemap.xml
iindex 8106068..f547d40 100644
---- a/dist/openvibe.codes/sitemap.xml
++++ b/dist/openvibe.codes/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.codes/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.codes/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.codes/status.json b/dist/openvibe.codes/status.json
iindex e8e43a4..e53624e 100644
---- a/dist/openvibe.codes/status.json
++++ b/dist/openvibe.codes/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Codes",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Codes",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 29f3d88..0be6e12 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Coupons</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Coupons" rel="noopener"><code>OpenVibers/OpenVibe.Coupons</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.coupons/sitemap.xml b/dist/openvibe.coupons/sitemap.xml
iindex 8c50415..8e9b8df 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.coupons/</loc><lastmod>2026-09-21</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 ea5c045..a96fac2 100644
---- a/dist/openvibe.coupons/status.json
++++ b/dist/openvibe.coupons/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Coupons",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Coupons",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 c1480db..915f24e 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Deals</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Deals" rel="noopener"><code>OpenVibers/OpenVibe.Deals</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.deals/sitemap.xml b/dist/openvibe.deals/sitemap.xml
iindex 7174f60..4d7d181 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.deals/</loc><lastmod>2026-09-21</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 266474d..0f9a80a 100644
---- a/dist/openvibe.deals/status.json
++++ b/dist/openvibe.deals/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Deals",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Deals",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 aa7f901..b8c498b 100644
---- a/dist/openvibe.host/index.html
++++ b/dist/openvibe.host/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Host — Run it yourself.">
<meta name="twitter:description" content="OpenVibe.Host is the hosting and deployment surface of the OpenVibe network: deploy OpenVibe services, bots, mods and static sites, with TLS, DNS and logs handled for you.">
<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 hosting and deployment surface of the OpenVibe network: deploy OpenVibe services, bots, mods and static sites, with TLS, DNS and logs handled for you.","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 — Run it yourself.","description":"OpenVibe.Host is the hosting and deployment surface of the OpenVibe network: deploy OpenVibe services, bots, mods and static sites, with TLS, DNS and logs handled for you.","isPartOf":{"@id":"https://openvibe.host/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","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 hosting and deployment surface of the OpenVibe network: deploy OpenVibe services, bots, mods and static sites, with TLS, DNS and logs handled for you.","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 — Run it yourself.","description":"OpenVibe.Host is the hosting and deployment surface of the OpenVibe network: deploy OpenVibe services, bots, mods and static sites, with TLS, DNS and logs handled for you.","isPartOf":{"@id":"https://openvibe.host/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Host</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Host" rel="noopener"><code>OpenVibers/OpenVibe.Host</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.host/sitemap.xml b/dist/openvibe.host/sitemap.xml
iindex 9c7ec18..833e50a 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.host/</loc><lastmod>2026-09-21</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 08d24af..8fb13d0 100644
---- a/dist/openvibe.host/status.json
++++ b/dist/openvibe.host/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Host",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Host",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 c5da33a..3db6d73 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.News</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.News" rel="noopener"><code>OpenVibers/OpenVibe.News</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.news/sitemap.xml b/dist/openvibe.news/sitemap.xml
iindex 5134323..6cd31d2 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.news/</loc><lastmod>2026-09-21</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 ea8e50f..eab5425 100644
---- a/dist/openvibe.news/status.json
++++ b/dist/openvibe.news/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.News",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.News",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 24e74b8..b0862f0 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Reviews</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Reviews" rel="noopener"><code>OpenVibers/OpenVibe.Reviews</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.reviews/sitemap.xml b/dist/openvibe.reviews/sitemap.xml
iindex 1f13dd3..176d53a 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.reviews/</loc><lastmod>2026-09-21</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 b7530ae..6751051 100644
---- a/dist/openvibe.reviews/status.json
++++ b/dist/openvibe.reviews/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Reviews",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Reviews",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 7afd84e..7fc021d 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Tips</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Tips" rel="noopener"><code>OpenVibers/OpenVibe.Tips</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.tips/sitemap.xml b/dist/openvibe.tips/sitemap.xml
iindex 067bae2..63198c8 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.tips/</loc><lastmod>2026-09-21</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 3fff685..1c33017 100644
---- a/dist/openvibe.tips/status.json
++++ b/dist/openvibe.tips/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Tips",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Tips",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 1f84dd0..d895fe2 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Trade</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Trade" rel="noopener"><code>OpenVibers/OpenVibe.Trade</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.trade/sitemap.xml b/dist/openvibe.trade/sitemap.xml
iindex 1861ef4..423c450 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.trade/</loc><lastmod>2026-09-21</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 779c80f..931a932 100644
---- a/dist/openvibe.trade/status.json
++++ b/dist/openvibe.trade/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Trade",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Trade",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 f7edc15..6587fe8 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.VIP</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.VIP" rel="noopener"><code>OpenVibers/OpenVibe.VIP</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.vip/sitemap.xml b/dist/openvibe.vip/sitemap.xml
iindex 284932e..b521a8e 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.vip/</loc><lastmod>2026-09-21</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 6eaa5d4..b7d575a 100644
---- a/dist/openvibe.vip/status.json
++++ b/dist/openvibe.vip/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.VIP",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.VIP",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/openvibe.wiki/index.html b/dist/openvibe.wiki/index.html
iindex 04433ac..d9b22a2 100644
---- a/dist/openvibe.wiki/index.html
++++ b/dist/openvibe.wiki/index.html
@@@ -24,7 +24,7 @@
<meta name="twitter:title" content="OpenVibe.Wiki — Knowledge, with sources.">
<meta name="twitter:description" content="OpenVibe.Wiki is the knowledge space of the OpenVibe network: wiki spaces you can build and edit together, source-backed and AI-assisted, with page trees, citations, media and 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.wiki/#site","url":"https://openvibe.wiki/","name":"OpenVibe.Wiki","description":"OpenVibe.Wiki is the knowledge space of the OpenVibe network: wiki spaces you can build and edit together, source-backed and AI-assisted, with page trees, citations, media and 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.wiki/#page","url":"https://openvibe.wiki/","name":"OpenVibe.Wiki — Knowledge, with sources.","description":"OpenVibe.Wiki is the knowledge space of the OpenVibe network: wiki spaces you can build and edit together, source-backed and AI-assisted, with page trees, citations, media and discussion.","isPartOf":{"@id":"https://openvibe.wiki/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Wiki","item":"https://openvibe.wiki/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openvibe.wiki/#site","url":"https://openvibe.wiki/","name":"OpenVibe.Wiki","description":"OpenVibe.Wiki is the knowledge space of the OpenVibe network: wiki spaces you can build and edit together, source-backed and AI-assisted, with page trees, citations, media and 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.wiki/#page","url":"https://openvibe.wiki/","name":"OpenVibe.Wiki — Knowledge, with sources.","description":"OpenVibe.Wiki is the knowledge space of the OpenVibe network: wiki spaces you can build and edit together, source-backed and AI-assisted, with page trees, citations, media and discussion.","isPartOf":{"@id":"https://openvibe.wiki/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenVibe.Wiki","item":"https://openvibe.wiki/"}]}}]}</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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Wiki</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Wiki" rel="noopener"><code>OpenVibers/OpenVibe.Wiki</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/openvibe.wiki/sitemap.xml b/dist/openvibe.wiki/sitemap.xml
iindex 6feb90e..b22ae87 100644
---- a/dist/openvibe.wiki/sitemap.xml
++++ b/dist/openvibe.wiki/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.wiki/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://openvibe.wiki/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/openvibe.wiki/status.json b/dist/openvibe.wiki/status.json
iindex 4c70e5a..079b06b 100644
---- a/dist/openvibe.wiki/status.json
++++ b/dist/openvibe.wiki/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Wiki",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Wiki",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. Removed from sites.json in the same release that the real service takes over this domain."
}
ddiff --git a/dist/realtime.openvibe.network/index.html b/dist/realtime.openvibe.network/index.html
iindex ae67dcf..9afbb8f 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 — Authorized live updates, resumable.">
<meta name="twitter:description" content="realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.">
<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":"realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.","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 — Authorized live updates, resumable.","description":"realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.","isPartOf":{"@id":"https://realtime.openvibe.network/#site"},"datePublished":"2026-09-20","dateModified":"2026-09-20","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":"realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.","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 — Authorized live updates, resumable.","description":"realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.","isPartOf":{"@id":"https://realtime.openvibe.network/#site"},"datePublished":"2026-09-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Events</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Realtime" rel="noopener"><code>OpenVibers/OpenVibe.Realtime</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/realtime.openvibe.network/sitemap.xml b/dist/realtime.openvibe.network/sitemap.xml
iindex 7236b36..907719d 100644
---- a/dist/realtime.openvibe.network/sitemap.xml
++++ b/dist/realtime.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://realtime.openvibe.network/</loc><lastmod>2026-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://realtime.openvibe.network/</loc><lastmod>2026-09-21</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
</urlset>
ddiff --git a/dist/realtime.openvibe.network/status.json b/dist/realtime.openvibe.network/status.json
iindex f4deafa..c4f3c50 100644
---- a/dist/realtime.openvibe.network/status.json
++++ b/dist/realtime.openvibe.network/status.json
@@@ -3,9 +3,11 @@
"name": "realtime.openvibe.network",
"stage": "placeholder",
"live": false,
-- "plannedRepo": "OpenVibers/OpenVibe.Events",
-- "repoExists": false,
++ "plannedRepo": "OpenVibers/OpenVibe.Realtime",
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Realtime",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 b63ee77..1908715 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-20","dateModified":"2026-09-20","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-21","dateModified":"2026-09-21","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="https://openvibe.network/shared/theme-loader.js" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -101,7 +101,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<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>coming soon</b> · this page is a placeholder, nothing here is live yet · planned home: <code>OpenVibers/OpenVibe.Network</code> (repository not created yet) · <a href="/status.json">status.json</a></p>
++ <p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>coming soon</b> · this page is a placeholder, nothing here is live yet · home: <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> (charter only, no code yet) · <a href="/status.json">status.json</a></p>
</header>
<section>
ddiff --git a/dist/themes.openvibe.network/sitemap.xml b/dist/themes.openvibe.network/sitemap.xml
iindex ace918b..1299031 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-09-20</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
++ <url><loc>https://themes.openvibe.network/</loc><lastmod>2026-09-21</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 acec048..fe17609 100644
---- a/dist/themes.openvibe.network/status.json
++++ b/dist/themes.openvibe.network/status.json
@@@ -4,8 +4,10 @@
"stage": "placeholder",
"live": false,
"plannedRepo": "OpenVibers/OpenVibe.Network",
-- "repoExists": false,
++ "repoUrl": "https://github.com/OpenVibers/OpenVibe.Network",
++ "repoExists": true,
++ "repoStage": "charter-only",
"network": "https://openvibe.network",
-- "updated": "2026-09-20",
++ "updated": "2026-09-21",
"note": "Static placeholder served by OpenVibers/OpenVibe.Sites. 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 5b3c7de..d684ffb 100644
---- a/sites.json
++++ b/sites.json
@@@ -794,7 +794,7 @@
"icon": "fa-satellite-dish",
"accent": "#34d399",
"stage": "placeholder",
-- "plannedRepo": "OpenVibe.Events",
++ "plannedRepo": "OpenVibe.Realtime",
"legalProfile": "info",
"tagline": "Authorized live updates, resumable.",
"description": "realtime.openvibe.network will be the browser delivery plane for events: WebSocket and SSE subscriptions with cursors, presence and gap recovery, separate from the durable event store.",