Skip to content

Recover Jan Workflows

This chapter diagnoses one rejected Jan operation and selects a recovery while preserving text and exposing any partial external work.

Start with the Owning Status

Use jan-language-status for analysis, jan-inspect-availability for structured editing, jan-planning-status for planning and agendas, and jan-computation-status for calculations and execution. Output, provider, and extension inspection is available through the Jan commands shown by M-x in the current build.

Read the exact scope, revision, configuration and provider generations, availability, limit, observed usage, partial-outcome counts, and latest failure. Do not retry against a different target until those values are clear.

Select the Matching Recovery

Outcome Meaning Recovery
Unsupported The active document or operation has no matching Jan route. Confirm .org or .jan, the command scope, and explicit language selection.
Incomplete A required analysis, source, configuration, or provider result is not confirmed. Keep editing ordinary text; retry after the owner reports a complete generation.
Stale The request names an older revision or generation. Refresh the owning view or status, then issue a new request.
Malformed The retained source cannot produce the requested semantic target. Inspect or lint the exact range and edit only the intended source.
Unavailable An optional adapter, tool, provider, or capability is absent. Use a native or offline route, or configure the optional dependency explicitly.
Unauthorized The request exceeds admitted authority. Reduce the operation or explicitly grant the required scoped authority through its owner.
Limited A count, byte, depth, time, or memory ceiling was reached. Reduce the scope; do not raise a limit merely to hide the boundary.
Cancelled or timed out The owning workflow stopped before acceptance. Inspect cleanup and partial outcomes, then start a new request if needed.
Conflict or reconciliation required Multiple resource histories cannot be applied safely. Preserve both sides and choose an explicit resolution.
Provider invalid or failed A provider returned a mismatched or invalid result. Keep the last confirmed generation, inspect attribution, and disable only through the checked lifecycle.

Confirm No-Effect Guarantees

After rejection, compare the source with ordinary undo history or a saved checksum. A rejected semantic edit cannot mutate canonical text. A rejected export cannot publish partial output. A stale resource plan cannot overwrite a newer revision. Provider failure cannot activate an incomplete generation.

External workflows can report partial effects. A local publication can finish before a remote upload fails; a synchronization staging area can exist before application. Inspect the manifest and recovery state instead of assuming that source preservation also rolls back external systems.

Previous: Connect and Extend Jan · Structured Documents · Next: Packages and Catalogs