See what is going on: tovio status

Reading lane, change and working-copy state, and the two flags status actually defines.

Written By Dustin

Last updated 34 minutes ago

tovio status

Shows the lane you are on, the change you are building, and every file you have modified. Because there is no staging area, everything you have edited is already part of the current change — status is telling you what will be committed, not what you remembered to add.

The two flags

tovio status --conflicts   # also assess whether this lane lands cleanly onto maintovio status --prompt      # a compact one-line segment for a shell prompt

Those are the only two flags status defines. Everything else you can pass to it is global and works on every command: --json, --quiet (-q), --justification <text>, and --no-sync.

--conflicts adds the landing assessment — whether the lane is unborn, a fast-forward, already up to date, cleanly divergent, or blocked — and names the conflicted paths. It answers “is this landable?” directly.

The prompt segment

$ tovio status --promptmain a3f9c1 ✚3 ⇣2 ✖1

The segment is the lane, then the first six characters of the change id, then only the counters that are non-zero:

MarkerMeaning
✚Nmodified files in the current change
⇣Ncommits behind the relay
✖Nopen conflicts
🔒Npaths pinned to an isolated build
a capability token is near or past expiry

Add --json to get the same counters as fields instead of glyphs: branch, change, changed, conflicts, isolated, behind, token_warning.

For scripts

tovio status --json

A stable machine-readable contract, and the same one the editor extensions consume. Its keys are branch, change, unborn, clean, changes, protected, conflicts (each with path, kind, status), isolated, expiring_tokens, expired_tokens, agent_sessions and locks — plus landing when you passed --conflicts, and relay when the repository has one.

Just the conflicts

tovio conflicts

Its own command: every open conflict, its kind, and how to resolve it. It exits 0, because a conflict is data rather than a failure.

If it shows files you did not expect

That is auto-snapshot working as designed: build output or generated files are tracked because nothing told TOVIO to ignore them. Add them to .tovioignore.

When it refuses

Running any command outside a repository is TVO-CLI-003 (“Not a TOVIO repository”, exit 2) — run tovio init, or change directory.