openvibers/openvibe.news Commits
OpenVibe.News docs: public on its own domain since 2026-10-09 (#23)
Changes
@@@ -4,9 +4,9 @@> public correction history.**Status:** alpha (roadmap Wave 17, News half). The service runs and its tests pass. It is--**deployed internally, not launched**: it runs on the production host on 127.0.0.1:4820 only--(release `1802e7d`, `/api/ready` 200), while `openvibe.news` still shows its placeholder from--OpenVibe.Sites. Its capabilities and service manifest are registered in openvibe-contracts v0.97.0.++**public at `openvibe.news` since 2026-10-09**, after an independent pre-launch security review whose++fixes shipped first; the domain no longer shows the OpenVibe.Sites placeholder. Its capabilities and++service manifest are registered in openvibe-contracts v0.97.0.The production database holds 12 topics and no stories: it has not ingested anything from therunning OpenVibe.Sources service, because every Sources seed is disabled.**Domain:** `openvibe.news` · **Port:** 4820 · **Service id:** `news`@@@ -293,25 +293,24 @@ exist), and an OpenVibe.AI run (OpenVibe.AI runs on the host, but News in produc## Launch rule--This repository alone doesn't make the product live. `openvibe.news` keeps its placeholder on--[OpenVibers/OpenVibe.Sites](https://github.com/OpenVibers/OpenVibe.Sites) until all of plan §12.12--exists:++This repository alone doesn't make the product live: the launch is a coordinated change across++OpenVibe.Sites, routing and the ecosystem registry. All of plan §12.12 was met on 2026-10-09, and++the service is now public at `openvibe.news`:1. **Runtime, health, readiness, observability:** done.2. **Canonical identity and auth:** done (Network SSO, subjects, service tokens).3. **SSR public routes useful without JS:** done.--4. **Persistence and end-to-end workflows:** done in tests and deployed on the host (loopback-- only); not yet against live Sources items, since no news source is enabled.++4. **Persistence and end-to-end workflows:** done in tests and deployed on the host; not yet++ against live Sources items, since no news source is enabled.5. **Capability and event registration against OpenVibe.Contracts:** done (openvibe-contractsv0.97.0).6. **Migration and seed strategy, threat review, sitemap/robots/feed behaviour:** done. Nothingto migrate; the seed is topics only; the threat review is below.7. **Acceptance tests:** done.--The launch release removes `openvibe.news` from `OpenVibe.Sites/sites.json`, switches routing--(nginx vhost, DNS, TLS), flips the Network hub entry and registers maturity in the ecosystem--registry, together. A placeholder never counts as an implemented service, and this README doesn't--call the service live.++The launch release removed `openvibe.news` from `OpenVibe.Sites/sites.json`, switched routing++(nginx vhost, DNS, TLS), flipped the Network hub entry and registered maturity in the ecosystem++registry, together.## Security and threat review@@@ -410,8 +409,8 @@ First install (done once; kept for a rebuild):verified by a person) and an editor publishes a story.8. **Contracts:** done: the capabilities and manifest are released in openvibe-contracts v0.97.0,and CI's contracts check runs against them.--9. **Launch:** in the same release, remove `openvibe.news` from OpenVibe.Sites and flip the Network-- hub entry (see the launch rule above).++9. **Launch:** done on 2026-10-09: `openvibe.news` was removed from OpenVibe.Sites, routing switched++ and the Network hub entry flipped (see the launch rule above).---@@@ -35,8 +35,8 @@"ai": "optional seam (news.summarize_story, news.compare_perspectives) tested against a mock; not configured in production (OV_AI_INTERNAL_URL unset); OpenVibe.AI output only ever lands as a draft that needs a person's review","seed": "topics only (12 in production); no stories, source items or clusters","deployed": true,-- "deployment": "Deployed with `sudo ovhost deploy news`: unit openvibe-news, 127.0.0.1:4820 loopback only; on 2026-09-23 /api/ready answered 200 and the production database held 12 topics and 0 stories. Deployed internally, not launched: openvibe.news still serves the OpenVibe.Sites placeholder until a person verifies a news source's terms, enables it in Sources, and an editor publishes a reviewed story",-- "placeholderInSites": true,++ "deployment": "Deployed with `sudo ovhost deploy news`: unit openvibe-news on 127.0.0.1:4820 behind nginx; on 2026-09-23 /api/ready answered 200 and the production database held 12 topics and 0 stories. Public at openvibe.news since 2026-10-09, after an independent pre-launch security review whose fixes shipped first; the OpenVibe.Sites placeholder is gone. The database still holds no stories: no source item has arrived while every Sources seed is disabled",++ "placeholderInSites": false,"features": ["Sources ingestion by Events subscription and cursor pull, with dedupe","failed ingestion recorded, never fabricated",
@@ -4,9 +4,9 @@
@@ -4,9 +4,9 @@
> public correction history.
> public correction history.
**Status:** alpha (roadmap Wave 17, News half). The service runs and its tests pass. It is
**Status:** alpha (roadmap Wave 17, News half). The service runs and its tests pass. It is
-**deployed internally, not launched**: it runs on the production host on 127.0.0.1:4820 only
-(release `1802e7d`, `/api/ready` 200), while `openvibe.news` still shows its placeholder from
-OpenVibe.Sites. Its capabilities and service manifest are registered in openvibe-contracts v0.97.0.
+**public at `openvibe.news` since 2026-10-09**, after an independent pre-launch security review whose
+fixes shipped first; the domain no longer shows the OpenVibe.Sites placeholder. Its capabilities and
+service manifest are registered in openvibe-contracts v0.97.0.
The production database holds 12 topics and no stories: it has not ingested anything from the
The production database holds 12 topics and no stories: it has not ingested anything from the
running OpenVibe.Sources service, because every Sources seed is disabled.
running OpenVibe.Sources service, because every Sources seed is disabled.
**Domain:** `openvibe.news` · **Port:** 4820 · **Service id:** `news`
**Domain:** `openvibe.news` · **Port:** 4820 · **Service id:** `news`
@@ -293,25 +293,24 @@ exist), and an OpenVibe.AI run (OpenVibe.AI runs on the host, but News in produc
@@ -293,25 +293,24 @@ exist), and an OpenVibe.AI run (OpenVibe.AI runs on the host, but News in produc
## Launch rule
## Launch rule
-This repository alone doesn't make the product live. `openvibe.news` keeps its placeholder on
-[OpenVibers/OpenVibe.Sites](https://github.com/OpenVibers/OpenVibe.Sites) until all of plan §12.12
-exists:
+This repository alone doesn't make the product live: the launch is a coordinated change across
+OpenVibe.Sites, routing and the ecosystem registry. All of plan §12.12 was met on 2026-10-09, and
+the service is now public at `openvibe.news`:
1. **Runtime, health, readiness, observability:** done.
1. **Runtime, health, readiness, observability:** done.
2. **Canonical identity and auth:** done (Network SSO, subjects, service tokens).
2. **Canonical identity and auth:** done (Network SSO, subjects, service tokens).
3. **SSR public routes useful without JS:** done.
3. **SSR public routes useful without JS:** done.
-4. **Persistence and end-to-end workflows:** done in tests and deployed on the host (loopback
- only); not yet against live Sources items, since no news source is enabled.
+4. **Persistence and end-to-end workflows:** done in tests and deployed on the host; not yet
+ against live Sources items, since no news source is enabled.
5. **Capability and event registration against OpenVibe.Contracts:** done (openvibe-contracts
5. **Capability and event registration against OpenVibe.Contracts:** done (openvibe-contracts
v0.97.0).
v0.97.0).
6. **Migration and seed strategy, threat review, sitemap/robots/feed behaviour:** done. Nothing
6. **Migration and seed strategy, threat review, sitemap/robots/feed behaviour:** done. Nothing
to migrate; the seed is topics only; the threat review is below.
to migrate; the seed is topics only; the threat review is below.
7. **Acceptance tests:** done.
7. **Acceptance tests:** done.
-The launch release removes `openvibe.news` from `OpenVibe.Sites/sites.json`, switches routing
-(nginx vhost, DNS, TLS), flips the Network hub entry and registers maturity in the ecosystem
-registry, together. A placeholder never counts as an implemented service, and this README doesn't
-call the service live.
+The launch release removed `openvibe.news` from `OpenVibe.Sites/sites.json`, switched routing
+(nginx vhost, DNS, TLS), flipped the Network hub entry and registered maturity in the ecosystem
+registry, together.
## Security and threat review
## Security and threat review
@@ -410,8 +409,8 @@ First install (done once; kept for a rebuild):
@@ -410,8 +409,8 @@ First install (done once; kept for a rebuild):
verified by a person) and an editor publishes a story.
verified by a person) and an editor publishes a story.
8. **Contracts:** done: the capabilities and manifest are released in openvibe-contracts v0.97.0,
8. **Contracts:** done: the capabilities and manifest are released in openvibe-contracts v0.97.0,
and CI's contracts check runs against them.
and CI's contracts check runs against them.
-9. **Launch:** in the same release, remove `openvibe.news` from OpenVibe.Sites and flip the Network
- hub entry (see the launch rule above).
+9. **Launch:** done on 2026-10-09: `openvibe.news` was removed from OpenVibe.Sites, routing switched
+ and the Network hub entry flipped (see the launch rule above).
---
---
@@ -35,8 +35,8 @@
@@ -35,8 +35,8 @@
"ai": "optional seam (news.summarize_story, news.compare_perspectives) tested against a mock; not configured in production (OV_AI_INTERNAL_URL unset); OpenVibe.AI output only ever lands as a draft that needs a person's review",
"ai": "optional seam (news.summarize_story, news.compare_perspectives) tested against a mock; not configured in production (OV_AI_INTERNAL_URL unset); OpenVibe.AI output only ever lands as a draft that needs a person's review",
"seed": "topics only (12 in production); no stories, source items or clusters",
"seed": "topics only (12 in production); no stories, source items or clusters",
"deployed": true,
"deployed": true,
- "deployment": "Deployed with `sudo ovhost deploy news`: unit openvibe-news, 127.0.0.1:4820 loopback only; on 2026-09-23 /api/ready answered 200 and the production database held 12 topics and 0 stories. Deployed internally, not launched: openvibe.news still serves the OpenVibe.Sites placeholder until a person verifies a news source's terms, enables it in Sources, and an editor publishes a reviewed story",
- "placeholderInSites": true,
+ "deployment": "Deployed with `sudo ovhost deploy news`: unit openvibe-news on 127.0.0.1:4820 behind nginx; on 2026-09-23 /api/ready answered 200 and the production database held 12 topics and 0 stories. Public at openvibe.news since 2026-10-09, after an independent pre-launch security review whose fixes shipped first; the OpenVibe.Sites placeholder is gone. The database still holds no stories: no source item has arrived while every Sources seed is disabled",
+ "placeholderInSites": false,
"features": [
"features": [
"Sources ingestion by Events subscription and cursor pull, with dedupe",
"Sources ingestion by Events subscription and cursor pull, with dedupe",
"failed ingestion recorded, never fabricated",
"failed ingestion recorded, never fabricated",