Skip to main content
Version: 1.0.0

Diagnostics Reference

Typed data and entry admission​

CodeCauseAction
ProjectEntrypointsInvalidInvalid or duplicate entry list, or a direct agent entryDeclare entry and entrypoints; call the agent through its authorized strategy
ProjectEntrypointNotAllowedWorkflow absent from the project's entriesCheck the selection; declare the authorized workflow and run prepare again
InvalidFieldConstraintConstraint incompatible with its type, or inconsistent boundsUse format "digits" on Text, length on text/lists, and min/max on numbers
InvalidFieldDefaultDefault violates its type or constraintsSupply a valid static value; see typed data
DateValueInvalidInvalid date conversionSupply a real civil date in YYYY-MM-DD format
RecordValueInvalidConstruction or copy violates a field contractCorrect the value before construction; external inputs and outputs are checked too
HumanApprovalExclusionEvidenceRequiredMissing excluded signers or incorrect ruleHave the host attest the source-declared exclude_signers rule

Provider errors expose bounded details: http_status, finish_reason and, when available, incomplete_reason. A handler error retains its cause; receipt_error_code identifies a missing or invalid effect receipt. Without evidence of application, the effect's outcome remains unknown.

Project, agent and handler integration​

CodeCauseAction
StrategyInterfaceRequiredA source strategy call has no explicit output signatureDeclare gives and pass every takes argument
StrategyInputTypeMismatchStrategy argument values do not match the interfaceFix the arguments or source type; recompile
InvocationDepthLimitExceededMore than 64 nested callsBound recursion or flatten the workflow without widening authority
InvalidHumanApprovalCheckpoint / HumanApprovalCheckpointIncompatibleMissing, malformed or AIR-incompatible continuationPreserve the saved state; use matching AIR and complete current-format checkpoints, without replaying effects
UnknownToolCapabilityUnknown capability nameUse the closed list in the tool guide; split operations into distinct tools
MissingTriggerArgumentRequired target input not boundAdd with <name> as payload.<field> for a request, or a value for a schedule
AgentDecisionRequiredNo deterministic decision or provider configuredConfigure --agent-decision-provider on run or serve, or explicit decisions
ToolHandlerReportedError / UnhandledHandlerErrorHandler exceptionReproduce run({ request, context }) in a local business test; do not expose secret-bearing messages
TriggerPayloadInvalidMissing field or invalid typeFix payload and mapping; a source literal is not fallback for a missing mapped field
TriggerEventPayloadConflictSame identifier with different contentDo not reuse an identifier for a new event
TriggerReplayRejectedEvent already consumedRecover its result instead of redispatching the effect
ToubaServeDecisionIdentityUnauthorizedInactive user, unpaired device or missing decision authorityConfigure identity and assignment, without disabling checks
ToubaServeSandboxCheckpointStoreInvalidInconsistent or corrupt durable statePreserve files and inspect correlations; do not delete waits to restart
ToubaServeSandboxInvalidWrong request or route discriminantUse /triggers/fire for a trigger and /runs/sandbox for an entrypoint
ToubaServeProjectAirStaleNewer sources or absent AIRRun prepare --profile dev --mode write, then refresh
ToubaServePreparedProjectInvalidInvalid, stale or unconfined development preparationFix inputs and regenerate preparation
ToubaServeHumanWaitConflictDecision or resume already claimedRead that request's state, rather than creating a replacement approval
HandlerEntryUnknownToolBinding absent from all locked AIRsSupply every project AIR with repeated --air, or remove a truly obsolete binding
PreparedAirDriftDerived AIR differs from expected compilationRegenerate with prepare --mode write; do not edit derived output
HostDecisionJsonInvalid / HostDecisionInvalid / HostDecisionFieldUnknownMalformed decisions or unknown fieldsUse documented selections only; CLI JSON is limited to 64 KiB, with no secret values
HostDecisionTargetUnknown / HostDecisionSelectionInvalidUndeclared target, grant, handle or access, or duplicate selectionReview source requirements and explicitly select legitimate authority
HostDecisionEffectInvalid / HostDecisionLimitInvalidInvalid effect contract or limitDeclare the exact contract and strictly positive integer limits
HostDecisionDriftRequested decisions have not been appliedReview with plan, apply with write, then verify with check
HostDecisionFragmentConflict / BindingFragmentManifestDriftCompeting decisions or fragment driftExplicitly reconcile fragment and manifest; no automatic authority expansion
HandlerDiagnosticsForbiddenPrivate diagnostics outside local developmentUse a POSIX dev run plan, without required lock or hardened profile
HandlerDiagnosticsUnavailableUnavailable or existing destinationChoose a new file in an accessible directory; no existing file is overwritten
HandlerDeclaredContractDriftGenerated handler constants differ from sourceReview and adjust grants, handles and signature in handler and test; business code is not overwritten
RuntimeFailure (return type mismatch)Returned value violates givesFix the return path and type, then recompile; do not accept null as typed success

This page lists the main diagnostics and user-facing errors.

How to read this page

Each row gives the code or error family, the likely cause, and the recommended action. For more detail, see the CLI reference or the troubleshooting guide.

Sources, audit and startup​

CodeCauseAction
SourceRefMismatchCorresponding source missingSupply all modules with repeated --source options, preserving directories
SourceRefAmbiguous / SourceArtifactDuplicate / SourceArtifactUnusedAmbiguous, duplicate or unrelated sourcesSupply exactly the referenced sources
TraceAuditDigestMismatchArtifact differs from the sealPreserve evidence and investigate; do not regenerate the seal to hide the mismatch
ToubaServePreflightFailedStartup refusedRead detailed diagnostics and paths
ToubaServeProductIdentityPathInvalidIdentity path outside project or invalidPlace the file under --project-root and correct --identity
AgentCapabilityNotAllowedSelected capability absent from the agent's usesCorrect the decision; expand authority only if legitimate
InvalidTextLiteralInvalid escape or raw control characterUse JSON escapes, including \n and \\

Compilation and Semantics​

Code or familyLikely causeAction
UnknownReferenceCall or reference not foundCheck the name and declaration
MissingExplicitCallArgumentRequired argument missingAdd with <name> as <expression>
UnknownCallArgumentUnknown argument nameMatch the name after with to takes
DuplicateCallArgumentSame argument provided twiceRemove the duplicate
DuplicateResultBindinginto binding already usedChoose a distinct name
DuplicateLocalBindingbind name already used in the graphChoose a distinct local name
UnsupportedModuleConstantExpressiondefine contains neither a scalar literal nor a qualified enum memberUse a supported value or move the computation into a function
UnreachableStatementStatement placed after a terminal return (give, stop, or an if whose branches all terminate)Move the statement before the return, or keep one give per path
InvalidBranchConditionNon-boolean if conditionProduce a Boolean
EnrichedAgentCallBlockedA with / into call targets an agent without a resolved interfaceDeclare takes / gives and supply the source context, including imported modules
AgentCallerNotAllowedAgent call not authorizedFix callable_by
UnsupportedTriggerEventKindTrigger from an unavailable familyUse on schedule "..."
UnsupportedTriggerTargetKindTrigger targeting an unavailable target kindUse runs strategy <Name>
MissingTriggerLimitsTrigger without limits blockAdd max_runs_per_day and timeout_ms
MissingTriggerLimitRequired limit missingAdd the missing limit
InvalidTriggerLimitNon-positive or non-integer limitProvide a strictly positive integer
UnknownTriggerTargetTarget strategy absentDeclare the targeted strategy
InvalidTriggerArgumentTrigger argument is not a literal or defineUse a literal or module define

Expressions​

Code or familyLikely causeAction
InvalidExpressionOperandTypeOperator applied to the wrong typeCheck Text, Boolean, Int, Float
UnknownExpressionFieldField absentCheck the local type
UnknownEnumVariantUnknown enumeration memberUse a declared member of the qualified type
DuplicateEnumVariantRepeated enumeration memberKeep each member name unique
StaticExpressionDivisionByZeroDetectable division by zeroFix the denominator
AstErrorSyntax error or unsupported constructInspect the local position and hint; check indentation and clauses instead of accepting a recovered tree

Runtime, Tools, Manifest, and Secrets​

CodeLikely causeAction
ToolBindingManifestMissingManifest absentSupply the manifest
ToolBindingMissingBinding absent for the toolAdd the entry to the manifest
ToolCapabilityNotGrantedRequired capability absentAdd the grant if legitimate
SecretReadGrantMissingSecret without suitable grantFix the binding
SecretRequiredButNotBoundHandle absent from bindingAdd the handle
SecretNotResolvedSecret unresolvedSupply the secrets file with env, dotenv, or touba_store source
SecretHandleRevokedHandle explicitly revoked in the secrets profileReactivate the handle if legitimate or choose a suitable secrets profile
SecretHandleExpiredHandle expired according to the secrets profileRenew the value and update profile expiration
SecretNotGrantedToAgentAgent not authorized to use the handleFix the agent scope
ToolInputSchemaInvalidInvalid tool inputAlign input with takes
ToolOutputSchemaInvalidInvalid handler outputFix the handler or gives
OptionalValueAbsentDirect AIR tries to extract an absent valueRecompile and extract only inside if present
OptionalValueInvalidInvalid optional envelope or typePreserve explicit presence/absence and the declared type, without implicit null
ToolPayloadConstraintViolationpayload_constraints violatedFix input, handler output, or manifest constraint
ToolHandlerTimeoutHandler too slowFix the handler or timeout
AgentDecisionProviderUnavailableAgentic provider unavailable or raised an exceptionCheck provider module and dependencies
AgentDecisionProviderTimeoutAgentic provider too slowFix provider or adjust --agent-decision-provider-timeout-ms
AgentDecisionProviderSchemaViolationProvider response outside contractReturn a decision conforming to touba-agent-decision-v1
AgentDecisionProviderBudgetExceededProvider call budget exceededIncrease --max-provider-calls if justified
AgentDecisionProviderRetryLimitExceededProvider retries exhaustedFix provider cause or adjust --agent-decision-provider-max-retries
AgentProviderObservationsBudgetExceededObservations too large for provider contextReduce observations or use opaque provider-side references
AgentCapabilityDescriptionRequiredCapability exposed to a decision provider without a source descriptionAdd an explicit description to every capability declared in agent.uses

Project Workflow​

CodeLikely causeAction
ModulePathNotCanonicalSource file outside project conventionUse src/<domain>/<module>.tb with module domain.module
ModulePathMismatchModule name differs from source pathAlign path and module line
ProjectRunProfileUnknownRequested profile is absent from touba.project.jsonDeclare the profile or select an available pure, dev, or prod profile
EffectiveProjectMissingEffective projection is absent in check modeRun touba prepare --mode write --profile <profile>
EffectiveProjectDriftEffective projection differs from its declared inputsReview the changes, then regenerate with prepare --mode write
EffectiveProjectReadFailedEffective projection is unreadable or not JSONRemove the invalid derived artifact and regenerate it
ManifestDerivedDriftDerived manifest was widened or edited outside project inputsDeclare authority in an explicit fragment and regenerate; do not edit the derived file
ManifestMissingProject with tool but no manifest in check modeRun touba prepare --mode write or create the manifest
ManifestBindingMissingTool declared without bindingUpdate manifest from AIR
ManifestGrantMissingExpected grant absentReview and grant explicitly if legitimate
ManifestSecretMissingExpected secret handle absentAdd the handle, never the value
HandlerStubMissingExpected handler stub absentGenerate the stub or supply the expected handler
ManifestBindingObsoleteBinding present for a removed toolRemove the binding if the tool no longer exists
PackageSchemaMismatchInvalid local package manifest or unknown schema versionFix touba.package.json
PackageExportMissingImport from a package to a non-exported declarationAdd the export or fix the import
PackageExportUnknownRefPackage export points to absent declarationFix exports or package source
PackageVersionIncompatibleRequested version differs from package versionAlign touba.project.json and package
PackageAirProfileIncompatiblePackage AIR profile incompatibleUse a package targeting touba-air-json-canonical-v1
PackageNameConflictLocal module or package conflictRename the relevant package or module
PackageAuthorityFieldForbiddenPackage attempts to declare handler, binding, grant, secret, or permissionRemove authority from the package; authority stays in AIR, manifest, and runtime
PackageRegistryForbiddenLocal package or project entry attempts to use a registrySupply an explicit local manifest
RunPlanMissingExpected run plan absent in check modeRun touba prepare --run-plan <path> --mode write
RunPlanDriftRun plan differs from expected artifactsRegenerate with touba prepare --run-plan <path> --mode write
RunPlanSchemaMismatchInvalid run plan version or shapeFix JSON or regenerate the plan
RunPlanEntryUnknownentry_ref absent from AIRFix --entry or Touba source
RunPlanAirMissingPointed AIR absentRun touba prepare --mode write again or fix path
RunPlanManifestMissingRequired manifest absentProduce manifest with touba prepare --mode write
RunPlanSecretsProfileMissingRequired secrets profile absentProduce or supply the explicit secrets profile
RunPlanSupplyChainLockRequiredStrict profile without available lockSupply or regenerate touba.lock.json
RunPlanSupplyChainDriftSupply-chain lock incoherent with AIR, manifest, or handlerRegenerate lock after reviewing changes
RunPlanTriggerManifestMissingPointed trigger manifest absentSupply the explicit trigger manifest
RunPlanLimitInvalidInvalid run limitUse a supported positive limit
RunPlanSensitivePayloadForbiddenPayload, prompt, or secret placed in run planRemove these values and supply them through the intended channel
BindingFragmentReadFailedBinding fragment unreadableFix path or JSON
BindingFragmentSchemaMismatchFragment outside touba-binding-fragment-v1 schemaFix schema or regenerate fragment
BindingFragmentUnknownToolFragment targets a tool absent from prepared AIRFix tool, import, or local package
BindingFragmentDuplicateBindingSame binding repeated by fragmentKeep one binding source
BindingFragmentConflictingBindingTwo fragments diverge for same toolResolve explicitly before composition
BindingFragmentMissingGrantAIR-required grant absent from fragmentAdd the grant to the fragment
BindingFragmentMissingSecretAIR-required secret absent from fragmentAdd the secret handle to the fragment
BindingFragmentMemoryAccessMissingRequired memory access absent from fragmentAdd memory access explicitly
BindingFragmentConstraintInvalidInvalid payload constraintFix payload_constraints
BindingFragmentAuthorityFieldForbiddenFragment attempts to grant caller, scope, policy, or security statusRemove authority from the fragment
BindingFragmentNotAssembledtouba run receives a fragment instead of assembled manifestRun touba prepare --binding-fragment ... and supply touba.manifest.json
ResourceBindingsReadFailedResource bindings file unreadableFix path or JSON
ResourceBindingsSchemaMismatchResource bindings outside touba-resource-bindings-v1 schemaFix or regenerate artifact
ResourceBindingUnknownResourceBinding targets a resource absent from prepared AIRFix reference or import
ResourceBindingUnsupportedKindFamily not supported by resource bindingsUse memory_backend, event_source, or decision_provider
ResourceBindingMissingRequired logical resource has no active bindingSupply a binding or disable requirement
ResourceBindingInactiveBinding explicitly inactiveActivate binding or choose another profile
ResourceBindingSecretMissingRequired secret handle absent from bindingAdd the handle, never the value
ResourceBindingGrantMissingRequired grant absent from bindingAdd grant if legitimate
ResourceBindingScopeMissingOwner without compatible memory scopeFix memory_scopes in Touba source
ResourceBindingPayloadForbiddenRaw payload or secret value in bindingReplace with handle or host reference

Skill Packs​

CodeLikely causeAction
SkillPackRefInvalidInvalid pack or resource refUse skill_pack:<namespace>/<skill-id> or resource:<skill-id>/<name>
SkillPackResourceKindInvalidUnsupported resource typeUse procedure, reference, example, template, sample, or script
SkillPackResourcePathInvalidMissing, absolute, escaping, or non-file pathKeep a relative internal pack path
SkillPackDigestMismatchDigest differs from contentUpdate digest after reviewing the file
SkillPackAuthorityFieldForbiddenPack attempts to declare handler, command, grant, secret, scope, or callerRemove authority from the pack; authority stays in Touba and manifest
SkillPackScriptExecutionForbiddenScript treated as executable by the packKeep script as a resource and go through a Touba tool
SkillPackExecutionLinkUnauthorizedLink to capability absent from agent.usesAdd capability to the right agent or remove link
SkillPackBudgetExceededHints, activation, or model input exceed budgetReduce pack or explicitly increase budget
SkillPackSensitiveContentForbiddenActive content contains secret, raw payload, full prompt, or raw memoryReplace with handle, summary, or host reference
SkillPackActivationUntracedActive pack without observable activation eventFix host or run trace
SkillPackExecutableConfusionskill_pack:* chosen as executable capabilityChoose a Touba skill or tool declared in uses

Project Server, Tests, and Identity​

CodeLikely causeAction
ToubaServeUnauthorizedMissing or invalid bearer tokenReconnect the project with the active server token
ToubaServeIdentityPermissionDeniedValid session without permission for the routeRequest the required role or assignment
ToubaServeSandboxTargetNotFoundTarget absent from project AIRRefresh and select a compiled target
ToubaServeSandboxExternalEffectsRejectedRuntime-only mode used for a target that can call an external toolExplicitly authorize declared effects for this test
ToubaServeSandboxSecretsMissingRequired secrets profile is absentConfigure touba.secrets.dev.json or touba serve --secrets
ToubaServeSandboxDecisionRequiredRun suspended for a human decisionSubmit the associated decision and resume the session
ToubaServeSandboxCheckpointNotFoundResume checkpoint is absent or expiredRefresh the session and rerun when needed
ToubaServePendingHumanRequestNotFoundHuman request already handled or unknownRefresh decisions before responding

Authoring and Changes​

CodeLikely causeAction
ToubaServeElementAuthoringInvalidIncomplete or out-of-contract creation intentFix fields for the selected primitive
ToubaServeElementAlreadyExistsA declaration already uses that name in the moduleChoose a distinct name or edit the existing element
ToubaServeElementDescriptionRequiredCapability created without an explicit descriptionAdd a description suitable for agentic routing
ToubaServeElementResponsibilityRequiredAgent created without an explicit responsibilityDescribe what the agent is accountable for in responsibility
ToubaServeElementReferenceUnknownMissing uses, callable_by, scope, or target referenceSelect a reference declared in the module
ToubaServeElementCrossModuleReferenceRejectedImplicit cross-module referenceDeclare the import in source before proposing the relation
ToubaServeChangeSourceDriftThe file changed after proposal creationRefresh the project and submit a new proposal
ToubaServeChangeProjectLockedA multi-file transaction is already runningWait for completion or recover the reported transaction
ToubaServeChangeRecoveryConflictRecovery cannot determine a unique stateInspect the transaction journal before another write

Deployment​

CodeLikely causeAction
ToubaDeploymentSupplyChainLockMissingprod bundle without a supply-chain lockProduce and validate touba.lock.json
ToubaDeploymentRawSecretRejectedSecret value detected in an artifactReplace the value with a handle
ToubaDeploymentHandlerImplementationHandler stub present in the prod profileImplement and test the handler
ToubaDeploymentSourceRevisionUnvalidated source revision in the prod profileReview and commit the expected changes
ToubaDeploymentInsecureTargetRejectedRemote target uses HTTPUse HTTPS
ToubaDeploymentUnauthorizedMissing or invalid tokenSupply the token through the declared variable
ToubaDeploymentRevisionNotFoundRequested revision is absentRun touba deploy list
ToubaDeploymentRevisionCorruptMaterialized artifact differs from its digestRemove the target from traffic and restore a verified revision
ToubaDeploymentRollbackUnavailableNo previous activation is availableExplicitly activate a known revision
ToubaServeDeploymentTargetNotConfiguredProject server has no deployment targetSupply target options to the server

Agents, Memories, and Interactions​

CodeLikely causeAction
UnauthorizedAgentInvocationCaller absent from callable_byFix authority
MemoryBindingMissingMemory access without bindingSupply memory binding
MemoryGrantMissingMemory grant absentAdd grant if legitimate
MemoryNotGrantedToOwnerActive owner without memory scopeFix source scope
HumanApprovalRequiredApproval without decisionSupply explicit decision
InvalidHumanApprovalDecisionUnsupported decisionUse an accepted decision
UserInteractionRequiredask without inputSupply user inputs
InvalidUserInputNon-textual ask inputSupply a string

Parallelism and continuations​

CodeCauseAction
InvalidParallelContractInvalid target, signature or parallel contextDeclare a typed target from a skill/strategy and recompile the source.
ParallelInputTypeMismatchAn argument violates the target signatureFix the input list or bindings; the group is refused before its first call.
ParallelItemLimitExceededInput is not a list or exceeds its boundCheck the type and process bounded batches; no silent truncation.
ParallelBranchLimitExceededToo many live branches, including nested groupsReduce fan-out or review justified host ceilings without bypassing budgets.
ParallelUserInputRequiredask lacks an occurrence-specific host answerSupply a correlated answer; never reuse another branch's response.
ParallelJournalLimitExceeded / ParallelCheckpointLimitExceededPrivate journal or checkpoint exceeds its size boundReduce payload or group size; preserve the last valid checkpoint.
InvalidParallelCheckpoint / ParallelContinuationMismatchIncomplete state or divergence from saved executionPreserve the file and check the build, source and artifacts; do not hand-edit it.
ParallelOutcomeUnknownInterrupted call with no demonstrated outcomeReconcile with the effect journal and external service; never redispatch blindly.

Tool, provider, authority and budget errors remain visible: branch failure is not replaced by partial success. See Recovery and Budgets.

Package distribution​

See package diagnostics. Author files use one package manifest; runtime context checks keep their SkillPack codes.

Approval constraints​

CodeAction
InvalidHumanApprovalPolicyUse valid static role, deadline and separation literals.
HumanApprovalExpirationMustTerminateEnd every expiration path with give or stop.
HumanApprovalAuthorityRequired / HumanApprovalEvidenceRequiredSupply the trusted host adapter and an authenticated evidence reference.
HumanApprovalAuthorityUnavailableRestore the identity service; the continuation has not been authorized.
HumanApprovalRoleRequired / HumanApprovalSignerConflictUse a currently authorized, distinct signer.
HumanApprovalAttestationInvalidBind evidence to this exact request, run and decision.
HumanApprovalCheckpointIncompatibleKeep the original AIR and complete private checkpoint; do not invent missing authority state.
HumanApprovalStateLimitExceededThe run has reached its bounded approval ledger capacity (10,000 requests and receipts).

State origin and installation​

ToubaServeStateBuildMismatch requires the preserved originating build; ToubaServeStateProjectMismatch requires the original project location. Do not edit state identity to bypass either check. ToubaServeStateOriginInvalid / ToubaServeBuildIdentityInvalid indicate invalid provenance; verify the archive and backup. ToubaServeStateSnapshotRequired means a SQLite journal remains: stop writers and establish a consistent snapshot. ToubaStoreFormatIncompatible identifies an unrecognized stored format. InstallationBuildMismatch / InstallationArchiveConflict preserve the active installation on fingerprint conflict. InstallationInProgress means an exclusive lock exists; check its owner before intervention. InstallationPathUnsafe / InstallationPathsOverlap refuse linked or overlapping source/target directories.

Host policy and content checks​

  • ProjectConfigFieldUnknown: unknown project or configuration key. Contexts belong in configuration.contexts.
  • ToolHandlerSandboxAccessDenied: the OS reported a denied access in the required sandbox. Review code paths and data grants/scopes without disabling isolation. An inaccessible module may also appear missing; that remains a loading failure rather than an invented permission diagnosis.
  • EngineCapacityExceeded: the persistent JavaScript engine reached its request capacity. Wait for an active run to finish before retrying; this is not a process launch failure.

SkillPackSensitiveContentForbidden matches secret values resolved for this run and explicitly forbidden content categories. It is not a generic API-key pattern detector. Keep all secrets out of distributed package resources.

HandlerSandboxUnsupportedPolicy refuses a required sandbox on an unqualified backend. HandlerSandboxGrantMissing requires the grant matching the selected paths. HandlerSandboxPathInvalid requires an absolute existing interpreter and individual existing code_paths files. HardenedSandboxUnavailable means the actual host probe failed or the policy is not qualified; it never authorizes an unsandboxed retry.