Milliseconds. Default 30000, advertised in registration acknowledgements. Set an activity heartbeat policy for loss detection and an activity timeout to bound its runtime.
worker.queue_service
Queue service policy and optional clocks, with ordered overrides. Absent uses strict policy.
Queue service
worker.queue_service.default_policy
strict (default) refuses an unserved queue; durable_pending persists a wait for a compatible worker. Override per queue when needed.
worker.queue_service.overrides
Ordered namespace and task-queue policy entries. The first matching entry wins; an omitted namespace matches every namespace.
Optional positive milliseconds to wait for a compatible worker to exist under strict policy. Absent is unbounded. Structural unservability still refuses immediately.
worker.queue_service.schedule_to_start_timeout
Optional positive milliseconds for handing work to an existing compatible worker. Absent makes one attempt.
Queue overrides
worker.queue_service.overrides.namespace
Optional namespace filter. Omitted matches every namespace.
worker.queue_service.overrides.task_queue
Required queue name matched by this override.
worker.queue_service.overrides.policy
strict or durable_pending for this queue.
Supervision
worker_supervision.restart_backoff_initial_ms
Required positive first restart delay. No default.
worker_supervision.restart_backoff_max_ms
Required delay ceiling, at least the initial delay. No default.
worker_supervision.restart_backoff_multiplier
Required growth factor, at least one. No default.
worker_supervision.restart_window_ms
Required positive sliding window over which restarts are counted. No default.
worker_supervision.max_restarts_per_window
Required positive restart allowance per window. Exhaustion leaves the instance Failed. No default.
worker_supervision.stop_grace_ms
Required positive stop grace. A stop can spend it after SIGTERM and again draining output after SIGKILL. No default.
Outbox
outbox.enabled
Default false in typed config. Commissions durable dispatch. Requires a durable store; the starter file enables it.
outbox.poll_interval_ms
Positive claim-sweep cadence when enabled. Merged default 20 milliseconds.
outbox.batch_size
Positive rows claimed per sweep. Merged default 16.
outbox.max_attempts
Positive dispatch attempts before a row is dead-lettered. Merged default 5.
outbox.backoff_base_ms
Positive first retry delay. Merged default 50 milliseconds.
outbox.backoff_multiplier
Retry growth factor, at least one. Merged default 2.
outbox.backoff_max_ms
Retry delay ceiling, at least the base. Merged default 1000 milliseconds.
outbox.reconcile_interval_ms
Optional positive stale-claim sweep cadence. Requires reconcile_stale_after_ms. Omit both to leave live reconciliation disabled.
outbox.reconcile_stale_after_ms
Optional positive age of a stranded claim. Requires reconcile_interval_ms; re-arming preserves the attempt count.
outbox.transport
liminal in the default build; grpc without the liminal-transport feature. Selecting an unavailable transport refuses boot.
outbox.liminal_listen_address
Required inbound worker listener address when enabled with liminal transport. Ignored with gRPC transport.
outbox.liminal_max_connection_outbound_bytes
Optional positive per-connection dispatch buffer ceiling. Absent uses liminal's 4 MiB default. An unservable oversized dispatch fails by name without retry.
Transcript storage
observability.max_event_bytes
Positive retained transcript-event size ceiling. Default 262144 bytes; larger events are truncated before persistence.
observability.max_stream_events
Positive retained event count per workflow/activity/attempt stream. Default 20000. At the cap a marker is kept and later events are live-only.
observability.max_batch_events
Required positive maximum events per transcript commit. No typed default. Boot heals an omitted file value to 64 and preserves the previous file.
observability.max_batch_hold_ms
Required nonnegative milliseconds a transcript batch may remain uncommitted. Zero commits the available batch immediately. Boot heals an omitted file value to 200.