My change has uncommitted work I did not expect

Auto-snapshot, and what usually causes the surprise.

Written By Dustin

Last updated 18 minutes ago

There is no staging area: your working copy is continuously snapshotted into the current change. Anything not ignored is already part of it — that is the design, not a fault.

The usual cause

Build output, dependencies, or generated files with no .tovioignore entry. In Git these sit quietly in "untracked files"; here they are simply in your change.

tovio status

Then add patterns to .tovioignore:

target/node_modules/*.log

Already committed?

Adding a pattern stops future tracking. It does not remove what is already in history — remove the files and commit that removal.

If it is genuinely not yours

Work appearing that you did not do usually means a sync brought in a colleague’s or an agent’s changes.

tovio log --entity agenttovio log --entity humantovio change list

--entity takes exactly agent or human. Agent commits carry provenance, so you can also narrow to one task with --task-id.

Getting back to clean

tovio restore <file>   # discards uncommitted edits to ONE filetovio undo             # reverses the last whole operationtovio undo --to <op-id>  # rewind to before a specific operation

They are not the same tool. restore is a file-level revert: it rewrites no history and only throws away uncommitted edits to the path you name — and those edits are gone. undo reverses whole operations from the local op-log and is the one to reach for. The op-id appears in every undo/redo --json result.

Prefer undo. restore is the command that loses work permanently.

Reporting it

Describe the shape — "files I never touched appear in status after a sync". Never paste status or log output; both are lists of your paths.