Sylphx EventsProduct site

Docs

What Events owns.

Events is an independent product. It owns event facts and the customer lifecycle of deliveries. Platform owns composition, bindings, deployment, and API-host / product-site DNS. Identity signs delegations and owns mail transport.

Authority

Discovery is this site and Binding api_base. The public API is https://api.events.sylphx.com/v1. Every customer call presents a Platform-signed Project Binding plus a short-lived Identity delegation. Events verifies Binding; it does not mint it. Caller project headers, product API keys, or bootstrap secrets never confer authority.

Platform Work may wake dispatch. It cannot select, transition, retry, or deliver Events work. Identity maps email-verification and account-recovery outbox records into the generic opaque envelope and consumes the terminal receipt.

Lifecycle

A delivery moves pending → executing → accepted, or fails, or is cancelled before a claim. Retry is Events-owned. Lease expiry records an ambiguous receipt. The next claim reconciles the same provider-effect key and does not send a second effect unless the provider proves the first never happened.

Channels share that machine:

  • Webhook — HTTPS POST of the canonical event, HMAC-SHA256 signed. HTTPS only.
  • Realtime — durable per-project sequence; SSE resume from a cursor that fails closed if malformed, foreign, or expired.
  • Email — typed message plus bound connector; Identity owns transport, Events owns the receipt.
  • Push — typed target and body plus bound connector; provider tickets are receipts.

Boundaries

  • This host is the product site. Customer operations live on the API at https://api.events.sylphx.com/v1.
  • Events does not mint Binding, Delegation, or a product API key.
  • Marketing HTML does not belong on the API host.
  • Campaign scheduling and marketing automation are not this product.
  • A second mailer, a second clock, or Kubernetes CronJob is not retry.
  • Public SDK and CLI are generated from this Product Contract. They are not Platform sylphx-sdk / sylphx-cli. Offline events-import is not the customer CLI.
  • Health 200 and an empty host 404 are not live delivery proof.

Where to go next

Start with first success. Bind fields against the Product Contract. Recover through the operator runbook in the source repository; do not edit tables or receipts by hand.