Insights and telemetry.
Your agents have been filing findings, spending tokens, and leaving a quality record. Read it back here: what they found, what the runs cost, where quality is trending, which flow variant wins, and what telemetry leaves your machine.
01The Insights view
Insights sits in the left rail under the subtitle Findings · stats · quality, with a badge counting pending findings. The chips in its header scroll you to one of four numbered sections.
A project picker in the header scopes the sections, and it opens on All projects. The Randomized rotations list is the exception: it is cross-project whatever the picker says.
02Findings triage
The section is headed 01 Findings, over three counters: pending, resolved, and dismissed.
What lands here is narrower than everything your agents wrote. A finding reaches triage only once its run’s session delivered the work: merged, integrated, marked complete, or a PR opened. Work that was thrown away never appears: if no run in the session carries a delivered outcome, its findings stay out of triage.
Findings an agent addressed to a machine audience are left out too. A blocking finding is listed like any other.
-
Untriaged
The top five untriaged findings, each row carrying Approve, Modify, and Dismiss, with a Show N more untriaged toggle beneath. Approving a finding you never tagged files it as a Quick fix.
Modify opens a drawer with two rows. Re-tag → takes Quick fix, Documentation update, or Task candidate. Priority → takes P0, P1, or P2.
-
Ready to compound
Approved findings land here, bucketed Quick fix, then Documentation update, then Task candidate, in that fixed order. Five rows show across all three buckets, with a Show N more toggle, a checkbox per row, and Select all. Selecting one finding locks the surface to that finding’s project, because a Compound run covers one project.
03From findings to a Compound run
A sticky tray carries the tally and a Run compounding session (N) → button. It opens the launch wizard on its Configure step, with Compound preselected, the project pinned, and your selection attached.
A seeded run skips one gate, not both. The approve-learnings gate is gone. The terminal Approve compound gate over the committed diff still runs.
The bucket decides how each finding resolves.
A finding the write-back agent reports as skipped is left unresolved on purpose. Anything still unresolved when the run ends is deselected and returns to Ready to compound, where you decide whether it goes into the next run.
04Statistics
The section is headed 02 Statistics. It opens on Token use · last 30 days, a stacked column chart split per model.
Below the chart, one card per flow, highest spend first. A card carries total tokens, an · avg Nk figure per run, a + Nk cache line, a sparkline, and a meta line reading error X% · runs N · cost $Y. Runs an app restart killed are counted as interrupted and kept out of the error rate.
Selecting a card swaps the Token by flow panel for Token by step, computed over that flow’s last 20 runs.
Version history sits beside that panel whenever a flow has saved revisions, the selected one or, with nothing selected, the flow with the most runs. Each revision gets a success figure reading N% ok, average tokens, and a delta against the previous revision. A LIVE badge marks the revision a new run would freeze.
- Breakdowns are by flow, by flow step, and by model per day. There is no per-agent breakdown, and project scopes the whole view instead of splitting it.
- Cost is tallied per session segment, so resuming a run does not count it twice. Subagent tokens are folded into the run that spawned them.
- The eval jury’s own spend is not counted here.
05Code quality
The section is headed 03 Code quality, and the body is three columns.
Each row shows a severity dot, a status chip, and a meta line of file path, source step, and flow name. The chip reads Open, Dismissed, Fixed, Triaged, Promoted, or Resolved, which is how you see what a Compound run has already acted on.
06Experiments
The header reads 04 Experiments. Each flow with variants gets its own table, a row per variant across nine columns: Variant, Runs, Success, Avg duration, Avg tokens, Avg cost, Avg eval, Findings, and Post-merge bugs. A flow with no variants shows no table.
A row with fewer than five runs is annotated n<5, provisional. A variant you deleted keeps its row, suffixed (deleted).
Under the table sit a rotation line naming the active variants and their weights, a Randomized rotations list, and a Past experiments list grouped by series with a Show abandoned toggle. Variants covers how an experiment gets set up.
A row in Randomized rotations or Past experiments opens the comparison view. Its Pairwise verdict card holds three samples with the two arms in randomized positions, graded by the same jury shape as the eval below: two Opus judges and one Codex judge. Each sample gets a chip, the card gets an overall confidence percentage, and Re-run comparison grades it again.
The verdict runs once both arms settle, and only while Code Review Eval and its Auto-grade variant & experiment runs sub-toggle are both on.
Beneath it, Which version wins? offers Promote A, Promote B, Run another experiment…, and Switch to randomized. All four wait until the experiment settles. While it is unsettled, Cancel experiment tears it down.
Promoting, switching to rotation, and canceling each ask you to confirm. Run another experiment… opens a panel where you can attach a seed idea first. Switch to randomized is unavailable when one arm is a quick session.
07Code review eval
Sprint and Ship grade their own output by default. At the human-review step the run’s diff is frozen, and a three-slot jury reads it: two Opus judges and one Codex judge, scoring against rubric v1.2 (8 dimensions).
Compound and Verify Setup are exempt. An A/B-tagged run of a flow that has no human-review step is graded when it settles instead.
The verdict renders in the run summary as Score summary with the rubric version, deterministic gate chips, a band, a confidence interval, and a toggle onto the per-dimension breakdown and the findings. Bands are Excellent at 90 and above, Good 70–89, Fair 40–69, and Poor 0–39.
The panel names its own jury: graded by Opus ×2 + Codex. When the Codex slot does not report, the panel reads Codex juror unavailable, or Codex juror failed if it started and broke, followed by scored on Claude only and the captured reason. On a Claude-only install that is the ordinary reading, not a fault.
- Each judge writes findings for the issues it sees, tagged with the rubric dimension they came from. Those are merged across the three samples, deduped against what the run’s own reviewers already filed, kept only when net-new, and capped at 10 advisory findings per eval.
- A catastrophic-class issue that a majority of the jury confirms caps the overall score at 69 and files a blocking review item.
- Each gate chip names its gate, with a status dot beside it. The dot is grey for unknown, which is what most runs show, because build, test, typecheck, and lint results are rarely recorded. A failed gate shows GATED in place of a score.
- A low score on its own files nothing.
The eval is on by default at Settings → AI → Session settings → Code Review Eval. A sub-toggle, Auto-grade variant & experiment runs, is also on. It extends the jury to rotation and A/B arms. Both are read when a run reaches its grading point, so a change also lands on runs already in flight that have not been graded yet.
Per run, Quality eval in the launch wizard’s Advanced options takes Use global setting, On, or Off.
An agent can also ask for an eval of the current working-tree diff. The verdict lands as an Eval report artifact tab plus a non-blocking item on the review queue. It is refused on an A/B-tagged run, on a run that already has its automatic eval, and when there is no diff.
08Telemetry and privacy
Two channels, and no others: Sentry for crash and error reports, Aptabase for usage metrics. The switches read Send anonymized crash & error reports and Send anonymized feature usage metrics. They live at Settings → General → Privacy & Telemetry, and a change takes effect on the next launch.
A downloaded build ships with both on, so telemetry is opt-out. An unpackaged development build ships with both off.
09Report a bug
Report a bug sits in the sidebar footer. The dialog asks what happened, the steps to reproduce, and what you expected. It takes an optional email address.
A read-only panel shows exactly what it will attach: version, platform, Electron version, build, install id, and recent recorded errors. Include recent session logs (prompts and file contents excluded) starts off, and you can preview the log tail before you send.
The dialog is not gated on the two telemetry switches, so turning both off stops the automatic channels and leaves this one.