Sashmark / Blog

Read rollback claims in agent plans

Bobby Huang ·

Write down the starting state described in the plan. Read each proposed change, then follow each stated undo action on paper. Compare the ending state with the beginning, including extra copies and altered text. Name any difference left behind and ask the agent about that difference alone. A promise that says reversible does not fill in an unstated action.

Key takeaways

  • The starting state gives the written undo promise something specific to return to.
  • An undo action can reverse one edit while leaving another change in place.
  • Extra copies count when comparing the ending state with the beginning.
  • A question about the leftover keeps the discussion tied to the promise being read.

"This change is reversible" sounds settled until you read the proposed way back. Renaming a file back can leave its revised text intact. Putting the text back can leave an extra copy beside it. Either ending differs from the beginning described on the page.

Every passage here belongs to an invented plan for Jane Doe, a fictional person. Nothing here is carried out. You are reading whether the written actions support the written promise, rather than deciding how safe a real change would be. If the file type is unfamiliar, begin with the .md format.

Put the beginning into words

Start with this fictional passage:

Jane Doe's folder contains draft.md, titled Cedar, with the opening paragraph A quiet path. There is no second copy of the draft.

Write down that beginning in ordinary prose: one file called draft.md, the title Cedar, the opening A quiet path, and no second copy. Keep the names and wording literal. The absence of another copy belongs to the beginning as much as the existing paragraph does.

Limit your account to what this passage describes. Other folders and paragraphs are undescribed. With imagined details, the comparison would depend on a beginning the agent never stated.

If the plan only says "the current draft," pause over that phrase. You need the relevant name and text before you can compare them with the promised ending. Ask about that missing beginning before trying to fill it in yourself.

Read every part of the proposed change

The invented plan continues:

Rename draft.md to revised.md. Replace A quiet path with A wider path. Make a second copy called extra.md. This change is reversible.

Follow the described actions without touching a file. After the rename, the named file is revised.md. After the paragraph replacement, it begins A wider path. The second copy adds extra.md alongside it.

The resulting state described by those lines has two files. Renaming was only part of the change. Reading the last sentence as a promise about the whole passage means considering the paragraph and the added copy too.

Different names distinguish the two files in this example. While reading, keep track of the file named in each sentence. For more about choosing those names, read Markdown file naming.

Walk the promised undo on paper

Now read the plan's next passage:

To undo the change, rename revised.md to draft.md. Everything will be as it was.

Begin your imagined return from the state after the proposed change, not from the untouched beginning. The file being renamed holds A wider path. Renaming it to draft.md does not describe replacing that paragraph. The passage also says nothing about extra.md.

After the stated undo action, you therefore have a file named draft.md with the revised opening, plus the extra copy. That is the ending supported by these invented lines. "Everything will be as it was" asserts more than the named action describes.

Keep the quoted actions distinct from the agent's assurance. The assurance cannot silently supply two additional actions. These examples remain prose quotations. For more about setting literal passages apart, see code blocks in Markdown. Appearance adds nothing to a promise.

Compare the ending with the beginning

Return to your written account of the beginning. The name draft.md matches. The opening does not: A quiet path has become A wider path. The number of copies does not match either: the beginning had one, while the described ending has two.

Name those differences precisely: the revised opening remains, and extra.md remains. Avoid compressing them into "the undo fails." That phrase hides which parts were returned and which parts were left different.

A narrower promise would read differently:

To undo the name change, rename revised.md to draft.md. Leave the revised opening and extra.md in place.

This passage promises only to reverse the name change. Its stated ending still differs from the beginning, but it no longer claims that everything returns. Read the scope of the promise before judging whether the remaining differences contradict it.

Do not turn that narrower promise into approval of the proposed change. You have established what the passage says will remain. You have not established that those leftovers suit Jane Doe's purpose.

Take only the leftover back to the agent

For the broader promise, Jane Doe can ask: "Your undo passage returns the file name. How does your promise account for the revised opening and the added copy?"

That question names the two differences already found. It does not ask for a new plan about unrelated work or seek another general assurance that the change is reversible.

Suppose the invented answer says:

The opening will return to A quiet path. The extra copy will remain.

Read that answer into the proposed ending. The paragraph now matches the beginning; the extra copy still differs. Keep the remaining question equally narrow: "Does your promise to return everything include extra.md, or are you describing a return with that copy left behind?"

If the answer does not settle the extra copy, leave that part of the promise unresolved. Your reading can stop with a specific account: the name and opening are described as returning, while the added copy remains unexplained. No action has been tried, and no claim about a real undo has been established.

Where Sashmark fits

Sashmark's planned v1 pairs desktop reading with Markdown editing; it remains in development. No AI is included in the app. It is intended for readers of Markdown written by their separate AI agents; questions about a plan stay between you and that agent.

Questions

Does reversible say how a change will be undone?
It asserts that a way back exists. Read the described actions to see what they return and what they leave different.
What if the plan does not describe the starting state?
Keep that state unknown. Ask what existed before the proposed change rather than inventing a beginning that makes the promise work.
Is a leftover copy enough to question the promise?
If the promise is a return to the starting state, an extra copy is a difference to name. Whether that difference is acceptable remains a separate decision.

What Sashmark plans for v1: Features · Roadmap

View as Markdown