C.W.K.
Stream
Lesson 04 of 05 · published

A Good Draft Can't Be Erased by a Bad One

~9 min · invariant, draft-status, safe-regeneration, no-auto-accept

Level 0Cold Hearth
0 XP0/34 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"A successful draft stays addressable; a later failed attempt cannot erase or hide the last good result."

The Invariant That Makes Regeneration Safe

Last lesson said drafts are regenerable, disposable, and pluralizable — which sounds carefree until you notice the trap. If 'regenerate' meant 'overwrite in place', then one bad regeneration would destroy a draft you loved. You'd hesitate to ever hit the button again, and the freedom would be a lie. Vesta closes that trap with an inherited invariant: a successful draft remains independently addressable, and a later failed or worse attempt cannot erase or hide the last good result. Regeneration is safe precisely because a new attempt can never overwrite a good old one.

Mechanically, a draft carries a status — proposed, accepted, superseded — and a new assembly produces a new draft rather than mutating the existing one. Your accepted draft stays accepted and addressable until you explicitly choose to supersede it with something you like better. A regeneration that comes back weak, or an assembly that fails outright, simply doesn't become the accepted draft. The good result sits untouched, exactly where it was.

A new attempt is a new object, not an overwrite. When regeneration mints a fresh artifact and leaves the last accepted one in place, experimentation becomes free: the worst case of trying again is that you don't like the new one and keep the old. Overwrite-in-place makes every retry a gamble with your best result on the table; append-a-new-version takes the gamble away.

Bulk Generation Never Auto-Accepts

The same principle scales up. You might one day ask Pippa to assemble a whole month at once, or a year in review. That bulk generation may read many per-day proposals — but it never auto-accepts them on your behalf. An aggregate draft can consume grounded per-scope proposals as input, yet the review status stays explicit: you still decide what becomes accepted. A system that auto-accepted bulk output would be back to silently rewriting history at scale, and worse, it could bury good accepted drafts under machine-generated ones nobody reviewed.

Why This Is Inherited, Not Invented

Vesta didn't design this rule from scratch either — it's the shape of Waystone's own invariant that a successful result stays addressable and a later failed attempt can't erase it. Like the two-truth rule, it's scar tissue handed down: the parent learned that letting a retry clobber a good result loses work, wrote the invariant, and the child inherits the safety for free. Every 'regenerate' you trigger in Vesta is safe because a sibling already learned what happens when it isn't.

Code

A weak regeneration can't touch the accepted draft·text
day 2026-03-14, draft history:

  draft A  status=accepted    <- your good result, addressable

  # you hit 'regenerate' — a NEW draft is minted, A is untouched
  draft B  status=proposed    <- came back weaker than A

  # you don't like B. Do nothing.
  draft A  status=accepted    <- STILL your good result
  draft B  status=proposed    <- ignored, harms nothing

  # only an explicit choice supersedes A:
  draft A  status=superseded  (only if YOU accept B instead)

# a failed assembly never even reaches 'proposed' — nothing to overwrite

External links

Exercise

Find a 'regenerate' or 'retry' action in a tool you use — re-running a report, re-rolling an AI output, recomputing a cache. Ask: if the new attempt is worse, can you get the previous good result back? If not, the retry is a gamble. Sketch how you'd change it so a new attempt is a new version and the last good one survives untouched.
Hint
The safe pattern is always the same: never overwrite the accepted result. Mint the new attempt as a separate version, keep the old one addressable, and require an explicit choice to promote the new one. Then 'try again' costs nothing but the attempt itself.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.