All posts
Moving target of live edits versus a still-frame review package
§September 5, 2026OpenScout

Don't Review While Moving

No gate until the run has stopped — a moving target is not a package

If the agent is still typing, you are not reviewing. You are chasing.

A two-minute gate assumes a still frame: a finished package, a stable diff, a verify step that means the same thing at 0:00 and at 2:00. Mid-run skim breaks all three. Files appear while you read. The summary is already stale. Your question answers a world that no longer exists.

No gate until the run stopped.

Moving targets waste the scarce human

Review attention is expensive. Spend it on something that holds still.

When you open a diff mid-generation, you encode a half-state in your head. The agent continues. You return and cannot tell which contradictions you already noticed. You ask for a change that conflicts with work landed thirty seconds later. Cycle time grows; confidence shrinks.

The rule is blunt on purpose. Process idle. Diff stable. Package filled. Then — and only then — start the clock.

Stopped checklist before opening the two-minute gate

What “stopped” means

Stopped is observable, not vibes.

The agent process is idle or asking you something. No new writes in the working tree for a short quiet window. The six-field package is present where you review — PR body, commit body, or REVIEW.md. Verify names one command or click path.

If any of those fail, you do not “start anyway.” You wait, or you send it back for packaging. Starting early feels proactive. It is how reviews turn into second generation sessions without a label.

Still frame, then the gate

Once stopped, keep the usual order. Read the package only. Verify the claim. Spot-check blast radius on the listed files. Call ship, kill, or one question. Write the decision in one line.

Do not reopen generation inside the gate unless the decision is kill or one legal question. “While you’re in there…” is how still frames start moving again.

If you need a follow-up feature, that is a new run with a new package — after this decision lands.

Failure modes

Spectator review: you watch the stream like a sport. Close it. Let it finish. Queue the package for a batch block if you batch reviews.

Live pairing without a freeze: pairing is fine when you are steering generation. Call that steering, not review. When you switch to gate mode, demand stopped first.

Partial packages: “goal is clear enough, I’ll skim.” No. Incomplete packages fail before the clock. Fill the fields, then ping.

Soft close

You already know how to wait for a build to finish before you test it. Treat agent runs the same way. Still frame first. Gate second.

If your workflow leaves a durable receipt when the ask completes, that receipt is a natural still frame — use it. You do not need a broker to wait for stopped; you need the discipline not to open the diff early.

When it stops, review. Until then, let it move without you.