What would I get back?
tovio explain undoInspect the local operation log, its undo/redo position, and the state the next supported undo would restore. Understand the reversal before choosing it.
If the next change came with
a clearer way back.
Fearlessness is a core TOVIO idea: spend your attention on the work, with supported local operations you can inspect and reverse.
Follow the way backtovio commit --amendtovio explain undotovio undoIllustrative local workflow.
Recovery depends on supported, retained history.
Every tool has a defining emotion, set by its worst moments. Git's is fear — fear of rebase, of force-push, of lost commits, of "your branch and origin have diverged," of
filter-repo.You learn, over years, a set of defensive habits: branch before you experiment, back up before you rebase, never force-push to shared branches, copy the SHA somewhere safe first.
Git has powerful recovery tools. TOVIO’s ambition is to make the next step easier to recognize: what happened, what stayed intact, and what you can do now.
Start with a change of approachThe first approach doesn’t have to be the final one.
You commit a refactor. Then you see a cleaner design. The question should be whether it’s better—not whether you’ll recognize your work afterward.
Rewrite identity has explicit rules. Not every input ID survives a squash.
chg:9fk2m1Same before. Same after.Illustrative amend. Commit hashes identify the snapshots; the Change ID follows the work.
A disagreement can be a decision waiting to happen.
You and a teammate change the same setting for different reasons. Both decisions deserve to be seen. Independent work shouldn’t have to disappear while you decide.
Stored inputs don’t prove correct code. Supported landing paths refuse unresolved conflicts.
TIMEOUT = 306090Illustrative content conflict. Independent work can continue; unresolved conflicts still block supported landing paths.
A routine mistake can stay routine.
You delete the experiment lane, then realize you still need it. You were on another lane, and the deletion is the latest retained local operation. Here’s the next move.
This illustrates local lane-pointer recovery, not permanent object removal or remote rollback.
Lane deleted. The retained local operation records its prior target.
Lane restored to its prior target. Inspect the result before continuing.
tovio undoInteractive illustration only. No commands run. Assumes the deletion is the latest supported local entry and its required history is retained.
For the deleted-lane example, you ran tovio lane -d experiment from another lane. The deletion is the latest supported local entry and the required history is retained.
tovio explain undoRead the retained local log and see what the next undo would restore. Check that it is the operation you intend to reverse.
tovio undoReverse the latest supported retained local entry. In the deleted-lane example, the lane and its previous target return.
tovio redoReplay the undone entry while its history remains retained. Starting new work after undo can invalidate the redo path.
Illustrative guide; no commands execute on this page. This restores a lane pointer, not permanently removed payloads. Read the undo and redo guide
tovio explain makes a decision inspectable. It replays supported decision logic read-only and shows the comparisons, checks, and findings behind the verdict.
Inspect the reasoning. Keep the repository as it is.
tovio explain undoInspect the local operation log, its undo/redo position, and the state the next supported undo would restore. Understand the reversal before choosing it.
tovio explain merge feature --into mainInspect the prospective land: the inputs it compares, per-file merge decisions, conflicts, and checks that can gate the operation. Preview the decision without landing the change.
tovio explain change <change-id>Follow a Change ID through supported amend, rebase, squash, and absorb paths. See its history instead of trying to recognize the work from a new commit hash alone.
tovio explain sync mainInspect ref-merge candidates and the comparison that selected the lane pointer. This explains the reference decision; it does not perform a network sync.
Command examples, not live results. Use your own lane names and replace <change-id> or <commit> with a real repository value. Explain does not perform the land, sync, or undo; a later operation evaluates its current inputs.
lanesHow did these lanes branch and rejoin?See parallel lane progress, branch points, and joins in a multi-lane timeline.
tovio explain lanesdepsWhy is materializing this commit blocked?Inspect dependency and materialization checks for an incoming commit.
tovio explain deps <commit>rerereWhy didn’t the saved resolution replay?Inspect whether a recorded resolution matches the current conflicts, and why it does or does not apply.
tovio explain rereredagHow do these points in history relate?Compare ancestors, common bases, and ahead/behind relationships.
tovio explain dag feature mainsemanticWhat changed beyond the lines?Inspect extracted symbol changes and semantic landing checks. This is context for review, not a proof of correct behavior.
tovio explain semanticpluginWhich plugins can affect this operation?Inspect lifecycle bindings, event filters, and advisory versus enforcing modes.
tovio explain pluginGet the answer at your terminal, bring the structured data into tooling, or share the explanation in a review.
Read it while you work.
tovio explain lanesA verdict and plain-language summary, followed by the trace and suggested next steps.
Use it in your tooling.
tovio explain lanes --format jsonA structured explanation document for scripts and integrations.
Review the reasoning together.
tovio explain lanes --format htmlA self-contained page with the diagram, trace, checks, and a command to reproduce the explanation.
When a decision surprises you, you can investigate it before deciding what to do next.
Explore all ten Explain lensesThe worry before a push is often about someone else’s work. Both histories deserve an explicit place in what happens next.
Confidence is also a matter of language. A useful response names the result, says what was preserved, and gives you a next move.
undo with `tovio undo`An escape hatch, where the operation supports one.
same Change IDsA reminder of what stayed with the work.
Redo with: `tovio redo`The next step, when the redo path remains available.
Short excerpts from the documented CLI examples. The intended voice is a calm, competent colleague.
Supported retained operations include commits, amends, rebases, lane creates and deletes, conflict resolutions, and lands with their rewrite cascade. Inspect the log before choosing a reversal.
Supported entries and targetingUndo does not reverse sync, external service actions, expired history, or authenticated permanent removal. It cannot recall data already received by a peer or erase retained plaintext.
Keep backups. Review and test the result. Authorization, retention and protected-lane rules remain part of the workflow.
These comparisons describe documented behavior, not a claim that Git cannot recover work. Rebase can be aborted while in progress; reflogs record local reference moves; merge conflicts retain base and side versions in the index.
Bring a familiar project. Make a change, inspect the history, and evaluate a supported recovery. See whether the workflow gives you more room to think.
Plan your first experiment Read the Fearlessness conceptPublic downloads are not available yet. Hands-on evaluation requires authorized access.