openvibers/openvibe.contracts Commits
Merge main into agent/contracts-plan-t11-lane-d-follow-up-220754-muq3538u (auto-finish)
Changes
ddiff --cc CHANGELOG.md@@@@ -10,22 -10,13 +10,29 @@@ Add nine public `platform.*@1` schemasservice instances; runtime, storage, delivery, agent, and harness offers. Each has valid andinvalid fixtures. ADR-034 is proposed. Generated types and bundle include all nine.++ `platform.usage-sample@1` can carry all 15 plan T5 usage fields in one reading (lane F). It gains four optional++ fields: `free_allowance_used` (non-negative number in the reading's own `unit`, at most `quantity`),++ `vibes_charged` (non-negative integer count of vibes-bits, Billing's ledger minor unit; absent means not rated),++ and `route_epoch` and `trace_id` (same types as in `platform.telemetry-sample@1`). Readings without these fields++ still validate. New fixtures: `all-fifteen-fields` and `minimal` (valid); a fractional or negative `vibes_charged` and++ a negative `free_allowance_used` (invalid). Additive.+++## Unreleased — the product catalog (plan T11 lane D)++The OpenVibe.Sites catalog (`sites.json`, 33 domains) moves into Contracts so Sites can be deleted. Additive.+- `registry.service-manifest` 1.1.0: `site` gains the optional `tld`, `accent`, `description`, `pillars`, `faq`,+ `keywords`, `vision`, `highlight`, `launch` and `relationships` (`service`, `plannedRepo`, `noRepo`, `linksLead`,+ `links`, `meanwhile`, `statusApi`), defined once in `registry.product@1`'s `$defs`. Filled from the catalog for the+ ten services whose site presents their catalog domain: news, reviews, tips, vip, trade, host, deals, coupons,+ openre (openre.stream) and space.+- `registry.product@1` (new) and `manifests/products/<domain>.json` for the other 23 catalog domains, with no+ invented service manifests: the Network sub-domains (auth, api, admin, themes), the media-hub brands (video, pics,+ download), ai.openvibe.network (moved) and ai.openvibe.services, realtime (closed), status, openvibe.events and the+ planned products (food, quest, rent, homes, services, run, website, help, bot, watch, actor).+ `relationships.service` names the manifest that serves a domain when one does.+- `contracts.products` (`manifests`, `get`, `siteDomain`, `catalog()`); `test/product-catalog.test.js` asserts each+ of the 33 snapshotted Sites domains has exactly one home and every home validates.+## 0.83.0 — 2026-09-29**Host site configuration** (plan T12 J3): the capability `host.site.config` (active, first-party, `host:write`, project
diff --cc CHANGELOG.md
diff --cc CHANGELOG.md
@@@ -10,22 -10,13 +10,29 @@@ Add nine public `platform.*@1` schemas
@@@ -10,22 -10,13 +10,29 @@@ Add nine public `platform.*@1` schemas
service instances; runtime, storage, delivery, agent, and harness offers. Each has valid and
service instances; runtime, storage, delivery, agent, and harness offers. Each has valid and
invalid fixtures. ADR-034 is proposed. Generated types and bundle include all nine.
invalid fixtures. ADR-034 is proposed. Generated types and bundle include all nine.
+ `platform.usage-sample@1` can carry all 15 plan T5 usage fields in one reading (lane F). It gains four optional
+ fields: `free_allowance_used` (non-negative number in the reading's own `unit`, at most `quantity`),
+ `vibes_charged` (non-negative integer count of vibes-bits, Billing's ledger minor unit; absent means not rated),
+ and `route_epoch` and `trace_id` (same types as in `platform.telemetry-sample@1`). Readings without these fields
+ still validate. New fixtures: `all-fifteen-fields` and `minimal` (valid); a fractional or negative `vibes_charged` and
+ a negative `free_allowance_used` (invalid). Additive.
+
+## Unreleased — the product catalog (plan T11 lane D)
+## Unreleased — the product catalog (plan T11 lane D)
+
+
+The OpenVibe.Sites catalog (`sites.json`, 33 domains) moves into Contracts so Sites can be deleted. Additive.
+The OpenVibe.Sites catalog (`sites.json`, 33 domains) moves into Contracts so Sites can be deleted. Additive.
+- `registry.service-manifest` 1.1.0: `site` gains the optional `tld`, `accent`, `description`, `pillars`, `faq`,
+- `registry.service-manifest` 1.1.0: `site` gains the optional `tld`, `accent`, `description`, `pillars`, `faq`,
+ `keywords`, `vision`, `highlight`, `launch` and `relationships` (`service`, `plannedRepo`, `noRepo`, `linksLead`,
+ `keywords`, `vision`, `highlight`, `launch` and `relationships` (`service`, `plannedRepo`, `noRepo`, `linksLead`,
+ `links`, `meanwhile`, `statusApi`), defined once in `registry.product@1`'s `$defs`. Filled from the catalog for the
+ `links`, `meanwhile`, `statusApi`), defined once in `registry.product@1`'s `$defs`. Filled from the catalog for the
+ ten services whose site presents their catalog domain: news, reviews, tips, vip, trade, host, deals, coupons,
+ ten services whose site presents their catalog domain: news, reviews, tips, vip, trade, host, deals, coupons,
+ openre (openre.stream) and space.
+ openre (openre.stream) and space.
+- `registry.product@1` (new) and `manifests/products/<domain>.json` for the other 23 catalog domains, with no
+- `registry.product@1` (new) and `manifests/products/<domain>.json` for the other 23 catalog domains, with no
+ invented service manifests: the Network sub-domains (auth, api, admin, themes), the media-hub brands (video, pics,
+ invented service manifests: the Network sub-domains (auth, api, admin, themes), the media-hub brands (video, pics,
+ download), ai.openvibe.network (moved) and ai.openvibe.services, realtime (closed), status, openvibe.events and the
+ download), ai.openvibe.network (moved) and ai.openvibe.services, realtime (closed), status, openvibe.events and the
+ planned products (food, quest, rent, homes, services, run, website, help, bot, watch, actor).
+ planned products (food, quest, rent, homes, services, run, website, help, bot, watch, actor).
+ `relationships.service` names the manifest that serves a domain when one does.
+ `relationships.service` names the manifest that serves a domain when one does.
+- `contracts.products` (`manifests`, `get`, `siteDomain`, `catalog()`); `test/product-catalog.test.js` asserts each
+- `contracts.products` (`manifests`, `get`, `siteDomain`, `catalog()`); `test/product-catalog.test.js` asserts each
+ of the 33 snapshotted Sites domains has exactly one home and every home validates.
+ of the 33 snapshotted Sites domains has exactly one home and every home validates.
+
+
## 0.83.0 — 2026-09-29
## 0.83.0 — 2026-09-29
**Host site configuration** (plan T12 J3): the capability `host.site.config` (active, first-party, `host:write`, project
**Host site configuration** (plan T12 J3): the capability `host.site.config` (active, first-party, `host:write`, project