Skip to content
Engineering notes

Turn human review into useful evaluation data

Approvals and corrections add context to automated checks. Capturing them in the existing workflow makes that signal easier to use.

25 July 2026

Updated 8 September 2026

5 min read

  • Evals
  • Human-in-the-loop
  • Feedback loops

[01]What this note argues

  • Rules, model judges, and human review reveal different aspects of quality. None is a universal ground truth by itself.
  • Capture feedback through the review people already do, while accounting for their time and any additional labeling work.
  • A rejection must visibly produce something, or people stop rejecting and the signal disappears.
  • Disagreements between reviewers and model judges need adjudication before they can calibrate a quality metric.
  • The eval suite an agent ships with is not the eval suite it has a year later, and that is the point.

[02]The note

Combine rules, model checks, and human judgment

Quality signal in an agent system comes from three places, and they are not equivalent.

Deterministic checks test specified properties, such as schema conformance or a source-text match. A passing check establishes only that property under the check's assumptions. It does not prove that the complete business result is correct.

Model judges can assess broader criteria against a rubric. Their scores need evaluation for consistency, bias, and disagreement with specialist review.

People bring task context that automated checks may lack, but they can also miss errors or disagree. Treat reviewed decisions as valuable evidence with an owner and rationale. Sample and adjudicate them before using them as evaluation labels.

Capture feedback within the existing review

Let a reviewer approve, reject, or correct an output in the tool they already use. Connect that action to the relevant run and capture a reason when it will help diagnose the issue.

This can reduce extra data-entry work, but review still costs time. Track participation and correction effort, and avoid assuming that silence means approval. Some workflows need a separate specialist review or labeling step.

Keep posted outputs addressable so a later reaction can be linked to the original run, inputs, and available decision record. Late feedback is useful only if that provenance is retained.

A rejection has to visibly produce something

A rejection records that a reviewer found the output unsatisfactory. Preserve its context, acknowledge it, and route it for diagnosis. The rejection deserves investigation; it does not by itself establish the technical root cause.

The reason to wire it that aggressively is behavioral rather than technical. A rejection that visibly produces nothing teaches people to stop rejecting. Once a reviewer concludes that the reject button is decorative, they start silently correcting outputs by hand instead — and at that moment you lose both the signal and the visibility into how much manual correction is actually happening.

The failure is quiet and it looks like success: rejection rates fall, dashboards improve, and the agent is getting worse.

Rejection rate falling is only good news if you can prove people are still rejecting when they should. That proof is a sampling process, not an assumption.

Approvals calibrate the judge

An approval on a flagged output records a disagreement. First adjudicate whether the output is acceptable under the rubric. The fraction of flags found acceptable measures errors among flagged outputs; it is not the false-positive rate over all acceptable outputs.

This matters because the alternative is hand-tuning the quality bar after every review round, which is unfalsifiable work — you adjust a threshold, the numbers move, and nobody can say whether the judge got better or the bar got lower.

To estimate false-positive rate, divide incorrectly flagged acceptable outputs by all adjudicated acceptable outputs in a representative sample. Also measure missed problems, reviewer agreement, and sample uncertainty. These measures help establish when the judge is useful for routing review.

The feedback becomes the corpus

Reviewed approvals and diagnosed rejections can seed an evaluation corpus after label-quality checks. Retain source context and permissions, separate development examples from holdouts, and avoid assuming all historical decisions were correct.

This is what makes the loop compound rather than merely close. The eval suite an agent ships with is a best guess about what will go wrong. The eval suite it has a year later is a record of what actually did — including the edge cases nobody could have anticipated, because they came from the specific vendors, formats and exceptions of one real business.

That corpus is also the most valuable artifact the whole system produces, and it is worth being explicit about who owns it. It describes your work, it accumulates in your environment, and it should leave with you.

Technical examples explain design choices and their assumptions. Deployment controls and acceptance criteria are agreed for each workflow.

Get started

Bring us your workflow.

Tell us what your team is working through. We will help you find the right place to start.