openvibers/openvibe.network Commits

Network: Work, Rent, Help and Quest may publish events (their Search index documents) (#120)

OP OpenVibers committed 10 Oct 2026 · 3e1e2349b3 · 1 file, +3 −0

Work, Rent, Help and Quest get `events.event.publish` at openvibe.events, so their outboxes can deliver `<svc>.index_document.upserted|deleted` (Contracts 0.128.0, through openvibe-publishing/search-feed) to OpenVibe.Events, and from there to OpenVibe.Search. That's plan T9 ("Search: real documents from every product") and T19 (Rent, Work and Help compose Search). Inventory already held the grant.

The matching Events change is Events#42 (the four become sources). Work's emitter is Work#10, and Rent, Help and Quest follow.

`ov test`: the grant tests (agent-grants, grants-admin, retired-grants) pass, plus every file the change reaches.

Changes

ddiff --git a/server/identity/principals.js b/server/identity/principals.js
iindex 14d2cb7c..7645fe9d 100644
---- a/server/identity/principals.js
++++ b/server/identity/principals.js
@@@ -28,6 +28,9 @@ const DEFAULT_GRANTS = [
['quest', 'events.subscription.manage', 'openvibe.events', []],
// They subscribe to network.account.export_requested and network.account.deleted at boot (ADR-033).
...['actor', 'food', 'help', 'work', 'rent', 'media-hub'].map((svc) => [svc, 'events.subscription.manage', 'openvibe.events', []]),
++ // Their pages go into OpenVibe.Search: <svc>.index_document.* through each one's outbox (openvibe-publishing/search-feed,
++ // contracts 0.128.0). Inventory publishes already (below).
++ ...['work', 'rent', 'help', 'quest'].map((svc) => [svc, 'events.event.publish', 'openvibe.events', []]),
// The same two subscriptions for the services that gained an account-event route on 2026-10-09 (SDK 0.37.0
// startSubscriptions); deals, trade, tips and vip already hold the grant for their other subscriptions.
...['watch', 'services', 'wiki', 'blog', 'bot'].map((svc) => [svc, 'events.subscription.manage', 'openvibe.events', []]),