openvibers/openvibe.contracts Commits

Add user-owned trust class to fabric contracts and release 0.87.0 (#14)

OP OpenVibers committed 3 Oct 2026 · c2fb017e87 · 1 file, +9 −6

local checks ✓ 3/3 · CI ✓ 3/3 · review SHIP by Codex GPT-6 Sol · 3 fix rounds

https://github.com/OpenVibers/OpenVibe.Contracts/pull/14

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 74569fba..79818b39 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -7,12 +7,15 @@ the notes were in the tag and commit messages (`git tag -n1`).
## 0.87.0 — 2026-10-03
**User-owned trust class and the estate table** (plan T1 step 3; ADR-034 §5 control plane/data plane; the Fabric ADR,
--ADR-046, is still to write).
--- `platform.resource-offer@1` 1.1.0 and `platform.workload-requirements@1` 1.1.0 add the trust class `user-owned`
-- (a user's own node or machine), ordered `first-party`, `user-owned`, `partner`, `community`, `external`. Additive:
-- a producer or consumer that knows only the previous four values is unchanged. New valid fixtures `user-owned-node`
-- (an offer with `trust: "user-owned"`) and `user-owned-only` (requirements whose `trust` is `["user-owned"]`); the
-- existing first-party `owned-node` fixture stays.
++ADR-046, is still to write). A person's own node or machine is now a trust class of its own in Contracts, between
++`first-party` and `partner`. The SDK placement planner's runtime already honours an explicit `trust: ["user-owned"]`
++requirement, but its default trust list and its TypeScript `Offer` type omit the value, so the SDK needs code and type
++changes as well as a pin to this release to route to user-owned nodes by default.
++- `platform.resource-offer@1` 1.1.0 and `platform.workload-requirements@1` 1.1.0 add `user-owned` to their `trust`
++ enum, ordered `first-party`, `user-owned`, `partner`, `community`, `external`. Additive: a producer or consumer that
++ knows only the previous four values is unchanged, and no existing offer or requirement is invalidated. New valid
++ fixtures `user-owned-node` (an offer with `trust: "user-owned"`) and `user-owned-only` (requirements whose `trust` is
++ `["user-owned"]`); the existing first-party `owned-node` fixture stays.
- `platform.usage-sample@1`: `route_epoch` and `trace_id` gain descriptions; their types and shape are unchanged.
- `docs/ESTATE.md`: the plan §1.1 estate table as a data-only document (repository, product, authority, runtime,
database, domain, SDK/Contracts pin, deployment, public/private, current track). Step 2 replaces it with the table