Skip to content

Contracts

The narrative is in Contracts & adapters; this is the index — each capability, the spec it's keyed by, how a handler reaches it from the ExecutionContext, and the dep key it resolves under. Capabilities with a dedicated reference page are linked (the spec fields, the method surface, and the integrations that implement it).

Read the last column when you are wiring rather than calling: a dep key is what a deps module binds, so it is the name you register a custom provider against and the name a resolution error prints. Handlers should keep to the accessor.

Data & storage

Capability Spec Resolve via Dep key
Document (read / write) DocumentSpec ctx.document.query(spec) / ctx.document.command(spec) DocumentQueryDepKey / DocumentCommandDepKey (+ DocumentCommandHookDepKey, which ctx.deps applies to one document's command port)
Cache CacheSpec ctx.cache(spec) CacheDepKey
Counter CounterSpec ctx.counter(spec) CounterDepKey (+ CounterAdminDepKey for reset / drop)
Object storage StorageSpec ctx.storage.query(spec) / ctx.storage.command(spec) StorageQueryDepKey / StorageCommandDepKey (+ StorageUploadSessionDepKey for presigned uploads)
Graph GraphModuleSpec ctx.graph GraphQueryDepKey / GraphCommandDepKey (+ GraphManagementDepKey, GraphRawQueryDepKey)
Embeddings EmbeddingsSpec ctx.embeddings.provider(spec) EmbeddingsProviderDepKey
Dynamic read DynamicReadSpec ctx.dynamic_read.query(spec) DynamicReadDepKey

Search & analytics

Capability Spec Resolve via Dep key
Search (query / index) SearchSpec ctx.search.query(spec) / ctx.search.command(spec) SearchQueryDepKey / SearchCommandDepKey (+ SearchManagementDepKey for index admin)
Federated & hub search SearchSpec ctx.search.federated(spec) / ctx.search.hub(spec) FederatedSearchQueryDepKey / HubSearchQueryDepKey (+ SearchResultSnapshotDepKey for late materialization)
Analytics AnalyticsSpec ctx.analytics.query(spec) (+ ingest) AnalyticsQueryDepKey / AnalyticsIngestDepKey
Procedures (command / compute) ProcedureSpec ctx.procedure.command(spec) ProcedureCommandDepKey

Messaging & events

Capability Spec / key Resolve via Dep key
Queue (produce / consume) queue route by dep key + route QueueCommandDepKey / QueueQueryDepKey
Pub/Sub topic route by dep key + route PubSubCommandDepKey / PubSubQueryDepKey
Stream stream route by dep key + route; ctx.stream.commit_query / .commit_admin for the commit sub-model StreamCommandDepKey / StreamQueryDepKey (+ AckStreamGroupQueryDepKey, AckStreamGroupAdminDepKey, CommitStreamGroupQueryDepKey, CommitStreamGroupAdminDepKey)
Outbox OutboxSpec ctx.outbox.command(spec) / ctx.outbox.query(spec) OutboxCommandDepKey / OutboxQueryDepKey (+ OutboxAdminDepKey for the relay)
Inbox InboxSpec ctx.inbox InboxDepKey
Domain events — ctx.domain (dispatch) DomainEventDispatcherDepKey
Saga SagaDefinition by dep key SagaExecutorDepKey
Realtime egress RealtimeEvent catalog build_realtime_publisher(ctx, …) (wire protocol) — (composed from the stream and pub/sub keys above)

Reliability & coordination

Capability Spec / key Resolve via Dep key
Transactions tx route ctx.transaction(route) for the manager; ctx.tx_ctx.scope(route) for the ambient scope TransactionManagerDepKey
Transaction-scoped lock tx route ctx.tx_locks(route).hold(*keys), or SerializeOperation on an operation TransactionManagerDepKey: the route's manager hands it out when it implements TxLockCapable
Idempotency IdempotencySpec ctx.idempotency(spec) IdempotencyDepKey
Resilience ResiliencePolicy ctx.resilience().run(fn, policy=…) ResilienceExecutorDepKey (+ ResiliencePortPoliciesDepKey for per-port defaults, ResilienceAdminDepKey for breaker state)
Distributed lock DistributedLockSpec ctx.dlock DistributedLockCommandDepKey / DistributedLockQueryDepKey
Fleet membership FleetSpec ctx.fleet(spec) FleetDepKey
Hybrid logical clock — by dep key HlcCheckpointDepKey
Sandboxed execution SandboxSpec ctx.sandbox.run(spec) SandboxDepKey

Durable execution

Capability Spec Resolve via Dep key
Durable workflows DurableWorkflowSpec by dep key DurableWorkflowCommandDepKey / DurableWorkflowQueryDepKey
Workflow schedules — by dep key DurableWorkflowScheduleCommandDepKey / DurableWorkflowScheduleQueryDepKey
Durable functions DurableFunctionSpec by dep key DurableFunctionEventCommandDepKey / DurableFunctionStepDepKey
Run & schedule stores, run listing — by dep key DurableRunStoreDepKey / DurableRunAdminDepKey / DurableScheduleStoreDepKey

Identity & access

Capability Spec Resolve via Dep key
Authentication AuthnSpec ctx.authn AuthnDepKey (the lifecycle ports it composes are in identity)
Authorization AuthzSpec ctx.authz.decision(spec) / ctx.authz.scope(spec) AuthzDecisionDepKey / AuthzScopeDepKey
Tenancy — ctx.tenancy TenantResolverDepKey (+ TenantManagementDepKey for provisioning)
Secrets SecretRef by dep key SecretsDepKey (+ SecretsAdminDepKey, SecretsLeaseDepKey)
Counterparty-rotated credentials SecretRef by dep key RotatingCredentialsDepKey (+ RotatingCredentialsAdminDepKey for the refresh sweeper)
Field encryption FieldEncryption declared on a spec; applied by the plane, never called directly AeadDepKey / DeterministicCipherDepKey (+ RequiredReachDepKey for the tier floor)
Key management KeyRef by dep key KeyringDepKey / KeyManagementDepKey (+ KeyDirectoryDepKey for per-tenant key lookup)

Integration

Capability Spec Resolve via Dep key
Outbound HTTP HttpServiceSpec ctx.http.service(spec) HttpServiceDepKey
Model inference InferenceSpec ctx.inference.model(spec) InferenceDepKey

A capability whose Resolve via cell reads by dep key has no short ctx.<x> accessor: resolve it through the context's dependency resolution, by the key in the last column and the route it is registered under. Streams are the mixed case — shortcuts exist for the commit sub-model only, and the rest of the family resolves by key.