openvibers/openvibe.deals Commits

Docs: README and STATUS say what is live today (#43)

OP OpenVibers committed 12 Oct 2026 · 690dba0344 · 2 files, +14 −15

A README accuracy sweep (2026-10-12) corrected statements contradicted by production or by the repository itself: deployment and launch claims, placeholder wording from before plan T11, and 'shared chrome' for the OpenVibe Frame.

Changes

ddiff --git a/README.md b/README.md
iindex 713820f..8404b03 100644
---- a/README.md
++++ b/README.md
@@@ -2,10 +2,9 @@
> Deals submitted and voted on by the community, with source, price and freshness always shown.
--**Status:** alpha (roadmap Wave 18, Deals). The service runs and its tests pass. It is **deployed
--internally, not launched**: it runs on the production host on 127.0.0.1:4840 only (release `e72aeec`,
--`/api/ready` 200) with an empty database (0 offers), and `openvibe.deals` still shows its placeholder
--from OpenVibe.Sites. Its capabilities and service manifest are registered in openvibe-contracts v0.97.0.
++**Status:** alpha (roadmap Wave 18, Deals). The service runs and its tests pass. It is **public at
++`openvibe.deals` since 2026-10-08** (contracts 0.118.0), with offers from the DealNews daily feed through OpenVibe.Sources. Its capabilities and
++service manifest are registered in openvibe-contracts v0.97.0.
**Domain:** `openvibe.deals` · **Port:** 4840 · **Service id:** `deals`
**Plan:** OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026), §12.9; roadmap §15.13, §29, §32.
**License:** AGPL-3.0 (same as every OpenVibe service).
@@@ -357,22 +356,22 @@ full list with audiences is under [Grants the Network must hold](#grants-the-net
## Launch rule
--This repository alone doesn't make the product live. `openvibe.deals` keeps its placeholder on
--[OpenVibers/OpenVibe.Sites](https://github.com/OpenVibers/OpenVibe.Sites) until all of plan §12.12
--exists. Status against each point:
++This repository alone doesn't make the product live. The plan §12.12 launch rule is met:
++`openvibe.deals` is served from this service's own domain since 2026-10-08, no longer as a placeholder
++on [OpenVibers/OpenVibe.Sites](https://github.com/OpenVibers/OpenVibe.Sites). Status against each point:
1. **Runtime, health, readiness, observability:** done (`/api/health`, `/api/ready` with six checks, `/metrics`, `/release.json`).
2. **Canonical identity and auth:** done; the `deals` OAuth client, service principal and grants exist in production.
3. **SSR public routes useful without JS:** done.
--4. **Persistence and end-to-end workflows:** done and deployed on the host (loopback only, empty database); imports need a registered, enabled deals source in Sources, and none is enabled.
++4. **Persistence and end-to-end workflows:** done and deployed on the host; offers are imported from the enabled `dealnews-daily` source in OpenVibe.Sources (936 offers on 2026-10-12).
5. **Capability and event registration against OpenVibe.Contracts:** done (openvibe-contracts v0.97.0).
6. **Migration and seed strategy, threat review, sitemap/robots/feed behaviour:** done. There is nothing to migrate and no seed (below); the threat review is below.
7. **Acceptance tests:** done.
--**The launch release does all of these in one release:** removes `openvibe.deals` from
--`OpenVibe.Sites/sites.json`, switches routing (nginx vhost, DNS, TLS), flips the Network hub entry
--(`server/chrome/sites.js`, `status: 'soon'`) and registers maturity in the ecosystem registry. A
--placeholder never counts as an implemented service, and this README doesn't call the service live.
++**The launch release did all of these in one release:** removed `openvibe.deals` from
++`OpenVibe.Sites/sites.json`, switched routing (nginx vhost, DNS, TLS), flipped the Network hub entry
++(`server/chrome/sites.js`, `status: 'soon'`) and registered maturity in the ecosystem registry. A
++placeholder never counts as an implemented service, and the site is public.
## Seed
ddiff --git a/STATUS.json b/STATUS.json
iindex e2a7595..112e063 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -32,12 +32,12 @@
],
"capabilitiesRegistered": true,
"serviceManifestRegistered": true,
-- "seedDeals": "none (production holds 0 offers)",
++ "seedDeals": "none: offers come from the dealnews-daily source in OpenVibe.Sources (936 on 2026-10-12)",
"sourcesImport": "code and tests; the sources.item.read grant exists in production, but no deals-category source is enabled in OpenVibe.Sources (the seeded dealnews-daily is disabled), so nothing has been imported",
"watchNotifications": "deals.watch.matched events only; OpenVibe.Network's notification consumer does not exist yet",
"deployed": true,
-- "deployment": "Deployed with `sudo ovhost deploy deals`: unit openvibe-deals, 127.0.0.1:4840 loopback only; Network OAuth client deals and its grants exist; on 2026-09-23 /api/ready answered 200 and the production database held 0 offers. Deployed internally, not launched: openvibe.deals still serves the OpenVibe.Sites placeholder until a person verifies a deals source's terms and enables it in Sources",
-- "placeholderInSites": true,
++ "deployment": "Deployed with `sudo ovhost deploy deals`: unit openvibe-deals, 127.0.0.1:4840 behind nginx; Network OAuth client deals and its grants exist; on 2026-09-23 /api/ready answered 200. Public at openvibe.deals since 2026-10-08 (contracts 0.118.0); offers from the dealnews-daily source in OpenVibe.Sources.",
++ "placeholderInSites": false,
"features": [
"offers with timestamped price observations shown \"as of\" and stale labels",
"unknown prices stay unknown in pages, JSON, JSON-LD, feeds and Search",