Separate tasks from attempts

Save an application identifier, start time, state, and configuration version for the business task and each external attempt. Represent queued, running, completed, failed, and unknown outcomes explicitly. A lost connection does not automatically prove failure. Keep the record useful without retaining complete user input or authentication material.

Before an operation with an external side effect, preserve the business state needed to verify it later. Generation, email delivery, payments, and database updates are separate workflow steps. Missing model output at the client does not justify repeating the whole workflow.

Gather evidence before recovery

Inspect application logs, saved results, usage records, and business-operation state after interruption. Build a timeline that distinguishes observed facts from missing information. If output or usage cannot be established, record unknown rather than zero cost or an assumed absence of execution.

Public status can indicate a wider symptom in the same window, but it cannot prove the outcome or billing of a particular task. Share a redacted time window, public model ID, and safe request identifier with support when necessary. Exclude credentials, complete prompts, and full request headers.

Make recovery an explicit decision

Reschedule confirmed unexecuted tasks under an approved policy. Where a repeated action might duplicate a side effect, verify business results before retrying. Show users understandable states and an explicit recovery route instead of silently replaying requests in the background.

After recovery, reconcile duplicate outputs, missing jobs, and usage differences. Retain manual decisions and their evidence. Rehearse a response lost after successful execution, and bound recovery by attempts, elapsed time, and budget. The goal is a consistent business state, not merely a dashboard showing every task as successful.

Sources & further reading

An owned publication maintained by NexoToken. Product references reflect the publisher’s commercial interest and are not independent certification.