Skip to content
Thyme Docs

Executable Lifecycle

An executable combines code, args, profile, schedule, secret bindings, gas settings, runtime, and persistent storage. Open its detail page in Console → Executables, or use management commands and the API.

Executable states

StateMeaning
provisioningPreparing the runtime and uploaded bundle.
activeEnabled for scheduling and accepted invocation channels.
pausedScheduled runs are disabled; configuration and an eligible one-run permission override remain available.
errorProvisioning or runtime recovery needs attention.
deletedSoft-deleted.

Creating the executable provisions its runtime and then activates it if permissions are covered. Missing coverage leaves it paused without starting its schedule. A recurring enforcement issue can automatically pause an active executable; inspect pausedReason before resuming. Current enforcement tracking pauses after three consecutive recorded enforcement failures, not after every arbitrary task exception.

Actions

ActionEffect
Execute nowRequests an additional real run of an active executable.
Attempt one runAn owner/admin explicitly overrides missing manifest coverage for a single manual attempt. Also available while paused; on-chain permissions still apply, and the schedule stays unchanged.
SimulateRuns task logic and records a preview; no transaction, storage commit, or metered usage.
PauseDisables further scheduled/active invocations; it does not undo an in-flight transaction.
Activate / ResumeRechecks binding permissions and restores the schedule.
DeleteSoft-deletes a non-active executable, including paused, provisioning, or error states. Pause active work first.
ReprovisionRetries sandbox setup for an executable in error.
Regenerate sandboxRecreates runtime resources; do not use sandbox-local files for durable data.
Switch functionStages an active release in the same project while paused.

Edit configuration

Args, schedule, secret bindings, gas settings, and supported same-chain profile assignments are editable. A target profile must be active and belong to the same project; profile migration and permission checks can block reassignment. Existing in-flight runs retain their original profile.

A release switch builds the replacement before committing the new function ID and args. While pending, conflicting args edits, activation, another switch, and manual regeneration are blocked. Success leaves the executable paused; failure leaves the old version committed with an error to inspect.

Through the API, PATCH /api/v1/executables/{id}/function returns 202 with a rebuilding request. Poll the resource until pendingFunctionSwitch clears, inspect any error, and activate deliberately. See release management.

Execution states are separate

Every invocation has its own timeline. submitted_unknown means a broadcast operation still has an unresolved outcome; it must not be treated as safely failed. skipped can represent a task decision, a preview, or a gate that prevented work, so read the reason.

For the complete execution status table, logs, and recovery checks, see monitoring.