← Back to the journal

Why assistants should check run archives before probing live systems

When a user asks what happened last time, the safest move is usually to inspect the run archive first, not to probe the live system again. This article explains why execution archives answer historical questions better, and how GoWork turns that into a practical workflow.

When a user asks, “What exactly happened last time?”, the easiest way to go wrong is not silence—it is probing the live system too early. If the assistant skips the run archive, it can easily confuse “what I see now” with “what actually happened in that past run”, or re-trigger tools for a question whose answer was already preserved in the execution record.

That is why OmniGoAI's GoWork treats run-archive access as a first-class capability. GoWork does not only keep chat text. It preserves commands, files, errors, timelines, and artifacts, so an assistant can answer questions like “what did you do in that run”, “which step failed”, or “what file did you change” from historical evidence first, and only then decide whether a fresh live check is necessary.

If you have already read Why AI assistants need memory, task history, and replayability, Resume AI tasks after failure instead of restarting, and Chat context vs runtime context for AI assistants, this article answers a more specific question: when the user is asking about a past run, why should the assistant check the run archive before probing the live system again?

The short answer: historical questions should default to historical evidence

A good default rule is simple:

  1. The user is asking about a past execution;
  2. The answer should theoretically exist in a prior run record;
  3. Therefore the assistant should inspect the run archive first, not the current environment first.

The reason is straightforward: run archives answer historical facts, while live probes answer current state. Both matter, but they do not answer the same question.

If you reverse that order, you usually get one of three failures:

  1. You mistake the current state for the past action;
  2. You re-trigger tools or external systems just to answer a status question;
  3. You already had evidence, but because you did not check it first, your answer becomes less accurate instead of more accurate.

Why live probing cannot replace archive recall

Because they solve different problems.

Run archives answer what happened during that execution

A run archive is where you expect to find things like:

  • what triggered the run;
  • which tools, commands, and files were involved;
  • where the run failed or completed;
  • what stderr, outputs, or artifacts were produced;
  • whether a screenshot path, artifact handle, or published URL was recorded.

That is historical evidence.

Live probing answers what is true right now

A fresh probe is better for questions like:

  • is the service still online now;
  • what does the page look like now;
  • is the platform currently logged in;
  • is the post still reviewing or already published;
  • does the file still exist right now.

Useful, yes—but it still answers “now”, not “then”.

A common mistake: collapsing “what happened last time” into “what is true now”

In real collaboration, these questions sound similar but are not the same:

  • “Which commands did you run last time?”
  • “Can you check the system again right now?”

The first is historical recall. The second is a fresh observation.

The confusion gets worse with phrases like:

  • “What happened with that task earlier?”
  • “Why did it fail last time?”
  • “Look at the screenshot you sent before.”
  • “How far did that run get?”

These sound conversational, but what they really ask for is execution evidence from the past. If the assistant does not recognize that first, it may open a new page, take a new screenshot, or query a live system—and still fail to answer the original question.

Why run archives are often better than chat history for this job

Because chat history mostly tells you what people said, not necessarily what the system did.

Chat text may preserve:

  • the user request;
  • the assistant summary;
  • whether clarification was requested.

But if you need answers like these:

  • which files were edited;
  • what stderr said;
  • what screenshot path or artifact ID was produced;
  • whether the run failed at step 3 or step 5;

plain chat history is usually too coarse. You need the execution layer: commands, files, tool outputs, errors, and artifacts.

That is exactly why GoWork separates chat history, task history, and run replayability. When the question is “what happened last time?”, the replay layer should be your first stop.

What errors does “check the archive first” prevent?

1. It stops you from answering an old screenshot question with a new screenshot

This matters a lot in desktop automation.

If the user says, “look at the screenshot you sent earlier”, they are asking for historical evidence. Taking a fresh screenshot may capture a changed UI and create a false sense of having checked the right thing.

A safer sequence is:

  1. inspect the archived run for the original screenshot path or artifact;
  2. use that archived image if it exists;
  3. only capture a fresh screenshot if the user clearly wants the current state.

The point is not that old screenshots are always better. The point is that the user asked about the past.

2. It prevents status follow-ups from becoming repeated actions

If the user only asks, “what happened to that publishing task?”, the first move usually should not be to publish again, rebuild again, or click through the UI again.

A safer first step is to check:

  • what the prior run concluded;
  • whether the publish action actually ran;
  • which links, record IDs, or errors were captured;
  • whether the answer is already in the report.

Otherwise a status question can accidentally become a new side effect.

3. It prevents the assistant from asking the user to repeat information that already exists

A frustrating follow-up is often not caused by missing data. It is caused by the assistant failing to check data that already exists.

If the archive already contains:

  • the run ID;
  • the edited files;
  • the command timeline;
  • the error message;
  • the screenshot path or artifact;

then asking the user to restate everything is really just pushing archive work back onto the human.

Why this matters more for execution-oriented assistants

Because the risk is not only “saying the wrong thing”. The risk is doing the wrong thing again.

A plain chatbot that guesses wrong produces a weak answer. An execution-oriented assistant that skips archive recall may:

  • publish twice;
  • overwrite a newer state;
  • mix current observations into a historical answer;
  • imply that it verified the past when it only looked at the present.

So for execution systems, checking archives first is not overly cautious—it is the default safety path.

Why GoWork is a good fit for this pattern

GoWork is designed as a persistent execution layer, not only a chat interface.

That means it separates:

  1. chat context: what the user is referring to now;
  2. task history: which tasks exist and what state they are in;
  3. run archives: commands, files, errors, screenshots, and artifacts from a specific execution;
  4. current execution boundaries: whether this turn should report, continue, or act.

With those layers split, the assistant can answer “what happened last time?” before deciding whether “what should I do now?” requires a fresh probe.

That matches the same architectural point made in Chat context vs runtime context for AI assistants: chat helps you resolve the user’s reference, while run archives help you recover the execution facts.

When should you inspect the archive and then probe live?

“Check the archive first” does not mean “never probe live”.

The reliable pattern is often two-stage:

  1. inspect the historical run archive first;
  2. if the user also wants the current state, probe live after you have anchored the past correctly.

This is especially useful when:

1. The user is asking about both the past and the present

For example:

  • “Where did that run fail, and is it fixed now?”
  • “You said there were two repo names in that old screenshot—does the page still show that now?”

In those cases, archive recall grounds the past, and live probing updates the present.

2. The archive clearly contains time-sensitive information

If the archive says something like:

  • the post was reviewing;
  • the platform login had expired;
  • the task should be retried in 24 hours;

then the historical answer may already be correct, but obviously incomplete for “now”. So you answer from the archive first, then offer or perform a current check.

3. The user explicitly wants the task to continue

If the user says:

  • “continue from that failure point”;
  • “check it again now”;
  • “resume the task from where it stopped”;

then archive recall becomes the anchor for continuation, not the end of the workflow.

A simple test: archive first or probe first?

Ask yourself five questions:

  1. Is the user asking about a past execution or the current live state?
  2. Should the answer already exist in a previous run record?
  3. Would a fresh probe create side effects or unnecessary re-execution?
  4. Am I trying to answer a historical question with a current observation?
  5. If I skip the archive, am I likely to confuse “now” with “last time”?

If three or more answers point to historical execution, the default should be to inspect the run archive first.

FAQ

FAQ 1: Isn’t checking the archive slower than probing live?

Not usually. For “what happened last time?” questions, the archive is often faster because the answer is already there. A live probe may be slower and still answer the wrong question.

FAQ 2: Why not rely on chat summaries?

Because summaries are often too coarse. Chat history is good for conclusions and conversation flow; run archives are better for commands, files, errors, artifacts, and timelines.

FAQ 3: When should the assistant move beyond archive recall and probe live?

When the user clearly wants the current state, when the archived information may have expired, or when the next step is to continue from the old failure point.

FAQ 4: What is GoWork’s main advantage here?

It does not just stuff more logs into the model. It separates chat, tasks, run archives, and next actions, so the assistant can answer historical questions from evidence first, then act on the current environment when needed.

If you have already seen assistants answer “what happened last time?” by touching the live system again and still missing the point, the missing piece is usually not a smarter model. It is an execution architecture that knows to check the archive before probing the live system. If you want to see how that fits into the broader GoWork workflow, continue with Why AI assistants should answer task status in chat, Resume AI tasks after failure instead of restarting, and the GoWork download page.

#GoWork#run archives#execution history#AI assistants

More from the journal

9 min

Desktop task queues are not the opposite of parallelism

Seeing desktop tasks queue up in GoWork does not mean the whole system is serial. Only the exclusive desktop resource must be serialized; status reads, file work, web research, and many background commands can still run in parallel.

Read
9 min

Delegate or Execute Locally? GoWork's Boundary

Task delegation and local execution are not the same thing. This article explains when GoWork should hand work to a runtime, when the local assistant should finish it directly, and why that boundary affects speed and reliability.

Read