Every change saved

Think of it when you are about to change code, or an agent is about to edit many files.

In everyday life

Like numbered drafts of a document, each with a note on what changed. A bad edit sends you back one draft, not to a blank page, and you can lay any two drafts side by side.

One case

A developer works on a school’s report-card code on a laptop, with no version control. On Tuesday the report cards print correctly. By Friday they are broken, after 40 small edits across 4 days, and no copy of Tuesday’s working code exists. The developer spends Monday rebuilding it from memory.

Every change saved
The ideaKeep it undoable
Every change saved

A tool that saves every change to the code as a step with a note, so you can see who changed what and go back to any earlier step. Git is the common one.

Keep it undoable, Habits

Every case

Every change is a guess that might be wrong. Without saved steps, a wrong guess mixes into everything after it, and undoing it means remembering exactly what you did. With version control, each saved step is a point you can return to, compare against, or hand to a reviewer, and a revertUndo one saved change by adding a new change that reverses it. The rest of the history stays. undoes one change and usually leaves the rest alone. It turns “I broke it somewhere” into “it broke between these two steps”.

The word

Engineers call this

version controlA tool that saves every change to the code as a step with a note, so you can see who changed what and go back to any earlier step. Git is the common one.

Save work in small steps with clear notes. Then a mistake is one step back, not a rebuild.

Where this idea leads

Skills that encode it

  • principle-sequence-verifiable-units pstackStack commits in the order that proves the work, so each commit lands on its own and the history reads as an argument.
  • diagnosing-bugs Matt PocockA bisection harness checks the saved states between a good and a bad commit to find the step that broke it.