Deltas
A delta answers the question: what changed since the last time I looked?
Deltas are computed against baselines - immutable snapshots of the review state at a point in time. By comparing the current state to a baseline, you get a precise account of what findings were added, which were removed, and which files in the codebase changed underneath them.
What a delta contains
{
sinceBaseline: Baseline // the reference snapshot
headCommit: string // current tip of the default branch
newFindings: Finding[] // findings that exist now but weren't in the baseline
removedFindingIds: string[] // findings that were in the baseline but no longer exist
changedFiles: string[] // files modified between baseline commit and HEAD
currentStats: ProjectStats // current aggregate counts
}Two delta modes
Since latest - compares the current live state against the most recent baseline. This is the day-to-day check: what has changed since I last checkpointed?
bench baselines delta
# MCP: get_delta()Between two baselines - compares a specific baseline against its predecessor. This answers: what did a particular round of work produce?
bench baselines delta --id <baseline-id>
# MCP: get_delta(baseline="...")Typical workflow
set baseline ← mark the start of a review session
add findings…
check delta ← see what you've added so far
set baseline ← checkpoint at a milestone
check delta ← what did this round produce?
set baseline ← final snapshotBaselines are cheap - create them liberally. The delta computation is where the interesting analysis happens.
Computed fields
newFindings is determined by comparing IDs: findings whose IDs are not present in the baseline's findings list are new.
removedFindingIds is the inverse: IDs that were in the baseline but no longer exist in the database.
changedFiles comes from git diff <baselineCommit>..<HEAD> - the files that the codebase itself has changed between the baseline commit and the current default branch tip. This is distinct from which files have new findings; it tells you where the code moved.
Notes
Resolved and closed findings are included in baseline snapshots. Delta counts may therefore be higher than findings list output (which excludes resolved findings by default). Pass --status closed or use resolved=true in MCP when cross-referencing.