← ggrigo.xyz

// project descriptions

Built to be resumed

Keep a project resumable, and the session that resumes it can be a human's or an agent's.


// the problem

The project always holds the state

Sessions with coding agents rarely end cleanly. Context fills, machines rotate, tokens run out, servers stop serving — and whatever lived only in the session dies with it. So the project holds the state, not the session. Every project stays resumable from a single page: open it and you have where it stands and what comes next — enough for a fresh session, carrying none of the history, to continue.

// the mechanism

Status is derived, not stored

There's no flag to flip. The page carries a check that runs again on resume, so its status can't go stale. It's the reconcile loop behind Kubernetes and Terraform — declare the desired state, observe the actual one, act on the delta. The page itself is rewritten every few iterations: often enough to stay true, cheap enough to be worth it.

The reconcile loop declare desired observe actual act on delta runs again on resume The reconcile loop declare desired observe actual act on delta runs again on resume
Declare desired, observe actual, act on the delta — re-checked on every pickup.

// the split

What's left splits in two

As an agent works a project, the open items split into two piles. The gate is one question: does this need a human decision? Some calls only you can make. Everything else, by definition, is work the agent can run on its own cadence.

The split OPEN ITEMS needs a human decision? you decisions only you can make agent runs on its own cadence write tests rename vars pick a name bump deps add logging choose pricing format files The split OPEN ITEMS needs a human decision? you only you can make agent runs on its own write tests rename vars pick a name bump deps add logging choose pricing format files
One question routes every item — your call to make, or the agent's to run.