Checkpoints that never touch your branch
How PaneScale snapshots a working copy byte for byte without moving HEAD, the index or any branch — and why rewinding refuses to overwrite your edits.
Point & Fix has to find the source of whatever you click. Sometimes it knows; sometimes it guesses. Saying which is which is the whole design.
Point & Fix starts with a click: you select a button, a heading or a card in your running app, and PaneScale has to find where that element lives in your source code. Get it right and the fix is fast. Get it wrong and the agent edits the wrong component — confidently.
The most important decision we made was not how to find the source. It was to always say how sure we are.
Development builds of modern frameworks leave breadcrumbs. React, Vue and Svelte attach debug information to rendered elements that point back to the component and, often, the file and line. When that information is present, PaneScale uses it, and the location is shown as exact.
Production builds, plain HTML, server-rendered templates and some build setups don’t carry that information. Then PaneScale falls back to a text search across the workspace — looking for the element’s text, classes and attributes — and ranks what it finds:
The search is bounded — at most 3,000 files and 12 MB, skipping .git, node_modules and dist — so it stays fast on large repositories.
A location found this way is labeled a candidate. Always. Even if there is only one match, even if it is almost certainly right. The label is not modesty; it is information you need before you let an agent edit a file.
An exact location and a good guess look identical in an interface that doesn’t distinguish them. You would trust both the same way — until the guess is wrong, the agent changes a similar-looking component somewhere else, and the bug you clicked is still there.
When you see “candidate”, you know to glance at the file before applying. When you see “exact”, you don’t have to.
The rest of Point & Fix follows the same idea of making mistakes cheap:
localhost, 127.0.0.1 or [::1] — through a proxy that allows only GET requests.If the agent picked the wrong file after all, Undo is one click.
How PaneScale snapshots a working copy byte for byte without moving HEAD, the index or any branch — and why rewinding refuses to overwrite your edits.
Starting a coding CLI takes seconds. Pre-warmed sessions hide that wait — here is how we do it without eating your memory.
Why the Token Guardian shows “not reported” instead of a guess — and how real budgets stop runs instead of turning numbers red.