The Case for Micro-Checkpoints in Modern Development
In traditional software development, a commit is the atomic unit of progress. You finish something meaningful, you write a message, you commit.
But exploratory work doesn't fit this model. Exploratory work looks like: try something, break it, try another approach, partially merge the two, walk away, come back, delete half of it, try something else.
Git commits are too coarse-grained to track this kind of work. And yet this kind of work is exactly what fills the hours between focused coding sessions — especially when working with AI.
What a micro-checkpoint is
A micro-checkpoint is an automatic, frequent, disposable snapshot of your workspace state. It's not a commit. It's not meant to tell a story. It's meant to be a complete rollback point.
You don't name them (unless you want to). You don't craft a meaningful message. They just exist, silently, as a safety net below your feet.
When they're useful, they're extremely useful. When they're not needed, they're invisible.
How StateSense implements this
StateSense creates micro-checkpoints when:
- **Large changes happen** — 500+ lines modified at once
- **Multiple files change** — 3+ files in a short window
- **Files are created or deleted** — structural changes to your codebase
- **An AI tool is generating code quickly** — detected by the rapid-change window
- **You've been idle** — an idle timer creates a checkpoint when you step away
These are stored as incremental snapshots (only changed files are stored per snapshot) and compressed to minimize disk footprint.
The key insight: make checkpoints free
The reason micro-checkpoints work is that they're free to create and free to discard. They require zero cognitive overhead. They don't interrupt your flow.
When you restore a micro-checkpoint, the full workspace state is reconstructed from the sequence of incremental changes. It's accurate, instant, and atomic.
This is the primitive that's been missing from VS Code — and increasingly necessary as AI tools become part of everyday development.