dendrux
v0.6.0Get started →

Log codes and what to do

Generated by packages/python/tools/gen_log_codes.py. Edit the registry, then regenerate.

Coded diagnostics use log_code. Lines emitted by the helper carry code and kind, plus run_id and tenant_id when set. Other fields are declared per code. Identifiers are validated; text uses closed enums. With DENDRUX_STRICT_LOG_FIELDS=1, invalid fields raise. Otherwise they are dropped with one log_field_dropped diagnostic. Unregistered code objects always raise. Drop diagnostics contain only a count and validated identifiers, never rejected values. Vendor messages and payloads are never log fields. Custom provider names log as custom.

Provider codes use closed per-provider tables. Present unknown codes become provider_unknown. Missing or invalid codes remain unset. Category and HTTP status remain independent.

Governance

CodeLevelFieldsFires whenDo
governance_changedWARNINGcode, kind, run_id, tenant_idContinuation detects changed governance in warning mode.Review the change and use strict policy enforcement.
governance_legacyINFOcode, kind, run_id, tenant_idA legacy run lacks governance pins.Review the policy before continuing it.
governance_mismatchWARNINGcode, kind, run_id, tenant_idA stored governance policy cannot be continued.Restore the original policy or start a new run.
metadata_too_largeWARNINGbytes, code, entry, kind, limit, run_id, tenant_idMetadata exceeds its byte bound.Reduce metadata or raise the bound.
reserved_metadata_keyWARNINGcode, entry, kind, run_id, tenant_idUser metadata contains a reserved key.Remove reserved metadata keys.
tenant_scope_requiredWARNINGcode, entry, kind, run_id, tenant_idA strict tenancy entry has no explicit tenant scope.Pass the intended tenant scope.

Live Updates

CodeLevelFieldsFires whenDo
follow_coordinator_restartWARNINGattempt, code, kind, run_id, tenant_idA follower restarts a stopped coordinator.Inspect store connectivity and coordinator failures.
follow_read_failedWARNINGcode, count, error_kind, kind, run_id, tenant_idA coordinator chunk read fails.Check store connectivity; other chunks continue.
live_updates_bad_messageWARNINGcode, count, kind, run_id, tenant_idA received message fails bounded wire validation.Check channel isolation and sender limits.
live_updates_close_timeoutWARNINGcode, kind, run_id, tenant_id, timeout_sResource shutdown exhausts its deadline.Check cancellation cooperation in the transport.
live_updates_degradedWARNINGcode, error_kind, error_type, kind, run_id, tenant_idThe listener loses its subscription; readers poll.Check bus connectivity; alert after one minute.
live_updates_many_storesWARNINGcode, count, database_key, kind, run_id, tenant_idMany open stores announce to one database.Share a store within each process and close unused stores.
live_updates_missed_hintWARNINGcode, count, kind, run_id, tenant_idA healthy safety poll finds events no hint announced (first discovery per coordinator and generation; heuristic).Check that writers and readers use the same bus channel.
live_updates_overflowWARNINGcode, count, kind, limit, run_id, tenant_idPending announcements exceed their bound.Share stores or raise the pending bound; readers recover by polling.
live_updates_oversizeWARNINGcode, count, kind, limit, run_id, tenant_idA live-update hint exceeded the message byte limit and was dropped.Use channel isolation to exclude foreign publishers; for local hints, increase max_message_bytes within the transport limit, or use shorter run ids.
live_updates_recoveredINFOcode, kind, run_id, tenant_idThe listener confirms its subscription.Confirm reader latency returns to normal.
live_updates_send_failedWARNINGcode, count, error_kind, error_type, kind, run_id, tenant_idAn announcement fails and sending enters backoff.Check bus connectivity; the database commit is unaffected.
live_updates_send_recoveredINFOcode, kind, run_id, tenant_idThe first announcement succeeds after a send failure.Confirm pending announcements drain.
live_updates_tls_unknownWARNINGcode, kind, run_id, tenant_idThe live-update connection has no explicit TLS settings for a remote host.Pass explicit connection TLS settings.
live_updates_unavailableWARNINGcode, error_kind, error_type, kind, run_id, tenant_idThe listener cannot become ready.Check the live-update transport; polling remains available.
live_updates_wrong_loopWARNINGcode, count, kind, run_id, tenant_idAn instance is used from another event loop.Use one instance per store and event loop.

MCP

CodeLevelFieldsFires whenDo
invalid_schemaWARNINGcode, kind, run_id, tenant_idAn MCP tool has an invalid schema.Fix the upstream tool schema.
mcp_cleanup_failedWARNINGcode, count, kind, run_id, tenant_idAn MCP connection cleanup operation fails.Inspect transport cleanup and repeated failure counts.
mcp_credential_resolution_failedDEBUGcode, count, kind, run_id, tenant_idMCP credential resolution fails.Check the credential provider configuration.
mcp_discovery_byte_capWARNINGcode, kind, pages, run_id, tenant_idMCP discovery exceeds the byte cap.Inspect the upstream server or adjust the discovery bound.
mcp_discovery_cursor_lengthWARNINGcode, kind, pages, run_id, tenant_idMCP discovery exceeds the cursor bound.Inspect the upstream server or adjust the discovery bound.
mcp_discovery_deadlineWARNINGcode, kind, pages, run_id, tenant_idMCP discovery exceeds its deadline.Inspect the upstream server or adjust the discovery bound.
mcp_discovery_page_capWARNINGcode, kind, pages, run_id, tenant_idMCP discovery exceeds the page cap.Inspect the upstream server or adjust the discovery bound.
mcp_discovery_repeated_cursorWARNINGcode, kind, pages, run_id, tenant_idMCP discovery repeats its cursor.Inspect the upstream server or adjust the discovery bound.
mcp_discovery_tool_capWARNINGcode, kind, pages, run_id, tenant_idMCP discovery exceeds the tool cap.Inspect the upstream server or adjust the discovery bound.
mcp_oauth_close_failedDEBUGcode, count, kind, run_id, tenant_idClosing an OAuth response or transport fails.Inspect the OAuth transport lifecycle.
mcp_observer_dispose_failedDEBUGcode, count, kind, run_id, tenant_idDisposing an MCP observer awaitable fails.Use synchronous observers that return no awaitable.
mcp_transport_cleanup_failedDEBUGcode, count, kind, run_id, tenant_idCleanup after an MCP connect failure also fails.Inspect transport cleanup and cancellation handling.
mcp_transport_failedDEBUGcode, count, kind, run_id, tenant_idAn MCP transport operation fails.Inspect typed failure metadata and transport configuration.
mcp_view_relinkedINFOcode, kind, run_id, tenant_idAn MCP view changes its registered link.Review the updated MCP configuration.

Migration

CodeLevelFieldsFires whenDo
activation_conflictWARNINGcode, index, kind, run_id, table, tenant_idActivation detects conflicting duplicate rows.Resolve the bounded diagnostic before retrying activation.
migration_lock_timeoutWARNINGcode, kind, revision, run_id, step, tenant_id, timeout_secondsA migration cannot acquire its lock in time.Retry when the table is quiet.

Observability

CodeLevelFieldsFires whenDo
log_field_droppedWARNINGcode, count, kind, run_id, tenant_idA structured log field fails closed validation.Fix the emitting call; values are deliberately omitted.
trace_link_invalidWARNINGcode, kind, run_id, tenant_idA trace link fails W3C validation.Fix the notifier trace propagation.

Provider

CodeLevelFieldsFires whenDo
api_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports an internal failure or unavailable service.Check provider status and retry only when the error is retryable.
authWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects credentials without a vendor code.Check provider credentials and account permissions.
authentication_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects credentials or access permissions.Check the configured credentials and model permissions.
billing_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit or usage limit.Restore provider credits or account quota before retrying.
billing_hard_limit_reachedWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit or usage limit.Restore provider credits or account quota before retrying.
call_deadlineWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe overall provider call deadline expires.Reduce retry/response time or raise the call deadline.
content_filterWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider content filter rejects the request or response.Review the input against provider content policy.
content_policy_violationWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider content policy rejects input or output.Review the request against provider content policy.
context_lengthWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA request exceeds the context window without a vendor code.Reduce conversation history or requested output tokens.
context_length_exceededWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe request exceeds the model context window.Reduce conversation history, tool results or requested output tokens.
creditsWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit limit without a vendor code.Restore provider credits or quota before retrying.
deadline_during_backoffWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider call deadline expires during retry backoff.Inspect the preceding HTTP status and provider availability.
empty_completionWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider completes without a usable semantic response.Inspect provider behavior and request configuration before retrying.
image_content_policy_violationWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider content policy rejects input or output.Review the request against provider content policy.
image_parse_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
image_too_largeWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
image_too_smallWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
insufficient_creditsWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit or usage limit.Restore provider credits or account quota before retrying.
insufficient_quotaWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit or usage limit.Restore provider credits or account quota before retrying.
invalid_api_keyWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects credentials or access permissions.Check the configured credentials and model permissions.
invalid_base64_imageWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider failure projects the declared invalid_base64_image code.Inspect the safe category and status; apply the provider retry guidance.
invalid_imageWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
invalid_image_formatWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
invalid_image_urlWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
invalid_promptWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
invalid_request_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
invalid_valueWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
model_not_foundWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe configured provider model is unavailable to the account.Check the model identifier and account access.
not_found_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
organization_usage_limit_exceededWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider account reaches a credit or usage limit.Restore provider credits or account quota before retrying.
overloaded_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports an internal failure or unavailable service.Check provider status and retry only when the error is retryable.
permission_deniedWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects credentials or access permissions.Check the configured credentials and model permissions.
permission_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects credentials or access permissions.Check the configured credentials and model permissions.
provider_kwargs_invalidWARNINGcode, kind, run_id, tenant_idProvider options fail closed validation.Use only supported provider options.
provider_kwargs_too_largeWARNINGbytes, code, kind, limit, run_id, tenant_idProvider options exceed the checkpoint byte bound.Reduce provider options.
provider_timeoutWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports a request timeout.Inspect provider latency and the configured request deadlines.
provider_unknownWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA vendor code has no closed mapping.Inspect the provider category and status; never log vendor text.
rate_limitWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rate-limits a request without a vendor code.Reduce request rate and honor retry-after guidance.
rate_limit_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rate-limits the request.Reduce request rate and honor retry-after guidance.
rate_limit_exceededWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rate-limits the request.Reduce request rate and honor retry-after guidance.
refusalWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe model refuses to answer without a vendor code.Review the request against provider policy.
rejectedWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects a request without a vendor code.Check request parameters and provider limits.
request_too_largeWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
response_encoding_unsupportedWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider returns an unsupported response content encoding.Use gzip or deflate responses; inspect the provider or gateway encoding configuration.
response_size_limitWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider response exceeds its configured byte bound.Reduce response size or raise the response bound deliberately.
server_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports an internal failure or unavailable service.Check provider status and retry only when the error is retryable.
service_unavailableWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports an internal failure or unavailable service.Check provider status and retry only when the error is retryable.
stream_idleWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider stream exceeds its semantic idle deadline.Inspect provider responsiveness and idle deadline sizing.
stream_incompleteWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider stream ends prematurely without a vendor code.Inspect provider connectivity before retrying.
stream_size_limitWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider response exceeds its configured byte bound.Reduce response size or raise the response bound deliberately.
stream_tool_call_limitWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider stream exceeds the distinct tool-call cap.Reduce tool fanout or raise the stream tool-call bound.
stream_totalWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider stream exceeds its total deadline.Reduce response length or raise the total deadline.
timeoutWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonA provider request times out without a vendor code.Inspect the timeout reason and configured deadlines.
timeout_errorWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonAnthropic reports that the request timed out.Inspect provider availability and the request deadline before retrying.
token_limit_exceededWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects request parameters, resources or request limits.Check request parameters, resource identifiers and provider limits.
unavailableWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider is unavailable without a vendor code.Check provider status and retry only when retryable.
unknownWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonAn unclassified provider failure has no vendor code.Inspect the safe category, status and provider availability.
unsupported_imageWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider rejects image format, content, size or location.Check the image descriptor, supported formats and provider size limits.
usage_invalidWARNINGcode, kind, run_id, tenant_idProvider usage cannot be trusted.Treat accounting as unknown and inspect the adapter.
vector_store_timeoutWARNINGcategory, code, kind, provider, retryable, run_id, status, tenant_id, timeout_reasonThe provider reports an internal failure or unavailable service.Check provider status and retry only when the error is retryable.

Recovery

CodeLevelFieldsFires whenDo
agent_mismatchWARNINGcode, kind, run_id, tenant_idThe recovery agent differs from the saved agent.Recreate the original agent configuration.
already_reclaimedWARNINGcode, kind, run_id, tenant_idAnother caller already claimed the recovery generation.Use the winning worker and avoid duplicate recovery.
checkpoint_too_largeWARNINGbytes, code, kind, limit, run_id, tenant_idA checkpoint exceeds its byte bound.Reduce run state before continuing.
fenced_finish_failedWARNINGcode, kind, run_id, tenant_idA fenced worker cannot finish its lifecycle recorder.Inspect store connectivity and the winning worker.
history_too_largeWARNINGbytes, code, count, kind, limit, run_id, tenant_idConversation rebuild exceeds its bound.Reduce history or raise the documented rebuild bound.
lease_freshWARNINGcode, kind, run_id, tenant_idReclaim targets a run whose lease has not expired.Sweep stale leases before attempting reclaim.
lease_intervalWARNINGcode, kind, run_id, tenant_idThe lease interval is below its floor.Use a lease interval of at least five seconds.
lease_lostWARNINGcode, kind, run_id, tenant_idConsecutive lease renewals fail.Restore store connectivity and inspect recovery eligibility.
lease_renew_failedWARNINGattempt, code, kind, run_id, tenant_idA lease renewal fails or exceeds its deadline.Check store latency before the lease is lost.
legacy_runWARNINGcode, kind, run_id, tenant_idThe run uses a storage format that cannot be reclaimed.Allow the legacy run to finish or start a new run.
legacy_run_sweptWARNINGcode, kind, run_id, tenant_idA stale format-1 run is finalised.Inspect the stopped run; format-1 runs cannot be reclaimed.
loop_unknownWARNINGcode, kind, run_id, tenant_idA recovery marker has an unknown loop.Use a supported recovery loop and inspect worker versions.
loop_unsupportedWARNINGcode, kind, run_id, tenant_idThe saved loop does not support recovery.Use a supported loop for new recoverable runs.
never_startedWARNINGcode, kind, run_id, tenant_idSweep finalizes a stale run that never started.Inspect worker startup and retry with a new run.
not_runningWARNINGcode, kind, run_id, tenant_idReclaim targets a run that is no longer running.Read the current result before retrying recovery.
pause_format_unsupportedWARNINGcode, kind, run_id, tenant_idA stored pause format is unsupported.Upgrade every worker before continuing the run.
pause_summary_truncatedWARNINGcode, kind, run_id, tenant_idA human-input display summary exceeded its byte bound.Read the full model turn or raise max_pause_summary_bytes.
reclaim_limitWARNINGattempt, code, kind, run_id, tenant_idA run reaches its reclaim attempt limit.Alert at any rate and inspect worker crashes.
recovery_call_missingWARNINGcode, kind, run_id, tenant_idRecovery cannot locate a checkpointed tool call.Inspect durable tool rows before restarting the run.
recovery_scan_limitWARNINGcode, kind, limit, run_id, tenant_idA recovery scan bound exceeds the supported maximum.Reduce the scan bound.
recovery_state_invalidWARNINGcode, kind, run_id, tenant_idRecovery cannot rebuild the saved checkpoint.Inspect checkpoint compatibility and start a new run if necessary.
recovery_state_missingWARNINGcode, kind, run_id, tenant_idRecovery cannot locate required checkpoint state.Inspect checkpoint persistence before restarting the run.
rewrite_invalidWARNINGcode, kind, run_id, tenant_idA conversation rewrite has invalid metadata.Inspect the conversation writer.
run_fencedWARNINGcode, kind, run_id, tenant_idAn old worker writes after another claim wins.Expected after reclaim; alert on a sustained high rate.
run_finalizedWARNINGcode, kind, run_id, tenant_idRecovery finalizes a run instead of continuing it.Read the final status and its recovery reason.
run_not_foundWARNINGcode, kind, run_id, tenant_idRecovery cannot find a run in the tenant scope.Verify the run identifier and tenant scope.
run_not_reclaimableWARNINGcode, kind, reason, run_id, tenant_idA reclaim request cannot safely continue the run.Inspect the refusal reason before retrying.
skill_mismatchWARNINGcode, kind, run_id, tenant_idRecovery skill pins differ from the saved pins.Restore the pinned skill versions before retrying.
stale_runningWARNINGcode, gap_s, kind, run_id, tenant_idA stale run is finalised under the error policy.Inspect worker health and lease sizing.
stale_running_legacyWARNINGcode, kind, run_id, tenant_idA legacy stale run cannot be reclaimed.Inspect the stopped run and worker health.
submission_generationWARNINGcode, kind, run_id, tenant_idA submission belongs to a different pause generation.Reload the pending pause and resubmit.
submission_missingWARNINGcode, kind, run_id, tenant_idA dispatch has no durable approval or submission.Inspect the pause and durable submission.
sweep_cap_reachedWARNINGcap, category, code, inspected, kind, run_id, tenant_idA sweep reaches its inspection bound.Run another sweep or raise the bound.
tool_replayedWARNINGcode, kind, run_id, tenant_idRecovery replays an interrupted idempotent tool.Monitor repeated worker crashes and tool idempotence.

Runtime

CodeLevelFieldsFires whenDo
cancel_persist_failedERRORcode, kind, run_id, tenant_idCancellation cannot be persisted.Retry cancellation after restoring the store.
cancel_requestedWARNINGcode, kind, run_id, tenant_idA stale run has a durable cancellation request.No action unless cancellation is unexpected.
cascade_truncatedWARNINGcode, count, kind, limit, run_id, tenant_idCancellation discovers more descendants than the subtree traversal bound.Inspect the bounded subtree and cancel remaining subtrees or raise the bound.
database_url_env_ignoredWARNINGcode, kind, run_id, tenant_idAn Agent without persistence ignores DENDRUX_DATABASE_URL.Pass state_store or database_url explicitly to persist Agent runs.
input_size_limitWARNINGbytes, code, entry, field, kind, limit, run_id, tenant_idAn input exceeds its configured bound.Reduce the input or raise the bound deliberately.
invalid_limitWARNINGcode, kind, run_id, tenant_idA recovery limit is invalid.Use a positive limit within the documented bound.
legacy_claim_validationWARNINGcode, kind, run_id, tenant_idA legacy store needs claim-time validation.Implement the current store capabilities when upgrading.
local_database_default_changedWARNINGcode, kind, run_id, tenant_id./dendrux.db is absent; ~/.dendrux/dendrux.db exists and is no longer the default.Set DENDRUX_DATABASE_URL to use ~/.dendrux/dendrux.db, or start with ./dendrux.db.
pause_data_not_jsonbWARNINGcode, kind, run_id, tenant_idA stored pause is not a JSON object.Inspect the stored pause format and writer versions.
pause_id_mismatchWARNINGcode, kind, run_id, tenant_idA submission targets another pause generation.Reload the pending pause and resubmit.
pending_limitWARNINGcode, count, kind, limit, run_id, tenant_idA model produces too many pending calls.Reduce tool fanout or raise the pending call bound.
read_argument_invalidWARNINGargument, code, kind, run_id, tenant_idA read argument is invalid.Correct the named argument.
result_read_failedWARNINGcode, kind, run_id, tenant_idAn optional read fails while returning a known durable outcome.The outcome is preserved; reload missing recovery or pending information from the store.
run_cancel_recoveredWARNINGcode, kind, run_id, tenant_idA Python 3.11 persisted run recovers cancellation at a dispatch boundary.Expected when a database wait loses cancellation; Python 3.12+ is unaffected.
run_cancelledWARNINGcode, kind, run_id, tenant_idChild admission is refused under a cancelled parent.Stop creating children for the parent.
run_failedERRORcode, error_type, kind, run_id, tenant_idA run task fails.Inspect its safe result and trace.
skills_session_unknownWARNINGcode, count, kind, run_id, tenant_idA skill session references unknown state.Restore the pinned skill definitions.
subtree_limitWARNINGcode, kind, limit, run_id, tenant_idA descendant traversal or public subtree read reaches its node bound.Inspect the subtree and raise its bound if appropriate.
wire_answer_omittedWARNINGcode, kind, run_id, tenant_idA wire answer exceeds its encoding bound.Read the bounded result through the store.

Store

CodeLevelFieldsFires whenDo
follow_capacityWARNINGcode, kind, limit, run_id, tenant_idThe process follower cap is reached.Reduce followers or raise the configured cap.
follow_feed_errorWARNINGcode, kind, run_id, tenant_idA live event feed fails.Check store connectivity and retry the feed.
follow_shutdown_pendingWARNINGcode, kind, run_id, tenant_idA feed is still stopping after its cleanup deadline.Inspect slow store operations.
follow_tenant_capacityWARNINGcode, kind, limit, run_id, tenant_idA tenant follower cap is reached.Reduce tenant followers or raise its cap.
idempotency_conflict_legacyWARNINGcode, kind, run_id, tenant_idA legacy write cannot use the current unique index.Finish the rolling upgrade and activate the schema.
llm_failed_writeWARNINGcode, kind, run_id, tenant_idBest-effort provider-failure evidence cannot be written.Inspect store connectivity; the safe run result remains authoritative.
note_cap_unenforcedWARNINGcode, kind, run_id, tenant_idA custom store cannot enforce the note cap.Implement bounded note writes in the custom store.
note_limitWARNINGcode, kind, limit, run_id, tenant_idA run reaches the note cap.Consume notes or raise the configured cap.
persistence_errorWARNINGcode, kind, run_id, tenant_idA durable operation fails.Restore store connectivity and inspect the run result.
shared_engine_loop_closedWARNINGcode, kind, run_id, tenant_idA pooled engine belongs to a closed event loop.Use an engine owned by the current loop.
store_capabilityWARNINGcode, kind, run_id, tenant_idA declared store capability has an incompatible method.Implement the frozen store contract.
store_outcome_unknownWARNINGcode, kind, run_id, tenant_idA commit acknowledgement is lost and the operation outcome cannot be proven.Inspect persisted state before attempting the operation again.
store_statement_limitWARNINGbytes, code, kind, limit, run_id, tenant_idA configured limit or a statement is larger than the database accepts.Lower the Agent's Limits, shrink the payload or raise the server's max_allowed_packet.
write_conflictWARNINGcode, count, kind, run_id, table, tenant_idA retried identity has conflicting content.Inspect writer consistency; do not retry blindly.

Tool

CodeLevelFieldsFires whenDo
cancelledWARNINGcode, kind, reason, run_id, tenant_idA sibling tool stops before completion.Inspect the batch result before retrying.
invalid_tool_resultWARNINGcode, kind, run_id, tenant_idA client tool result fails validation.Submit a valid result for the pending call.
invalid_tool_schemaWARNINGcode, kind, run_id, tenant_idA tool call targets a schema that cannot be validated.Fix the declared tool schema.
outcome_unknownWARNINGcode, kind, reason, run_id, tenant_idAn interrupted tool may have applied its effects.Check the side effect before retrying.
size_limitWARNINGbytes, code, kind, limit, run_id, tenant_id, truncatedA tool result exceeds its byte cap.Reduce the result or use payload offload.
timeout_not_startedWARNINGcode, kind, run_id, tenant_id, timeout_s, zombie_threadsA queued tool times out before starting.Retry after reducing tool pool load.
timeout_outcome_unknownWARNINGcode, kind, run_id, tenant_id, timeout_s, zombie_threadsA running tool exceeds its deadline.Check the side effect before retrying.
tool_pool_saturatedWARNINGcode, kind, run_id, tenant_idThe synchronous tool pool cannot accept work.Reduce concurrency or raise the pool bound.
tool_row_may_be_missingWARNINGcode, kind, run_id, tenant_idA finished tool is interrupted while its row is written.Check the side effect before retrying.
tool_zombie_finishedINFOcode, kind, run_id, tenant_id, zombiesAn abandoned synchronous tool finally exits.Inspect repeated long-running tools.

What to alert on

  • cascade_truncated: inspect the subtree and cancel remaining branches or raise its bound.
  • reclaim_limit at any rate: inspect the run and worker crashes.
  • run_fenced above a small sustained rate: inspect worker turnover and lease sizing.
  • live_updates_degraded lasting more than one minute: inspect the listener connection.
  • sweep_cap_reached on every sweep: run more often or raise the scan bound.
  • follow_capacity or follow_tenant_capacity: reduce followers or raise their cap.
  • log_field_dropped: fix the emitting call without adding raw values to diagnostics.