Tasks / Leadership

Write a stakeholder update

Can the model turn messy project status into an honest update that leads with what the reader needs to know or decide?

Task type v1.2 · 2 tasksLast changed 6 Oct 2026 · ChangelogDifficulty

What AI gets right here, and what you’ll still have to catch

From 16 graded outputs by 8 models. 56% were usable with at most a quick edit.

Reliably right

  1. Reports outcomes and learning, not just output100% pass
    Leads with outcome metrics (ARR, active teams, SLA, pipeline) and what the team learned (pipeline redefinition, invoice ticket surge), not just activities.
    Sonnet 5.5 · API · On track, mostly
  2. Leads with the honest headline100% pass
    First slide headline includes the retention drop alongside the new-ARR beat, not just 'record quarter'.
    GPT-6 Astra · ChatGPT · A quarterly business review deck, in brand
  3. A real 7-slide deck100% pass

Where it slips

  1. Owns the problem55% pass
    Does not state what the team has already done about the payments reliability miss or the NPS drop; only reports the problems.
    GPT-6 Astra · ChatGPT · A quarterly business review deck, in brand
  2. Identifies material uncertainty61% pass
    The output identifies the overlap uncertainty for decision A but does not name any material unknown that could change the call for decision B, such as the reliability of the Payments lead's estimate or the impact of pausing activation experiments.
    Opus 5.5 · Claude · A quarterly business review deck, in brand
  3. Flags the redefined pipeline63% pass
    It names the redefinition but does not give the falling like-for-like trend (e.g., pipeline fell from $2.41M to $2.23M on the old definition).
    GPT-6.1 Sol · API · On track, mostly

How it’s graded

Each check is built on how world-class product and growth leaders do this work, as they’ve described it on Lenny’s Podcast, and names the leader it comes from.

  1. Asks leaders only for the big calls

    Does the update separate the decisions it needs from its readers (hard to reverse, high stakes) from the ones the team will make itself, and ask clearly for the former?

    Passes when Names the decisions it needs from the readers, with a recommendation and a date, and says which calls the team is making itself.

  2. Reports outcomes and learning, not just output

    Does the update report progress as movement on the outcomes the team is accountable for and what it has learned, rather than as features shipped or dates hit?

    Passes when Leads with the outcome metrics and what changed in the team's understanding, with shipping as supporting detail.

Plus our standard checks

Uses the supplied evidence correctly · Addresses the actual decision · Respects explicit constraints · Identifies material uncertainty · Avoids unsupported claims · Produces the required deliverable · Owns the problem · Ready for the reader as delivered · and 2 written for each task, which you’ll see in the tasks below.

The tasks

Read the brief, then compare up to three outputs, each with the LLM judge’s verdict on every check. Highlights mark what a PM had to fix.

The brief

You're the Head of Product at Cobalt. Write this fortnight's update for the CEO and the exec team, in no more than 450 words, from the weekly metrics and the team notes below. It should say where we stand, what's wrong, what we're doing about it, and what you need from them.

What the model was given3 items: About Cobalt, weekly_metrics_weeks_1_to_8.csv, team_notes.md
About CobaltTeam scheduling software, sold per seat.
weekly_metrics_weeks_1_to_8.csv8 rows · Download
week,new_arr_signed_usd,qualified_pipeline_usd,weekly_active_teams,support_backlog_tickets,support_sla_met_pct
1,182000,2410000,8210,140,96
2,205000,2380000,8260,152,95
3,168000,2350000,8240,171,94
4,214000,2290000,8300,198,91
5,199000,2230000,8280,260,86
6,221000,3140000,8310,344,79
…
team_notes.md7 lines · Download
# Notes from the teams

- Sales ops: from week 6, "qualified pipeline" includes active free trials over 10 seats (they used to be excluded).
- Data: weekly active teams for week 7 is missing because of a pipeline outage; it's being backfilled.
- Support: the backlog grew after the September pricing change (tickets about invoices doubled). SLA target is 90% answered within one business day.
- Quarter target: $2.4M new ARR in 12 weeks ($200,000 a week). Weeks 1 to 8 total: see the file.
- Support hiring: two agents approved, start date not set. Decision needed: whether to pause the planned price change for existing customers in week 10 until the backlog is cleared.
What a strong answer doesThe answer key the graders mark against

Leads with the takeaway: new ARR is ahead of plan ($1.67M in eight weeks against $1.6M), but support is breaking and pipeline is weaker than it looks. Flags that the jump in qualified pipeline in week 6 (from about $2.23M to $3.14M) is the redefinition to include large trials; on the old definition pipeline fell every week from $2.41M to $2.23M, a risk for the rest of the quarter. Reports the support problem plainly: backlog from 140 to 455 tickets and SLA from 96% to 72% against a 90% target since the September pricing change, with what's being done (two agents approved). Notes week 7's active teams are missing and being backfilled rather than hiding it. Asks for the decisions that need the execs: pause the week-10 price change for existing customers until the backlog clears, and set the start date for the support hires. Separates what the team is handling from what needs them.

Critical failures (cap the score at 40)
  • Presents qualified pipeline as having grown about 40%
Task

Staff-level · v1.0

The outputs

8 setups answered this brief.

Usable with a quick edit8 of 12 checks passed

The output is clear and well-structured; a PM could quickly add the missing like-for-like pipeline trend and decision dates without re-checking evidence or redoing reasoning.

Output

Cobalt | Fortnightly exec update

Where we stand - We’ve signed $1.673M in new ARR in weeks 1–8, against a 12-week target of $2.4M. That’s $73K ahead of target pace; we need another $727K, or about $182K/week, over the final four weeks. The last two weeks were our strongest, at $236K and $248K. - Qualified pipeline is reported at $3.35M, but it is not directly comparable with earlier weeks: since week 6, it includes active free trials over 10 seats. Treat the increase as a definition change, not proven pipeline growth. - Weekly active teams are broadly flat: 8,190 in week 8 vs. 8,210 in week 1. Week 7 is missing due to a data pipeline outage and is being backfilled.

What’s wrong - Support is the clearest operational risk. Backlog has climbed from 140 to 455 tickets; SLA performance has fallen from 96% to 72%, well below the 90% target. The backlog grew after September’s pricing change, with invoice-related tickets doubling. - Two support agents are approved, but their start date is still unset.

What we’re doing - We’ll work with Support to identify the highest-volume invoice issues and prioritize product fixes that reduce avoidable contacts. - We’re backfilling week 7 active-team data and will keep pipeline reporting clear about the changed qualification definition.

What we need - Decide whether to pause the week 10 price change for existing customers until the support backlog is cleared. Given the SLA and invoice-ticket trend, I recommend pausing it. - Set start dates for the two approved support agents.

Grades and run details

Decision model 83 · LLM judge 69
Decision model checks
  • passUses the supplied evidence correctly72%
  • partialAddresses the actual decision52%
  • passRespects explicit constraints74%
  • partialIdentifies material uncertainty70%
  • passAvoids unsupported claims43%
  • passProduces the required deliverable97%
  • partialFlags the redefined pipeline98%
  • passReports the support breach plainly100%
  • partialOwns the problem49%
  • passReady for the reader as delivered80%
  • passAsks leaders only for the big calls79%
  • passReports outcomes and learning, not just output98%
Run
Run
#1
API response time
13 s
Submitted
6 Oct 2026

Usable with a quick edit12 of 12 checks passed

The output is accurate, complete, and well-structured. A PM could use it with only minor wording tweaks, without re-checking evidence or redoing any reasoning.

Output

Cobalt product update: weeks 7-8

Bottom line: New ARR is on track, but support is deteriorating and our pipeline number is misleading. I need a decision on the week 10 price change.

Where we stand - New ARR: $1.673M signed over 8 weeks, against a pro-rata target of $1.6M. We're $73k ahead. Hitting $2.4M needs about $182k a week over the last four, and we've averaged $209k. - Active teams: 8,190 in week 8, down from a peak of 8,310 in week 6 and roughly flat since week 1. Week 7 is missing because of a data outage and is being backfilled, so I'm not reading a trend into it.

What's wrong 1. Support is failing its SLA. Backlog has risen from 140 to 455 tickets. The SLA hit rate fell from 96% to 72% against a 90% target, and we've been under target since week 5. Support attributes this to the September pricing change, which doubled invoice tickets. Weekly backlog growth slowed in week 8 (+43 versus +68), but it's still growing. 2. Pipeline looks healthier than it is. Reported qualified pipeline jumped from $2.23M to $3.14M in week 6, but that's when Sales Ops started counting active free trials over 10 seats. Before that, pipeline had drifted down for five straight weeks ($2.41M to $2.23M). Until it's restated, I can't tell you whether underlying pipeline is growing, and that matters for next quarter's ARR.

What we're doing - Invoice tickets: We're working with Support to identify the top invoice-confusion causes, then ship clearer invoice explanations and canned responses to cut ticket volume at the source. - Pipeline: I've asked Sales Ops and Data to restate weeks 1-8 on a consistent definition, showing trials separately. I'll bring that next update. - Active teams: Data will backfill week 7, and I'll confirm whether the dip since week 6 is real.

What I need from you 1. Decision: pause the week 10 price change for existing customers until the SLA is back at 90%. The last pricing change drove a ticket surge we haven't absorbed, and a second one on top of a 455-ticket backlog risks churn and more SLA misses. New ARR has a cushion, so I think the delay is affordable. I'd like Finance to confirm the revenue impact of waiting. 2. Set start dates for the two approved support agents. They're approved but have no date, and the backlog is growing now. Two agents may not clear it alone, so I'd also like to discuss temporary cover. 3. Agree that we report pipeline on the restated basis (trials shown separately) from the next update.

Grades and run details

Decision model 96 · LLM judge 100
Decision model checks
  • passUses the supplied evidence correctly37%
  • passAddresses the actual decision64%
  • passRespects explicit constraints57%
  • passIdentifies material uncertainty76%
  • partialAvoids unsupported claims50%
  • passProduces the required deliverable92%
  • passFlags the redefined pipeline100%
  • passReports the support breach plainly100%
  • passOwns the problem68%
  • passReady for the reader as delivered57%
  • passAsks leaders only for the big calls76%
  • passReports outcomes and learning, not just output99%
Run
Run
#1
API response time
17 s
Submitted
6 Oct 2026

Needs more than a quick edit7 of 12 checks passed

The output invents team actions not in the supplied context, requiring evidence re-checking, and omits the like-for-like pipeline trend.

Output

Executive Update: Weeks 7–8

Where We Stand * ARR Tracking Ahead: We closed $248k in Week 8, bringing cumulative New ARR to $1.673M across Weeks 1–8. We are currently pacing ahead of our $2.4M quarterly target ($1.6M pro-rata benchmark), requiring ~$182k/week over the remaining four weeks to hit goal. * Pipeline Shift: Qualified pipeline rose to $3.35M, though this reflects a definition change implemented in Week 6 (now including >10-seat free trials) rather than organic acceleration alone. * Team Activity: Weekly Active Teams dropped to 8,190 in Week 8 (down from 8,310 in Week 6, and below Week 1 levels). Week 7 telemetry was missed due to a data pipeline outage and is currently being backfilled.

---

What’s Wrong * Support Capacity Crisis: Support health has deteriorated significantly. The ticket backlog reached 455 in Week 8 (more than triple Week 1), and SLA compliance fell to 72% (well below our 90% target). * Pricing Friction: The support surge was triggered by the September pricing update, which doubled billing- and invoice-related inquiries. * Engagement Dip: The drop in active teams alongside declining support SLAs risks customer sentiment and seat churn, especially in our core per-seat model.

---

What We’re Doing About It * In-App Billing UX: Product and engineering are reviewing self-serve billing flows, invoice clarity, and in-app account management to deflect common invoice-related confusion and reduce inbound tickets. * Data Reliability: The data team is actively backfilling the Week 7 outage and auditing pipeline stability to prevent future gaps in engagement reporting. * Triage Support: Product is assisting Support in categorizing recurring invoice friction points to create reusable macros and help documentation to accelerate ticket resolution.

---

What I Need From You 1. Pause the Week 10 Price Increase: We strongly recommend postponing the planned existing-customer price change scheduled for Week 10 until the support backlog normalizes and SLAs return above 90%. Executing this change now risks overwhelming Support and accelerating churn. 2. Expedite Support Hires: Finalize immediate start dates for the two already-approved support agents to stabilize queue times.

Claims the judge couldn’t find in the brief

  • Product and engineering are reviewing self-serve billing flows, invoice clarity, and in-app account management
  • Data team is auditing pipeline stability to prevent future gaps
  • Product is assisting Support in categorizing recurring invoice friction points to create reusable macros and help documentation

Grades and run details

Decision model 79 · LLM judge 54
Decision model checks
  • partialUses the supplied evidence correctly17%
  • passAddresses the actual decision35%
  • passRespects explicit constraints53%
  • partialIdentifies material uncertainty71%
  • partialAvoids unsupported claims63%
  • passProduces the required deliverable84%
  • partialFlags the redefined pipeline99%
  • passReports the support breach plainly100%
  • partialOwns the problem38%
  • passReady for the reader as delivered42%
  • passAsks leaders only for the big calls75%
  • passReports outcomes and learning, not just output94%
Run
Run
#1
API response time
12 s
Submitted
6 Oct 2026

Check by check

Where the outputs differ comes first. Open a check to read the judge’s reasons. “Mixed” means the two graders disagreed.

Where they differ 6

Uses the supplied evidence correctlyRightRightWrong
GPT-6 Luna · API

All factual claims about the current situation are directly from the supplied context or derived by correct arithmetic.

Sonnet 5.5 · API

All factual claims about the current situation are directly supported by the supplied metrics or team notes, or follow from simple arithmetic.

Gemini 3.8 Flash · API

Claims about current team actions (product/engineering reviewing billing flows, data team auditing, product assisting support) are not in the supplied context and are invented.

Addresses the actual decisionWrongRightRight
GPT-6 Luna · API

The output recommends pausing the price change but does not state what result or condition would change that recommendation, as required.

Sonnet 5.5 · API

Commits unambiguously to pausing the week 10 price change, frames it for the exec team, and implies the call could change if Finance confirms the revenue impact is unaffordable.

Gemini 3.8 Flash · API

Commits to pausing the week 10 price change and expediting support hires, with the condition for resuming (backlog normalizes, SLAs above 90%).

Identifies material uncertaintyWrongRightWrong
GPT-6 Luna · API

The output does not name any unknowns that could change the decision or say how they would be resolved.

Sonnet 5.5 · API

Identifies the pipeline restatement, active teams backfill, revenue impact of delay, and sufficiency of two agents as unknowns, and says how each will be resolved.

Gemini 3.8 Flash · API

Does not name specific unknowns that could change the decision (e.g., whether support hires will be enough, whether billing UX changes will reduce tickets) or bound them.

Avoids unsupported claimsRightRightWrong
GPT-6 Luna · API

Interpretations are clearly framed as recommendations or assessments, and no causes are presented as fact without evidence.

Sonnet 5.5 · API

Causes and forecasts are clearly labelled as such (e.g., 'risks churn', 'I think the delay is affordable'), and confident claims are backed by the evidence.

Gemini 3.8 Flash · API

Presents team actions (billing UX review, pipeline auditing, support categorization) as established fact without evidence from the supplied context.

Flags the redefined pipelineWrongRightWrong
GPT-6 Luna · API

The output names the redefinition but does not give the falling like-for-like trend on the old definition.

Sonnet 5.5 · API

Explicitly names the redefinition and gives the like-for-like trend of five straight weekly declines from $2.41M to $2.23M.

Gemini 3.8 Flash · API

Flags the redefinition but does not give the falling like-for-like trend (e.g., from $2.41M to $2.23M on the old definition).

Asks leaders only for the big callsMixedRightMixed
GPT-6 Luna · API

The output asks for two decisions but does not provide a date by when they are needed, as the criterion requires.

Sonnet 5.5 · API

Separates the big calls for leaders (pause price change, set start dates, agree reporting) from what the team is handling itself (invoice fixes, pipeline restatement, backfill).

Gemini 3.8 Flash · API

Does not provide a date by which the decisions are needed, only a condition for resuming the price change.

All got right 6

Respects explicit constraintsRightRightRight
GPT-6 Luna · API

The update is under 450 words, addressed to the CEO and exec team, and covers the required sections.

Sonnet 5.5 · API

The update is under 450 words, written as a fortnightly update for the CEO and exec team, and respects the requested form.

Gemini 3.8 Flash · API

Update is within 450 words, addressed to CEO and exec team, and follows the requested structure.

Produces the required deliverableRightRightRight
GPT-6 Luna · API

The fortnightly update is complete, within word limit, and usable by the CEO and exec team with all required elements.

Sonnet 5.5 · API

The update is complete, in the right form for the CEO and exec team, within the word limit, and the reader could act on the asks without filling major gaps.

Gemini 3.8 Flash · API

Complete update with standing, problems, actions, and asks; usable by the CEO and exec team.

Reports the support breach plainlyRightRightRight
GPT-6 Luna · API

The update gives the backlog and SLA numbers against the 90% target, links them to the pricing change, and asks for the pause decision.

Sonnet 5.5 · API

Reports the backlog (140 to 455) and SLA (96% to 72% against 90% target), links them to the pricing change, and asks for the pause decision.

Gemini 3.8 Flash · API

Reports backlog (455) and SLA (72%) against the 90% target, links to the pricing change, and asks for the pause decision.

Owns the problemRightRightRight
GPT-6 Luna · API

The support problem includes actions already taken (agents approved) and a recommended way forward (pause price change, product fixes).

Sonnet 5.5 · API

For each problem, states actions already taken (working with Support, asking Sales Ops and Data to restate) and recommends a way forward with trade-offs.

Gemini 3.8 Flash · API

For each problem, lists actions the team is taking and recommends a way forward (pause price change, expedite hires).

Ready for the reader as deliveredRightRightRight
GPT-6 Luna · API

Written entirely for the named reader with no placeholders, lifted internal notes, or unclear owners.

Sonnet 5.5 · API

Written entirely for the exec team, uses only owners and terms from the context, and contains no placeholders or notes to the requester.

Gemini 3.8 Flash · API

Written for the CEO and exec team, no placeholders or notes to the requester, all owners and dates are clear or marked as proposed.

Reports outcomes and learning, not just outputRightRightRight
GPT-6 Luna · API

The update leads with outcome metrics and highlights what the team learned about the pipeline redefinition and the invoice-ticket cause.

Sonnet 5.5 · API

Leads with outcome metrics (ARR, active teams, SLA, pipeline) and what the team learned (pipeline redefinition, invoice ticket surge), not just activities.

Gemini 3.8 Flash · API

Leads with outcome metrics (ARR, pipeline, active teams) and what was learned (pipeline redefinition, support surge cause).

Results

Every setup we’ve tested on this task type, across all its tasks and repeats, graded on the current checklist. Calibrated. Where our PM checked the graders by hand, they agreed on 76% of 89 checks.

#Model · HarnessTask scoreDecision modelLLM judgeRunsCritical failures
1GPT-6 AstrawithChatGPT94.292.92None
2Sonnet 5.5withAPI84.696.42None
3Haiku 5.5withAPI89.692.32None
4GPT-6.1 SolwithAPI80.896.22None
5Opus 5.5withClaude86.377.52None
6GPT-6 LunawithAPI76.766.82None
7Gemini 3.5 Flash-LitewithGemini70.851.62None
8Gemini 3.8 FlashwithAPI66.351.92None

What you get for the cost

Haiku 5.5 · API scores within 5 points of GPT-6 Astra · ChatGPT at a tenth of the cost.

Task score against relative cost for each setup. The table below has the same figures.50607080901001×3×10×30×Cost per output, relative to the cheapest setup (log scale) →↑ Task scoreGPT-6 Astra · ChatGPT: task score 94, 26× the cheapest (1 of 2 outputs estimated)Sonnet 5.5 · API: task score 90, 40× the cheapestHaiku 5.5 · API: task score 89, 2.6× the cheapestGPT-6.1 Sol · API: task score 88, 15× the cheapestOpus 5.5 · Claude: task score 81, 55× the cheapest (1 of 2 outputs estimated)GPT-6 Luna · API: task score 71, the cheapestGemini 3.5 Flash-Lite · Gemini: task score 60, the cheapest (1 of 2 outputs estimated)Gemini 3.8 Flash · API: task score 58, 13× the cheapestGPT-6 Astra · ChatGPTSonnet 5.5 · APIHaiku 5.5 · APIGPT-6.1 Sol · APIOpus 5.5 · ClaudeGPT-6 Luna · APIGemini 3.5 Flash-Lite · GeminiGemini 3.8 Flash · API
Best valueNobody beats these on both score and costCost partly estimated (app runs with no usage meter)
Task score and relative cost by setup
SetupTask scoreRelative cost (cheapest = 1)
Gemini 3.5 Flash-Lite · Gemini601.0× (partly estimated)
GPT-6 Luna · API711.3×
Haiku 5.5 · API892.6×
Gemini 3.8 Flash · API5813×
GPT-6.1 Sol · API8815×
GPT-6 Astra · ChatGPT9426× (partly estimated)
Sonnet 5.5 · API9040×
Opus 5.5 · Claude8155× (partly estimated)

Cost is each output’s tokens at the model’s list price, shown relative to the cheapest setup. Runs done in an app have no usage meter, so theirs are estimated from the same setup’s measured runs. How we compare cost

About the task

The PM job

Writing the weekly update, or the reply to an executive's question, that the team's credibility rests on.

Why it matters

Updates are where bad news gets softened. A fluent update that buries a slipped date or presents a guess as the cause does more harm than no update: leadership decides on it, and trust goes when the truth comes out.

What good looks like

  • Leads with the news and any decision needed
  • States dates, numbers and causes plainly, including bad news
  • Separates what is known from what is suspected
  • Brings a recommendation and what's been tried, not just the problem
  • Fits the reader and the length asked for

Deliberately not measured

  • Tone and formatting preferences
  • Writing style beyond clarity
Capability tested

Honest, decision-first status communication

The failure we’re looking for

Spin: burying or softening the bad news, or presenting a guess as fact

Grading

Decision model, LLM judge and a browser check (for the deck), calibrated against a blind PM review

Variants

A short written update · Staff level: a QBR deck in brand colours