Durably ingest normalized runtime events for one owned session.
Accepts a bounded, versioned batch from the worker runtime that owns the session. The server verifies deterministic event identity and strict monotonic structured sequence, injects authenticated org/project/subject scope, validates each active topic payload, commits idempotent outbox rows atomically, and only then attempts the execution-ledger drain. Redis remains a post-append wake hint.
workerJwtAuthorizationBearer <JWT>Short-lived worker runtime JWT minted by the platform. Claims bind the worker, project, organization, registration, and scopes.
id*stringCanonical platform session id.
1 <= length <= 256application/json- body
version*stringsessionId*string1 <= length <= 256records*array<>1 <= items <= 100The normalized source facts are durably accepted.
application/json- response
ok*booleanversion*stringsessionId*stringaccepted*integer0 <= value <= 9007199254740991idempotentReplays*integer0 <= value <= 9007199254740991drain*curl -X POST 'https://app.rensei.ai/api/daemon/sessions/string/execution-events' \ -H 'Content-Type: application/json' \ -d '{ "version": "donmai.execution-event-source-batch/v1alpha1", "sessionId": "string", "records": [ { "version": "donmai.execution-event-source/v1alpha1", "eventId": "string", "structuredSeq": 1, "observedAt": "2019-08-24T14:15:22Z", "eventType": "string", "persistencePolicy": "durable", "evidence": { "kind": "native" }, "payload": { "property1": null, "property2": null } } ]}'{ "ok": true, "version": "donmai.execution-event-source-batch/v1alpha1", "sessionId": "string", "accepted": 0, "idempotentReplays": 0, "drain": { "claimed": 0, "delivered": 0, "retried": 0, "failed": 0 }}Persist one positive terminal observation and resolve matching fences.
Ordinary evidence resolves through an opaque durable adoption receipt. A nil-adoption orphan tombstone is resolved server-side from exact host/session/shim/process and group-reap proof. Time, liveness loss, and fence expiry are not evidence.
Counts-only snapshot of in-flight execution shells for the page header.
Same org/project scope and entitlement rules as `GET /api/execution-shells`, answered as three integers instead of a page: `total` (the same count that route reports as `total`), `active` (normalized status `running`) and `queued` (normalized status `pending`). No `shells` array, no side-signal joins (interviews, approval gates, cost rollup, placement) - one small `GROUP BY status` aggregate per producer table.