Skip to main content
Wildo.ai Coming soon

Coding agents

See what changed during a coding run

Compare the workspace before and after a run, keeping earlier edits and uncertain ownership visible.

A before-and-after comparison distinguishes new work, unchanged earlier edits and changes needing review.

See what changed during a coding run

A coding run starts in a real workspace, often with work already in progress. Wildo compares the files before and after the run, so an earlier edit does not automatically become part of the agent’s result.

The resulting change set identifies new and changed files and marks overlaps that need review. It gives you a concrete account of the run window, with uncertainty visible alongside the changes.

Example — Review a new customer screen

An agent adds a customer screen while an existing pricing edit remains untouched. The new screen enters the change set; the unchanged pricing edit does not. If someone also edits the customer schema during the run, that overlap calls for a closer review.

For engineers

How a run gets its baseline

The companion captures a working-tree snapshot before invoking the coding agent, then captures the result after execution. Dirty tracked files have a fingerprint derived from their diff; untracked files use their content. The comparison excludes files that were already dirty but did not change again.

This selected fragment from the capture service shows the distinction. It runs inside the per-file comparison; the surrounding method also handles new files, committed paths and summary statistics:

const changedDuringRun = baselineState.fingerprint !== postState.fingerprint
  || baselineState.changeKind !== postState.changeKind;
if (!changedDuringRun) {
  // Dirty before the run, untouched during it — not part of this
  // run's change set at all.
  continue;
}

entries.push({
  path,
  changeKind: postState.changeKind,
  attribution: ownedByConcurrentLane
    ? ChangeSetAttributionClass.CONCURRENT_HOST_LANE
    : ChangeSetAttributionClass.BASELINE_DIRTY_AMBIGUOUS,
  dirtyAtBaseline: true,
  ...(postState.fingerprint !== undefined ? { postRunFingerprint: postState.fingerprint } : {}),
  ...(postState.sizeBytes !== undefined ? { sizeBytes: postState.sizeBytes } : {}),
});

The first highlighted region removes unrelated pre-existing work. The second retains a changed file while distinguishing an ordinary overlap from a path owned by a concurrent companion lane.

Interpret the attribution before accepting the work

ClassificationWhat the capture observedHow to read it
run_exclusiveA tracked file was clean at the start and dirty afterwardsA change in this run window; review its diff
appeared_during_runA new untracked file appearedReview the new file and its purpose
baseline_dirty_ambiguousAn already dirty file changed againThe capture cannot separate the run’s work from another editor’s
committed_during_runA path changed between the starting and ending commitsHistory moved; the path remains visible without assigning authorship
concurrent_host_laneA changed path belongs to the companion’s research evidence storeVisible alongside the run, excluded from its mutation-scope decision

These are observations about time and location, not an operating-system record of which process wrote a byte. Even a clean starting file can be edited by an external session during the window. The research classification likewise comes from the path’s owner, not proof that a research process made that particular write.

Follow the change set into the result

The structured task artifact retains paths, classifications, starting and ending commit positions, and post-run fingerprints. Full diff text belongs to the verbose trace artifact. The agent’s reported file locations remain a separate claim; they do not replace the workspace capture.

The post-run scope assessment checks observed changes against the task’s declared scope, including baseline-dirty files that changed again. Uncertain authorship does not exempt a path from that check. It excludes committed-window entries and concurrent research-store paths, while recording those conditions. A baseline-dirty file disappearing also receives separate handling when history moved.

This assessment detects observed effects after execution. It does not prevent shell commands from making those changes. Review the permission policy alongside the change set when deciding how the agent may work.

Preserve a useful review window

Avoid committing unrelated work during a coding run when practical: moving the commit position makes ownership harder to establish. Capture uses a guarded read-only Git command set and selected ignored paths, rather than staging files to discover them. Host bookkeeping is deliberately separated from application edits.

Use the actual diff and the task’s required checks to judge the result. A captured file list explains what moved; it does not establish that the feature works.

Building a B2B product or an internal tool?

Wildo is not self-service yet. Tell us what you have in mind and we will say plainly whether it fits, and what happens next.