An external system cannot be told when something changes in the console #77

Open
opened 2026-09-21 07:18:23 +00:00 by cgalo5758 · 1 comment
Owner

What a person cannot do today

Have another system react to events in the console. Integrations that ship inside the console receive events through the registry, but a system outside it has nothing to subscribe to.

What they should be able to do

Register a webhook endpoint for a set of event types, receive signed deliveries with retries, and see the delivery log.

Why it matters

Deployments run other software beside the console, and the console is where membership changes first; without outbound events every other system polls or drifts.

Where

The integration outbox and webhook-event tables, a delivery worker, an operator page for endpoints and their deliveries.

Done when

An operator can register an endpoint, events are delivered with a signature and retried on failure, and each delivery is visible with its outcome.

## What a person cannot do today Have another system react to events in the console. Integrations that ship inside the console receive events through the registry, but a system outside it has nothing to subscribe to. ## What they should be able to do Register a webhook endpoint for a set of event types, receive signed deliveries with retries, and see the delivery log. ## Why it matters Deployments run other software beside the console, and the console is where membership changes first; without outbound events every other system polls or drifts. ## Where The integration outbox and webhook-event tables, a delivery worker, an operator page for endpoints and their deliveries. ## Done when An operator can register an endpoint, events are delivered with a signature and retried on failure, and each delivery is visible with its outcome.
cgalo5758 added the
kind
enhancement
area/integrationsarea/ops
labels 2026-09-21 07:18:23 +00:00
Author
Owner

23d5bad supplies half of this. Every change that alters what an application should hold (a pool's entitlements, an organization's membership, ownership or status, a person cut off everywhere) now writes an outbox row in the same transaction, through database triggers, and a relay recomputes the affected desired-state records: one per connection and recipient, with a generation that rises when the content changes.

The other half is still missing: a transport that delivers those records to a system outside the console, signed and retried, and a page that shows each delivery. That arrives with the published integration contract, which pushes over HTTP with signatures in both directions. The shape differs from the one asked for here: the console delivers the whole state a recipient should have, not a stream of individual events, so a receiver that misses one delivery is corrected by the next.

Design: https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/23d5bad/openspec/changes/archive/2026-10-06-integration-delivery-core/design.md

23d5bad supplies half of this. Every change that alters what an application should hold (a pool's entitlements, an organization's membership, ownership or status, a person cut off everywhere) now writes an outbox row in the same transaction, through database triggers, and a relay recomputes the affected desired-state records: one per connection and recipient, with a generation that rises when the content changes. The other half is still missing: a transport that delivers those records to a system outside the console, signed and retried, and a page that shows each delivery. That arrives with the published integration contract, which pushes over HTTP with signatures in both directions. The shape differs from the one asked for here: the console delivers the whole state a recipient should have, not a stream of individual events, so a receiver that misses one delivery is corrected by the next. Design: https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/23d5bad/openspec/changes/archive/2026-10-06-integration-delivery-core/design.md
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#77