Checkpoints and review
Every write is a snapshot you can restore. You accept or reject the patch — the agent does not silently own the tree.
Before mutating files, Eyeban snapshots the workspace. The transcript shows file cards with slim diffs. Accept, reject, or undo through checkpoints, including cascade restore when a later edit depends on an earlier one.
The commercial promise
Teams do not buy an agent that rewrites the repo while they look away. They buy a loop: propose, show the diff, let a human keep or revert.
In the workbench
- File change cards in the agent chat
- Slim diffs without leaving the conversation
- Source control accept-all / reject-all for the agent batch
- Undo = restore the checkpoint, not a vague “go back”
Auto-apply
Auto-apply of agent edits can be on. Turn it off when you want an explicit apply for every patch. Review still exists either way.
Checkpoints are local workspace snapshots, not git commits. Commit when you are ready.
41 def charge(order, wallet): 42 tax = order.subtotal * 0.09 43 total = order.subtotal + tax 44 if wallet.balance < total: 45 raise InsufficientFunds(total) 46 wallet.debit(total) 47 return Receipt(order.id, total)
Split regional tax from the hardcoded rate, and check coverage before debit.
Read 6 files · 2 searches · 1 test
charge still hard-codes 0.09. tax_for(region) exists. I will wire can_cover to the wallet.
12-line patch across two files. Review the diff.
Before touching checkout, write the approach for multi-region tax.
Plan · product shell and edits are limited
Freeze the tax_for contract, then change charge, then update test_charge.
Plan is ready. I switch to Agent after you confirm.
Where does charge take tax from, and which test pins it?
Ask · read only
The rate is checkout.py:42. test_charge asserts the same 0.09.
Nothing was written.
InsufficientFunds also fires for tax-exempt orders. Evidence first.
Debug · reproduce before the fix
It fails when the region is exempt and wallet.can_cover still sees the flat rate.
Failure trail is ready. The fix waits for your OK.
- tax = order.subtotal * 0.09 + tax = order.tax_for(region) - if wallet.balance < total: + if not wallet.can_cover(total, region): wallet.debit(total)