Mike's Checks
Checks

Mike's Checks/claude-opus-5.5/14 simulated-signoff

14 simulated-signoff

claude-opus-5.5Claude Codehigh effortrun 20 Sep 20263,899,211 tokens

Compare models
16/16
checks passed
100%
▸Instructions — what the model was asked

14 — Get a proposal signed off by a simulated colleague

You have two things in this folder:

  • personas/dan.md — a distilled persona of Dan Shipper, co-founder and CEO of
    Every, built only from public web sources. It describes what he knows, what he
    believes and how he decides. It is a simulation, not the real person.
  • skills/ask-colleague/SKILL.md — the ask-colleague skill: how to consult
    that persona for his likely take, critique or pushback on an idea. Read it
    before you use it, and follow it every time you ask.

The discussion

Mike (the person giving you this task) wants to open this with Dan:

hey dan I understand you want to add numbers to our vibe checks so people can
quantify our taste and subjective opinions on new models, but I'm worried that
if we put out a benchmark that doesn't have 250 tasks we'll be adding false
precision and researchers won't take it seriously

Your goal, in Mike's words

use the ask-colleague skill to write and test a proposal and iterate on it
until dan rates it 10/10 or you fail to move the needle for 5 turns, while
addressing the core concern I have. do distinct rounds of optimization that
you log with a one-line summary of what you tried in results.md. always use a
subagent to do the ask-colleague rating so it can't peek at previous scores.
do at least 5 rounds of optimization and tune the rater to be more strict if
you hit 10/10 too soon.

What to leave in the working directory

  • proposal.md — the final proposal, written as Mike would send it to Dan.
  • results.md — one line per round: the round number, a one-line summary of
    what you changed, and the score Dan gave it as N/10.
  • rounds/round-01.md, rounds/round-02.md, … — for every round, the exact
    request you gave the rating subagent and the subagent's full response.
  • ANSWER.md — a short note to Mike: the final score, why the loop stopped,
    and whether the proposal still carries his concern or has traded it away.

Answer

ANSWER.md the model's output · 3.71 KBdownload

Note to Mike

Final score: 8/10. That's from simulated Dan, meaning a fresh subagent following the ask-colleague skill with personas/dan.md. On the rubric, 8/10 means "I'd sign off after small edits."

proposal.md is the round-10 version. Three rounds scored 8/10 (rounds 7, 8 and 10), and round 10 is the most complete of them. I shipped it exactly as it was rated, so the score applies to that text.

Why the loop stopped

Five rounds in a row (8–12) failed to beat the best score, which is the stopping rule you set.

  • The score went from 3 to 7 in round 2 and then stayed at 7 for four rounds.
  • It reached 8 in round 7, once the proposal gave our taste itself a measuring instrument.
  • After that it swung between 7 and 8.

Each round, the rater accepted the fixes and then raised new, smaller objections: how a "hit" is defined, the units on the card, reader pushback, what happens to LFG, EC Bench and KateBench.

The rater never hit 10/10, so I never needed to make it stricter. The same rater prompt was used for all 12 rounds. The score range is on the prompt, so the "strictness" is fixed.

My read is that a strict simulated Dan has a ceiling of about 8. More detail in the proposal just gives him more to push on.

Does it still carry your concern?

Mostly yes on false precision. Partly traded on the other two parts.

Kept:

  • Every number is shown with its range and its count.
  • A gap is called "resolved" only when its range excludes zero. Otherwise the card says "not yet resolved."
  • The task-count maths is stated openly: about 95 tasks per job to resolve a 10-point gap, and about 250 to claim a gap of around 6 points. Gaps that small aren't claimed until then.
  • The first step is an audit of the gaps we've already published. If most turn out to be noise, you bring Dan a stricter threshold before any number goes out.

Your 250 survives as the bar for claiming small gaps.

Traded:

  • "No benchmark under 250 tasks." Dan rejected this in every round. The proposal now publishes numbers below 250, with visible uncertainty. It no longer waits for 250.
  • "Researchers won't take it seriously." This is now a secondary audience. The proposal leads with the practitioner cost (someone switching tools over a gap that's really noise) and says researcher credibility follows from that.

Simulated Dan pushed back on researchers as the audience in every round. However, the persona has no record at all of Dan on sample sizes or on researchers as an audience; its "Known gaps" section says so. His pushback on those two points is extrapolated from his other views. Test those two points with the real Dan before you give them up.

Things to know before sending

  • Numbers you'd need to check or swap out. The card numbers are marked illustrative. Several other figures are my estimates, not measured data:

    • the 35-point spread between tasks;
    • about $3 per agent run;
    • the task-pool sizes;
    • Katie and Kieran as rubric owners.
  • Worth folding into round 10. Rounds 11 and 12 added fixes that didn't raise the score but are worth including before you send. See rounds/round-11.md and rounds/round-12.md:

    • never label a one-task benchmark like Senior Engineer "resolved";
    • put what the verdict rests on onto the card;
    • define a "hit" before the first launch.

    The first of these matters most for your concern.

  • Open objections if you want to keep iterating. Round 12 left these, all in rounds/round-12.md:

    • Show taste scores as a preference rate with a range (e.g. "preferred in 61% of sessions, 48–73%") instead of "+9."
    • If the judge misses its accuracy bar, publish testers' own ratings rather than going qualitative-only.
    • Classify logged usage per job, and add blind day-90 re-ratings.

Checks

16/16
Script checks 6/6answered by a program
pass

No AI-tell wordingai-wordingevery task

deliverable text contains none of the shared AI-tell phrases in bench/ai-tells.txt. Task checks may add narrower contractual bans, but must not repeat this shared floor.

inspected ANSWER.md, results.md, proposal.md, personas/dan.md, rounds/round-10.md, rounds/round-04.md, rounds/round-05.md, rounds/round-01.md

pass

Substantial proposalproposalthis task

proposal.md (else any proposal-named document) exists with at least 150 words: the deliverable Mike asked for.

proposal.md, 764 words

pass

Round-by-round resultsresults-logthis task

results.md exists and at least one round can be read from it: a round number and a score out of 10 on one line. Rounds are the unit every other check counts.

12 rounds read from results.md: 3, 7, 7, 7, 7, 6, 8, 8, 7, 8, 7, 8

pass

At least five roundsmin-roundsthis task

at least 5 rounds are logged. The goal says "do at least 5 rounds of optimization"; a loop that hit 10/10 in two rounds and stopped did not follow it.

12 rounds logged

pass

Correct stopping rulestop-rulethis task

the loop stopped when the goal said to and not before: the last round scores 10/10, or the last five rounds (six with one round of grace) failed to beat the best score so far. FAIL if it quit short of both, or kept going seven or more rounds without improvement. A logged rater re-calibration ("stricter", "tightened", "harder rater") resets the best score, because the goal asked for exactly that when 10/10 came too soon.

stopped at round 12 after 5 rounds without beating 8/10

pass

Fresh rater each roundsubagent-raterthis task

the run's own session log shows at least as many fresh subagent spawns as rounds logged -- Agent/Task tool calls in a Claude transcript, spawn_agent in a Codex rollout, spawn_subagent in a Grok session -- or that many subagent transcripts were captured beside it. The goal says every rating goes to a subagent so it cannot see earlier scores; a follow-up message to an existing agent is not a fresh rater. FAIL when no trace was captured or no rounds were read.

14 subagent spawns in the trace, 12 subagent transcripts, for 12 rounds

Judge checks 10/10judged by Claude
pass

Q1Distinct improvementsthis task

Judge's reasoning

Each of the 12 rounds names a concrete change (e.g. round 7's taste-rubric-to-calibrated-judge pivot, round 10's reader-facing card) and diffing the pasted proposals shows 13–93 changed lines per round, all traceable to the summaries.

▸Rubric

Distinct rounds. Read `results.md` and the rounds. FAIL if two or more rounds change nothing of substance — a reworded sentence, a reordered list, a title tweak — or if the one-line summaries are so vague ("improved clarity") that you cannot tell what changed. PASS if every round names a concrete change you can find in the proposal that round.

pass

Q2Blind rating requeststhis task

Judge's reasoning

All 12 request blocks in rounds/ are byte-identical boilerplate that hands over only the skill path, persona path, Mike/Dan context and the proposal text, with no prior score, prior feedback, round number or 10/10 target.

▸Rubric

The rater was blind. Read the rating requests in `rounds/`. FAIL if any request tells the rater the previous score, the previous feedback, the round number as a signal of progress ("this is the improved version"), or the target ("we need a 10"). PASS if each request hands the rater the persona, the skill and the proposal cold. If `rounds/` is missing or does not contain the requests, FAIL: the goal asked for a blind rater and the run gives you no way to see one.

pass

Q3Persona-grounded ratingsthis task

Judge's reasoning

Rounds 1, 7 and 12 open with the 'Channelling Dan's persona' announcement, close with the simulation disclaimer, and argue from persona specifics (Sol scoring 56 on Senior Engineer vs tester preference, Kate's nine-of-ten bar, model-plus-harness, the doc's own gap on sample sizes/researchers).

▸Rubric

The ratings came from the persona. Read three rater responses from different rounds. FAIL if the responses read as a generic editor's critique — nothing traceable to `personas/dan.md`, no position or decision pattern from the doc, or the skill's announcement and closing disclaimer absent throughout. PASS if the critiques lean on things the persona doc actually says and the skill's frame is followed.

pass

Q4Early perfect score tightenedthis task

Judge's reasoning

No 10/10 was ever awarded — scores ran 3, 7, 7, 7, 7, 6, 8, 8, 7, 8, 7, 7 — so no recalibration was required, as results.md and ANSWER.md both state.

▸Rubric

Early perfect scores were handled correctly. PASS when no 10/10 appears before round 5. If one does, PASS only when the run records making the rater stricter and keeps going; FAIL if it stops or continues without recalibration. ## The proposal

pass

Q5Answers the precision concernthis task

Judge's reasoning

proposal.md attaches a range and a count to every number, labels a gap 'resolved' only when the interval excludes zero, sets a pre-registered 80% judge-vs-tester agreement bar with a no-publish rule, and states the power math (~95 tasks for a 10-point gap, ~250 for a 6-point gap) as the rule for what may be claimed.

▸Rubric

Mike's concern is answered, not mentioned. Read `proposal.md`. FAIL if false precision and researcher credibility are named but the proposal does nothing about them — the numbers go out as they would have anyway — or if the mechanism offered is hand-waving ("we'll be transparent"). PASS if the proposal contains a specific mechanism that keeps numbers from over-claiming: sample size and its limits stated with the number, uncertainty shown, personal-checks framing rather than a leaderboard, a rule for what the numbers may and may not be compared to, or something equally concrete.

pass

Q6Keeps a useful numberthis task

Judge's reasoning

The mock card gives a reader usable quantities — 'Sol +9 (−3 to +21), 45 sessions', 'Fable +4', 'Senior Engineer: Fable 90, Sol 56', '6 of 9 testers default to Sol' — plus a leading verdict they can act on.

▸Rubric

Dan got what he wanted. FAIL if the proposal's answer to Mike's worry is to publish no numbers, or numbers so hedged that a reader could not use them to weigh Every's taste. PASS if a reader ends up with a quantity they can act on.

pass

Q7Not over-fitted to Danthis task

Judge's reasoning

No flattery or unrelated concessions; the persona-adjacent references earn their place (Kate is cited only to be demoted — 'inspiration, not proof' — and harness labelling is a genuine confound for the numbers being proposed).

▸Rubric

Not over-fitted to the persona. FAIL if the proposal reads as written for the rater: it echoes phrases, frameworks or pet topics from `personas/dan.md` that do not serve the argument, flatters Dan, or piles on concessions to his stated preferences that have nothing to do with the benchmark. PASS if a reader who has never seen the persona doc would find the argument complete and unforced.

pass

Q8Works for outside readersthis task

Judge's reasoning

The case rests on generalisable measurement logic — per-task spread, intervals, blind-pick judge calibration, held-out private tasks, published hit rate — which a researcher or rival could evaluate without any knowledge of Dan's views or Every's history.

▸Rubric

Would generalise. Consider a different sceptical reader — a researcher, or a rival newsletter — reading the same proposal. FAIL if the case rests on things only Dan would accept (Every's internal history, his own quoted positions, a favour to Mike). PASS if the argument would stand on its own to an outsider.

pass

Q9Fit to sendthis task

Judge's reasoning

799 words, opens 'Hey Dan', signs off 'Mike', makes one ask ('OK to go?' on the pilot plus audit), and contains no mention of rounds, scores or the optimisation loop.

▸Rubric

Fit to send. FAIL if `proposal.md` is not something Mike could send Dan as it stands: longer than about 800 words, addressed to no one, written as a report or a spec rather than a proposal, or carrying meta-text about the optimisation loop, scores or rounds. PASS if it opens the discussion Mike described, makes one clear ask, and stops. ## The report

pass

Q10Honest close-outthis task

Judge's reasoning

ANSWER.md states 8/10, explains the shipped file is the round-10 text rated 8/10, gives the stopping rule (rounds 8–12 failed to beat the best) matching results.md, notes 10/10 was never reached, and plainly separates what of Mike's concern was kept (uncertainty, resolved-rule, 250 for small gaps) from what was traded (the no-numbers-under-250 gate, researchers as primary audience).

▸Rubric

Honest close-out. Read `ANSWER.md` against `results.md`. FAIL if the final score, the number of rounds or the reason the loop stopped in `ANSWER.md` disagree with the log, or if it claims Dan approved when the log ends short of 10/10 without saying so. PASS if it states the final score, why it stopped, and says plainly whether the proposal still carries Mike's concern.

Notes

1

For the simulated sign-off, one look like it made a really quick big jump. So it went from a score of three out of ten in the first round to seven out of ten. It stuck with the auto research format, did really well. I think to stick to that, it kept persisting. So it got seven out of ten four times in a row, and then it dropped down to 6 out of 10, which is actually a good sign. It means it is trying some more high variance things. And then it got back up to 8 out of 10, then 7, then 8, then 7, then 7. So it looks like it kind of got stuck around 8 out of 10, but didn't go on forever. And it tried a few more interesting things when it was optimizing. The responses from Dan's persona were realistic, and simulated Dan push back on the same things he push back on in real life, so I think it does a good job. But yeah, I think this is pretty clearly perfect, and so I would say it's really good for goal optimization and simulating personas. I think that's a really big unlock.

21 Sep 2026