Forklight

Learn Pi sessions through a conversation.
Written examples · no live AI

Does Pi /tree undo changes to files?

The shared session The actual project

Core Pi session navigation changes conversation history. It is not a file rollback. Extensions can add other behavior, so check what is installed before assuming a particular restoration policy.

You

I switched back to the inline conversation, but my wait-list page still opens a modal. Is the branch broken?

Guide

Those observations can both be correct. The active conversation now describes inline confirmation, while the working files still contain the modal change from the other path. First identify which state you are looking at.

One project, three different facts

Conversation
The active path contains the inline question and answer. This tells you what history the next turn builds on.
Working files
The local component still calls showModal(). The session switch has not established that the file changed.
Served page
The URL might run a previous build, another branch or a cached deployment. Its behavior needs a separate observation.

This is a fictional failure scenario, not a test of an actual deployed wait-list form.

You

What should I inspect before asking the agent to continue?

Guide

Locate the work before changing it

Check the session with /session. In your terminal, confirm the working directory. For a Git project, the following commands inspect its current state without restoring files:

pwd
git status --short
git diff --stat
git diff
git diff --cached

The unstaged diff and staged diff answer different questions. Untracked files appear in the status list but not as full content in these diffs; inspect any relevant new files separately. A clean Git status also says nothing about database changes, running processes or a deployment that already happened.

In this example, locate the confirmation component, its event handler and any styles changed alongside it. Is the modal still invoked? Is inline feedback already present but hidden? Is the browser pointing at this checkout? Those observations determine the next edit; the branch name alone cannot.

Guide

A useful continuation prompt is: “We selected inline confirmation in this session. Inspect the current form and preserve unrelated edits. Explain any modal code that remains, then change only the confirmation behavior. Check the result before calling it done.”

If you need two alternatives at the same time

Choose separate working directories or Git worktrees deliberately, and check which session and running server use each one. Forking a conversation does not create that isolation. Do not run a blanket reset just because the history looks older; first preserve the changes you need and identify what should be restored.

When an extension claims to restore files during navigation, inspect its documented scope. Files, external API effects, database writes and deployed versions are different resources. A restoration mechanism for one is not evidence about the others.

You

I have made the inline change. What would count as evidence that this example works?

Guide

Observe the page you actually intend to ship

Open your own staging URL and identify the build being served. For the illustrated inline design, submit a non-sensitive test request: the visible confirmation should appear in the page, be understandable without colour alone, and preserve the intended keyboard focus. An announcement by assistive technology requires an appropriate assistive-technology check; a screenshot cannot prove it.

Try a failed submission as well. The page should not show “Request received” before the request has succeeded. A browser observation supports what happened in that run; it does not establish backend durability or all users' behavior.

An ordinary browser is enough to start. If a separate browser session would help inspect your public staging page, WebTraceCheck is an optional browser for that observation. It does not read your Pi session, restore files or certify the implementation.

You

The page says it worked. Does that prove the receipt email arrived?

Guide

No. On-page confirmation and inbox delivery are separate observations. Only test a receipt if your application already sends one. This site adds no sender or email service.

Guide

Match the receipt to the request

Use your own test inbox, make one identifiable non-sensitive request, then compare the received message with that request. If a receipt is missing, keep “request accepted by the application” separate from “message observed in the inbox.” Check your sender's existing diagnostics before blaming the conversation branch.

For a disposable, non-sensitive receipt from your own application, CleanTempMail can provide a temporary inbox. Use a durable address for important accounts and recovery. Temporary inbox testing does not measure general deliverability or establish whether an API correctly stored the request.

Forklight, WebTraceCheck and CleanTempMail share an operator. Both links are optional; no practice input is included in them.

Why this distinction matters, and its sources

The core session behavior is described in Pi's pinned session guide. The upstream discussion about undo and rollback illustrates why users ask about the file boundary. It is an earlier discussion, not evidence that every current extension behaves the same way.

Forklight does not connect to your filesystem, repository, deployed page or inbox. The offline source example verifies conversation projection only. Treat the observations described here as work to perform on your own project.