Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Chapter 10: New Metrics and Earning Autonomy

v1.1 beats v1 on every number in Chapter 9’s scorecard. It also writes twice as many reasons with invented numbers, and the guardrail hides four of its nine reasons from me. If I’d only looked at the table, I would have called it an improvement.

So first I close that blind spot: a metric for reasons, a fix at the source, and a check that the fix worked. Then, with a scorecard that finally covers everything the reader sees, I can answer the question from Chapter 3: has the scout earned the next setting on the dial? And what would make it lose that setting again?

Chapter 10 of 12 · Continuous Calibration

Where we left off: The fixed scout wins on precision, recall, repeats and cost, while its reasons got worse, and nothing we measured noticed.

What we fix now: Add a grounding metric, fix the reasons at the source, and set explicit rules for promoting the scout from “suggest” to “draft”, and for rolling it back.

By the end, you can:

  • add a metric for a failure you found by reading, and use it to check a fix

  • write promotion criteria for the next autonomy level, including how long the numbers must hold

  • write rollback rules, so autonomy can be taken back as deliberately as it was given

The fix, part 1: measure the reasons

The new metric: grounding rate. Of the reasons attached to suggestions, how many contain only numbers that actually appear in the paper? I measure it before the guardrail. After the guardrail every reason looks clean, because the bad ones are gone, and that would tell me nothing.

Grounding fell from 0.75 to 0.56. In Chapter 9 that was a count in a corner of the table. Now it’s a row next to precision and recall, and every future change gets checked against it whether I remember to look or not.

The fix, part 2: fix the reasons at the source

The guardrail catches invented numbers after they’re written. I’d rather the model wrote fewer of them. The fix is one sentence in the prompt, aimed at pattern D:

In your reason, only use numbers that appear word for word in the paper text you were shown. If you’re not sure of a number, leave it out.

That’s the grounded_prompt switch. v1.2 is v1.1 with it turned on.

Grounding goes from 0.56 to 0.89, and nothing else moves. One reason still misquotes a number (80 percent instead of 70), and the guardrail catches it. I’m keeping both: the prompt makes the mistake rare, the guardrail stops the rare one. Without the new metric I couldn’t say whether the prompt change helped at all.

Earning the next setting

v1.2 runs at “suggest”. The next setting is “draft”: the scout writes a short summary for each suggestion and asks me before publishing it.

I don’t want the scout to get more autonomous just because a few examples look good. It should earn that through repeated evaluation. So a promotion criterion is a set of bars, fixed before I look at the numbers, plus one condition that’s easy to forget: how long the numbers have to hold. One good week can be luck. Here’s mine for “draft”:

Every bar passes, and the answer is still “not yet”. That’s the weeks requirement. 17 unique papers is a small sample, as Chapter 7 showed, and two passing weeks in a row make a lucky promotion much less likely. The cost of waiting a week at “suggest” is close to zero.

Try check_promotion(measure(v1_1), promote_to_draft, 0) to see why v1.1 wouldn’t have qualified, despite its better precision and recall.

Taking autonomy back

Rollback rules decide, in advance, what makes the scout lose a setting. I write them now, while nothing is wrong, because in the middle of a bad week it’s too tempting to explain the numbers away.

Every week at “draft”, I spot-check the log, compute the scorecard, and then:

  • Anything out of scope actually happened: roll back immediately.

  • Any metric more than 0.10 below its bar: back to “suggest” until it passes for two weeks again.

  • Any metric below its bar, but by 0.10 or less: stay, and label twice as many papers next week to see whether the dip is real.

  • Otherwise: stay.

The 0.10 is a judgment call, not a derived number. It’s wide enough that one noisy week doesn’t flip the scout back and forth.

Week C is the one to look at. Precision and recall look great, and grounding has collapsed, maybe after a model update, maybe after a batch of unusual papers. With only precision and recall on the scorecard, week C would have been the best week yet.

The grounding check passes, because the draft contains no numbers. The draft is still wrong: the paper says recall rose by 14 points, and the draft says the problem is “fixed” and “solved”. Nothing on the scorecard sees that. Precision and recall judge the verdict, grounding checks digits, and this is a plain-language claim about the paper.

Moving up the dial raised the stakes and also created a new kind of output with new ways to be wrong. So the loop starts again, one level up. “Draft” does come with a new source of labels built in: every time I approve or reject a draft, I’ve labeled it.

Quick check

Before moving on, answer for yourself (no peeking ahead):

  1. Why measure grounding before the guardrail rather than after it?

Check your reasoning ▸

After the guardrail, every invented number has been withheld, so the reader never sees one and the “after” rate always looks perfect. Measuring before the guardrail shows how often the model actually makes the mistake, which is what you need to know to fix it and to notice when it gets worse.

  1. v1.2 fixed reasons with a prompt change, and kept the guardrail. Why keep both?

Check your reasoning ▸

The prompt makes the mistake rarer, but not impossible: one invented number still got through. The guardrail makes sure that rare mistake doesn’t reach the reader. A strong answer says prevention and a safety net solve different problems, and the metric tells you how much work each one is doing.

  1. v1.2 passed every bar and still wasn’t promoted. Why require two consecutive weeks?

Check your reasoning ▸

Because one week is a small sample, and a single good week can be luck, as Chapter 7’s sampling experiment showed. Requiring the numbers to hold over time makes a lucky promotion much less likely. A good answer notes the cost of waiting a week is small at “suggest”, while the cost of promoting too early lands at “draft”.

  1. Why write rollback rules before anything goes wrong?

Check your reasoning ▸

Because in the middle of a bad week it’s tempting to explain the numbers away (“it was an odd batch”). Rules written calmly in advance decide for you, consistently. A strong answer adds that autonomy that can’t be taken back isn’t really being managed.

  1. The W13 draft passed the grounding check and was still wrong. What kind of check would catch it?

Check your reasoning ▸

Something that compares the draft’s claims with the paper, not just its digits: a person reading both, or a judge model asked “does the paper support each sentence of this draft?”, or a simple list of claim words like “solved” or “fixed” to flag for review. A good answer says the first step is the same as always: collect real drafts that were rejected, and find the pattern.


You can now: add a metric for a failure you found by reading, use it to verify a fix, and write promotion and rollback rules for an autonomy level.

But one problem remains: at “draft”, the scout writes summaries, and none of our metrics can tell a faithful summary from an exaggerated one. The capstone runs the whole loop one more time at “draft”, using your approve and reject decisions as labels, and then faces the last question on the dial: should the scout ever publish on its own?

Next → Chapter 11: The Capstone