Skip to main content

Statuses, actions, and errors

Use the highest-level stable field that answers the question. Application posture is a read-time customer summary; it is not persisted as an executor transition and must not be used as proof that one detailed event occurred.

Application posture

categoryToneactionableMeaning
readyokfalsePositive current runtime-ready evidence satisfies desired state.
in_progresswarnfalseNormal progress, observation, recovery, or an evidence state without a customer action.
needs_actiondangertrueA blocked/parked/failed/review deployment exposes customer action.
inactiveidlefalseDraft, paused, disabled, retiring/retired, or otherwise inactive.

The object also includes stable reason and human label. Common reasons:

ReasonInterpretation
runtime_readyRequired runtime capability evidence is ready.
active_without_deploymentActive intent exists; no deployment is yet visible.
deployment_launchingSubmission or assignment work is advancing.
deployment_claimedProcessor claim exists; runtime contact is still awaited.
runtime_configuringBootstrap/configuration is advancing.
runtime_awaiting_contactNo current signed runtime contact yet.
runtime_restartingSame job is within restart grace.
runtime_contact_degradedContact is delayed but not declared lost.
runtime_contact_lostExpected contact was not observed.
runtime_start_timed_outFirst contact exceeded its boundary.
runtime_fatal_reportedThe runtime signed a terminal application diagnostic.
runtime_evidence_disagreesIndependent evidence sources disagree; do not guess.
deployment_awaiting_replacementEarlier deployment ended; successor evidence is awaited.
deployment_blocked, deployment_parked, deployment_failedCurrent deployment needs customer review/action.
deployment_review_requiredHuman review is explicitly required.
application_draft, application_pausedInactive authored/lifecycle state.

Unknown active detail maps to in_progress/unknown_active_state, not ready.

Action Plan vocabulary

The Console organization Action Plan lists only Holds: work Liskov has stopped on and will not resolve without you. Causes are intent (you stopped it), funds (authorised cap), and app_fault (workload, artifact, or policy version). platform never appears as a customer decision. A job Liskov is still retrying is withheld; the page says so.

Each Hold names one cause and one action pair: Resume trying / Stop. Per-code next-action prose stays on the execution detail.

The CLI proof liskov application action-plan still returns one Application's plan items. Use those tokens for a bounded retry; do not treat wait or recover as a Console Action Plan row.

FieldMeaning
decisionIdStable identity for the current decision cohort; required for a supported retry.
conditionClassTyped cause family, such as missingProcessorClaim, scheduleOverlap, processorAtMatchCap, insufficientReward, noAffordableProcessor, authoringFault, staleEnvironmentHandoff, ambiguousRecovery, runtimeFirstContactTimeout, runtimeCrashLoop, missedCheckin, or unknown.
dispositionMachine response: wait, recover, or park. A platform kill state is not a customer retry recipe.
nextActionSupported customer or support step. Absence normally means wait or escalate.
reasonStable explanatory token; use it before the human message in automation.
evidence time/IDsScope the decision to exact policy, deployment, and job facts.

recover can consume a bounded retry budget. park stops automatic forward progress. wait must not be converted into repeated manual submissions.

processorAtMatchCap rotates away from the saturated processor within the bounded launch-recovery budget. authoringFault does not retry: correct the reported manifest pointer and publish again. The schedule-bound reason tokens are acurast_job_registration_duration_below_minimum, acurast_job_registration_start_too_far_in_future, and acurast_job_registration_max_start_delay_exceeded.

Organization business-eligibility errors

New non-personal organizations must carry the approved liskov.business-eligibility.v1 statement and an assigned ISO 3166-1 alpha-2 business-country code. These are declaration facts; Liskov does not infer them from an IP address, billing address, or processor location.

CodeMeaning / response
business_eligibility_requiredThe required statement version is missing. Return to the new-organization form and review the separate Business use only statement.
business_eligibility_version_mismatchThe client submitted a statement version other than the server's requiredVersion. Refresh the Console before retrying.
business_country_requiredNo business-establishment country was supplied. Enter its two-letter code.
invalid_business_country_codeThe value is not an assigned uppercase ISO 3166-1 alpha-2 code. Correct the declared business country; do not substitute a billing or processor country.

A refusal creates no organization, membership, Terms acceptance, trial, or Service Credit grant. If you cannot make the statement because your use is personal, family, or household use, do not retry: that use is unsupported.

Execution coverage

The Console Coverage strip decodes proof.liskov.execution-convergence.v1. Clients do not derive generation, phase, desired capacity, or finance from raw policy or truncated rows. Unknown fields and older servers refuse explicitly.

TokenMeaning
quietNo required work. Not stalled, even when last progress is old.
in_flightRequired work is inside its due window (pending launch).
unknownEvidence is missing or unreadable; do not infer a phase.
ended_unsettledOccupancy is vacant and a charge, reserve, or review hold remains.
overdueRequired work is past due with no successful progress. stalled is true only here.
complete / incomplete / stale / unknownCompleteness of the page. Truncation is partial history.
selectedAuthoritative writer. Follow this next action.
proposedShadow suggestion. Never authorization.
execution_convergence_unauthorizedPermission withheld.

See Intended capacity versus remaining charges.

Manifest and publication diagnostics

CodeMeaning / response
invalid_policyRequired value, type, enum, bound, or cross-field invariant is invalid. Correct the manifest.
unknown_fieldA strict object contains an unrecognized property. Remove or correct it.
unsupported_policy_featureValid V4 syntax is not enabled. Choose a v1-supported value.
entitlement_exceededOrganization/account limit is below the requested authority. Reduce it or change entitlement.
application_identity_mismatchApplication ID/UID does not match the target. Stop and inspect identity.
application_already_existsImport target collides with an existing Application. Resolve organization/repository/UID rather than overwriting.
invalid_policy_importImport source or document is not an accepted Manifest V4 input.

Publication preflight can report several independent diagnostics. Resolve all, then run a fresh preflight; do not rely on a stale clean result.

Application lifecycle

An Application is in exactly one of three lifecycle states. This is a different question from posture: posture says whether the Application is healthy, lifecycle says whether it still exists.

LifecycleMeaningHolds an Application slot
CurrentThe Application exists. It may be active, paused, or disabled.Yes
RetiringA retirement is in progress and has not finalized.Yes
RetiredRetirement finalized and an immutable receipt exists.No

The Console shows these three; proof liskov application list prints them beside the stored status. In the API and in persisted data, a retired Application's status is deleted — a compatibility detail retained for deployed clients, not the customer-facing word. retiring is derived from an active retirement intent and is never a stored status; a retiring Application reports its stored status as paused, which is why the lifecycle, not the status, is the field to read.

A retired Application carries a receiptKind:

receiptKindMeaning
safe_retirementRetirement finalized against a proven zero gate.
legacy_immediate_tombstoneA historical deletion recorded before safe retirement existed. It is not proof of a zero gate, and its remaining resources are cleaned up separately.

Retirement

The canonical assessment uses:

PhaseMeaning
terminalizing_localNew work is stopped and local mutable work is being closed.
waiting_for_schedule_endOne or more execution blockers remain until verified chain end.
waiting_for_financial_tailReserve/charge/release/review evidence remains.
blockedAmbiguous or non-self-remediating evidence prevents completion.

Blockers have category execution, financial, or ambiguity, plus code, evidence authority, resource kind/ID, and remediation class. Completion requires all three blocker counts to be exactly zero and produces the immutable receipt; unknown vocabulary fails closed.

Several blockers can describe one obligation — a held reserve and its unreleased billing parent are emitted from the same reservation. The Console and the CLI group them into correlated obligations and report who must act:

Waiting onRemediation classesYour action
Liskovautomatic_local_terminalization, automatic_financial_closeoutNone. Liskov's own workers converge this.
The Acurast chainwait_for_chain_evidenceNone. The chain owns the terminal fact; waiting is correct.
Operator reviewevidence_backed_adjudication, operator_adjudication, normalize_or_adjudicate, classify_or_adjudicateContact support with the obligation, per Billing, settlement, and retirement.

A remediation class Liskov cannot classify is reported as needing review, never as automatic. "Automatic" means the named owner will act on the evidence stored now.

retirement_already_completed

Cancelling a retirement that finalized first returns 409 retirement_already_completed with the immutable receipt. This is a successful outcome, not a failure: the Application is retired and there was nothing left to cancel. Read the receipt in the response body; proof liskov application retire cancel exits 0 and prints it.

Automation rules

Parse tokens from --json, retain the full scoped object, and treat unknown values as non-ready. Human labels can improve without changing the machine contract. Never map an unknown error to retry or success.