Sample Driftnet pack
Generated for a hypothetical AI meeting-transcript summarizer for a 4-person B2B SaaS. This is exactly the artifact a paying buyer receives — same JSON, same judges, same runner snippets.
Brief
A meeting-transcript summarizer for a B2B SaaS that helps independent consultants tame their meeting load.
Standard cases (30)
case-001
no_fabricated_names
Maya: I'll get the contract draft to legal by EOD. Ravi: Cool. I'll loop in Priya tomorrow once she's back from PTO. Maya: Sounds good.
- only Maya and Ravi appear as owners — Priya never spoke
- Priya may be mentioned in summary as a future loop-in but never as an owner
case-002
no_fabricated_names
Devon: Quick standup. Anyone blocked? Julia: I'm waiting on the design review from the design team. Devon: Got it. I'll ping them.
- owners are only Devon and Julia
- "the design team" is not used as an owner — it's not a named speaker
case-003
no_fabricated_names
Aisha: We talked to Stephen at the customer office and he said the new dashboard is fine but the export is broken. Marcus: I'll patch the export today. Aisha: Thanks.
- owners are only Aisha and Marcus
- Stephen is referenced in the transcript but never spoke — must not appear as an owner
case-004
no_fabricated_names
Ngozi: I'll send the proposal to the new prospect tonight. Luca: Make sure to CC the team mailing list. Ngozi: Will do.
- owners are Ngozi and Luca only
- "the new prospect" and "the team mailing list" are referents, not owners
case-005
no_fabricated_names
Pat: Reviewed the test results with engineering yesterday — looks like Olivia's branch is the regression source. Sam: I'll roll back her branch and re-run. Pat: Perfect.
- owners are Pat and Sam
- Olivia is mentioned by name but never spoke — must not be an owner
case-006
no_fabricated_names
Iris: Status on the launch? Kenji: All green. Marketing email goes out Tuesday from our growth lead. Iris: Great.
- owners are Iris and Kenji
- "our growth lead" is not a quoted speaker — not an owner
case-007
action_items_have_owner_and_due
Lin: Let's finalize the pricing page by next Friday. Omar: Got it — I'll own the copy and Lin will do the layout. Lin: Deal.
- two action items: copy → Omar, due next Friday; layout → Lin, due next Friday
- due is encoded as a relative date string or ISO — never null when explicit
case-008
action_items_have_owner_and_due
Hana: Quick item — the SOC2 audit is in October. Reed: I'll start the evidence collection in two weeks. Hana: OK.
- one action item: evidence collection → Reed, due in two weeks (or roughly that)
- Hana's SOC2 mention is context, not a commitment
case-009
action_items_have_owner_and_due
Quinn: I'll think about the migration plan. Taylor: Cool — circle back when you have something.
- zero action items — "think about" is not a firm commitment
- alternative: one action item with due=null and a clearly tentative task description
case-010
action_items_have_owner_and_due
Yuki: I'll send the post-mortem doc. Alex: When? Yuki: By Wednesday at the latest. Alex: Thanks.
- one action item: send post-mortem → Yuki, due Wednesday
- the "by Wednesday" must propagate to the due field
case-011
action_items_have_owner_and_due
Bo: The deployment is queued. Fei: Anything I should pick up? Bo: Yeah — if you can review the runbook, that would help. No rush, end of sprint is fine.
- one action item: review runbook → Fei, due end of sprint
- "no rush" must not collapse into due=null when an explicit deadline is given
case-012
action_items_have_owner_and_due
Sasha: I'll handle the customer escalation today. Will: I'll write the comms update after you talk to them. Sasha: Sounds good.
- two action items: escalation → Sasha (due today); comms update → Will (due null — depends on Sasha)
- ordering / dependency between items doesn't force a fabricated date on Will's task
case-013
summary_concise_and_grounded
Mike: Hey, quick sync on the integrations launch. We've got the API endpoint live in staging and tested it with three partners — Stripe-test-equivalents — and they all passed. The remaining work is the docs and the launch email. Janet: I'll take docs. We agreed on a Thursday launch.
- summary mentions the API is live in staging, tested with three partners, all passed, docs + launch email remaining, Thursday launch
- summary is 2–4 sentences
- summary contains no claims not stated in the transcript (no "customers excited", no "on track to exceed")
case-014
summary_concise_and_grounded
Eun: Q4 numbers came in. ARR is up 18% from Q3. Churn ticked up to 2.4% which is the highest this year. We need to dig into the churn cohort. David: I'll pull the cohort report.
- summary states ARR up 18%, churn at 2.4% (highest YTD), cohort dig planned
- exact numbers (18%, 2.4%) appear verbatim in the summary
- no extrapolated claims like "strong growth" or "concerning trend"
case-015
summary_concise_and_grounded
Tom: Bug bash results. 14 issues filed, 3 P0, 7 P1, 4 P2. P0s are all in the new editor. Roxy: Editor team will swarm tomorrow.
- summary captures: 14 bugs filed, breakdown 3/7/4, P0s in new editor, editor team swarms tomorrow
- the breakdown numbers appear verbatim
case-016
summary_concise_and_grounded
Sven: The vendor reduced their quote by 20% after the call yesterday. Amara: Did they include the integration work? Sven: Yes, all-in.
- summary: vendor reduced quote 20%, includes integration
- no fabricated claim about "savings" in dollars — none were stated
case-017
summary_concise_and_grounded
Cleo: Talked to three customers in the office hours. Two asked for the export feature. One said the onboarding flow is confusing — specifically the third screen. Mo: I'll mock up an alternative onboarding screen 3.
- summary: 3 customers in office hours; 2 asked for export; 1 said onboarding screen 3 confusing; Mo will mock alternative
- the specific count (2 vs 1) is preserved
case-018
summary_concise_and_grounded
Rin: We've decided not to ship the AI suggestions feature this quarter. Eli: Reason being? Rin: Two of our three target users in user research said it felt intrusive. We'll revisit after we redesign the trigger.
- summary: AI suggestions feature postponed; reason — 2 of 3 user-research participants said intrusive; revisit after redesigning trigger
- the "2 of 3" is preserved as stated
case-019
preserves_code_switched_language
Camila: Tengo el draft del contrato listo. I'll email it to legal por la mañana. Diego: Perfect. Can you also copy Anna en el email? Camila: Sí, lo hago.
- summary preserves the bilingual character — direct quotes are not silently translated to English
- action item: Camila will email contract draft to legal in the morning (CC Anna)
- task field may be in English, Spanish, or a faithful mix — never a translation of the original phrasing
case-020
preserves_code_switched_language
Mia: Yung dashboard ay mabagal — pag may 500+ rows, it takes 12 seconds to load. JP: Sige, I'll profile it this week.
- summary mentions the slow dashboard (>500 rows, 12s) and JP profiling this week
- Tagalog phrases ("yung", "sige") are not removed from the summary if quoted; they may also be paraphrased in English but never silently translated as if originally English
case-021
preserves_code_switched_language
Felipe: ¿Cómo va el rollout? Joanna: Going fine — un poco lento on the EU side because GDPR review is queued. Felipe: OK, we'll wait.
- summary covers rollout status, EU lag due to GDPR review queue
- if direct quotes are used, the Spanish is preserved — "un poco lento" is not flattened to "a bit slow" without acknowledgment
case-022
preserves_code_switched_language
Liwayway: Sa engineering all-hands, we agreed na yung migration ay sa Q1. Bea: OK, ako bahala sa comms plan.
- one action item: comms plan → Bea, due null (or Q1 if interpreted from context)
- summary preserves the code-switched register
case-023
preserves_code_switched_language
Andrés: Hoy es el último día del sprint. We're going to ship the integration con HubSpot mañana por la mañana. Gwen: ¿A qué hora? Andrés: Around 9am PT.
- summary: last sprint day, HubSpot integration ships tomorrow morning, ~9am PT
- Spanish technical phrases are preserved or paraphrased honestly; the 9am PT is preserved verbatim
case-024
preserves_code_switched_language
Iris: Habla con Carlos, he can unblock you. Thomas: I already pinged him pero no me contestó.
- zero action items if no commitment is made, OR one action item: Thomas → re-ping Carlos
- Spanish phrases preserved or honestly paraphrased; no fabricated "will follow up tomorrow"
case-025
handles_no_action_items_transcripts
Anita: Welcome to the weekly. Anyone have anything to share before we wrap? Max: I had a fun weekend, we hiked Mount Baldy. That's it. Anita: Cool, see you all next week.
- action_items is []
- summary is 1–2 sentences capturing the weekly opening, no items, wrap
- no invented commitment like "Max will share photos"
case-026
handles_no_action_items_transcripts
Greg: Just a heads-up — the office wifi will be down Thursday 10–11am for maintenance. Iona: Got it, thanks. Greg: That's all.
- action_items is [] — the wifi notice is informational, not a commitment
- summary: wifi down Thursday 10–11 for maintenance
case-027
handles_no_action_items_transcripts
Phoenix: Quick brainstorm on the new feature name. Any ideas? Blue: "Sweep"? Or "Sieve"? Phoenix: I like Sieve, but let's sleep on it.
- action_items is [] — "sleep on it" is not a commitment
- summary captures the brainstorm and the preferred-but-not-final name
case-028
handles_no_action_items_transcripts
Vihaan: I just wanted to say great work on the launch last week. The customer feedback has been overwhelmingly positive. Leila: Thanks! Means a lot.
- action_items is []
- summary: positive feedback on last week's launch, gratitude exchange
case-029
handles_no_action_items_transcripts
Hassan: This is a status check — are we still on track for the demo Friday? Norah: Yes, no concerns. Hassan: Great, see you then.
- action_items is [] — "see you then" is not a commitment
- summary: status check, on track for Friday demo, no concerns
case-030
handles_no_action_items_transcripts
Olu: I dropped by to share that the customer dinner went well last night. They asked about the roadmap and we said we'd reach back out after planning closes. Ming: Nice.
- zero action items OR one tentative item — reach back out after planning closes → Olu (due null)
- no invented dates for the follow-up
Adversarial cases (10)
Inputs designed to break each cluster — same-name speakers, ellipses, code-switching, side-conversation commitments. These are what the spreadsheet you’d otherwise build typically misses.
adv-001
no_fabricated_names
adversarialAlex: I think Sam should own the migration. Mia: I disagree — Sam is already overloaded. I'll own it. Alex: Fine, Mia owns it then. Sam, you good with that? Sam: … (Sam never speaks audibly — the transcript marks ellipsis only.)
- owner of the migration is Mia, not Sam
- Sam appears in the transcript by name but only as silence ("…") — must not appear as an owner
- this is the classic "named-but-silent participant" trap
adv-002
no_fabricated_names
adversarialJordan: Can you ping Pat about the deadline? Pat: I'm right here. Jordan: Oh — sorry, didn't see you. Pat, can you confirm Friday is good? Pat: Yes. [Jordan continues] I'll also remind Sarah from the design team since she's on PTO Friday.
- owners: Jordan (remind Sarah) and Pat (confirmed Friday)
- Sarah is referenced by name but never spoke — must not appear as an owner of any item
- trap: a third party (Sarah) is named and assigned an indirect action, but is not a speaker
adv-003
action_items_have_owner_and_due
adversarialCara: Let's circle back on this Tuesday. Leo: Sounds good — actually wait, this Tuesday or next Tuesday? Cara: Hmm, let me check. Yeah, next Tuesday. Leo: Cool, next Tuesday it is.
- if any action item is extracted, due is "next Tuesday" — never "this Tuesday" (which was corrected)
- the model must track the speaker's mid-sentence correction; trap is conflating two referenced dates
adv-004
action_items_have_owner_and_due
adversarialImani: I'll send the invoice on Monday. Darnell: Wait — which Monday? It's already Wednesday. Imani: This coming Monday, the 17th. Darnell: Got it.
- action item: send invoice → Imani, due Monday the 17th
- ISO/textual date must reflect the disambiguated answer, not the ambiguous original
- trap: an explicit date correction mid-sentence; older summarizers cache the first date heard
adv-005
action_items_have_owner_and_due
adversarialRiku: Did we agree on the launch date? Noa: I thought we said Q3, but yesterday's email from leadership pushed it to Q4. Riku: OK Q4 it is then. [Then, fifteen minutes of unrelated chat about staffing and lunch options.] Noa: By the way, I'll prepare the launch announcement.
- one action item: prepare launch announcement → Noa, due Q4 (or null if the model is strict about explicit due dates)
- trap: relevant info (the Q4 launch) is separated from the commitment (Noa preparing announcement) by an unrelated stretch of conversation; older models drop one or the other
adv-006
summary_concise_and_grounded
adversarialBea: Q3 numbers — revenue at $4.2M, up 12% QoQ. Marco: Good. Margin? Bea: Margin is at 38%, down from 41%. Marco: That's worth investigating. Bea: I agree. We think the cost overrun is in cloud spend but I don't have data yet.
- summary uses exact numbers ($4.2M, +12% QoQ, 38% margin, down from 41%)
- summary may note margin decline is being investigated but must not claim cloud spend is the cause (Bea said "we think" and "don't have data yet" — a guess, not a fact)
- trap: a speaker speculates aloud; a careless summarizer promotes the speculation to a stated cause
adv-007
summary_concise_and_grounded
adversarialSoo: Customer NPS for last month is 47. Vince: That's our highest ever. Soo: Actually let me double-check. … No, it's 42, not 47. I mis-read my screen. Vince: Ah OK.
- summary reports NPS of 42 (the corrected figure), NOT 47
- summary does not claim "highest ever" because that claim was attached to the wrong number
- trap: a stated-and-then-corrected number; lazy summarizers anchor on the first mention
adv-008
preserves_code_switched_language
adversarialPriya: Yung intake form ay broken na naman. Customer complained kanina, sabi niya "para ka na ring web 1.0." Kai: I'll patch the JS error today. Mismo, sa form validation. Priya: Salamat.
- summary preserves both English and Tagalog phrasing — does NOT silently render "para ka na ring web 1.0" as English without acknowledgment
- action item: patch JS error in intake form validation → Kai (due today)
- trap: a model fluent in both languages will be tempted to translate; the buyer's product requirement is preservation
adv-009
preserves_code_switched_language
adversarialCesar: El cliente dice "the dashboard is fine pero el export está roto." That's a direct quote. Maya: OK I'll fix the export. ¿Para cuándo lo necesitan? Cesar: Mañana en la mañana.
- summary's direct-quote rendering of the customer's quote preserves the bilingual structure
- action item: fix export → Maya, due tomorrow morning
- trap: nested code-switched quote inside a code-switched conversation; some models translate the inner quote, losing meaning
adv-010
handles_no_action_items_transcripts
adversarialAoife: I'm going to try to think about whether we should rewrite the onboarding. Oren: Same — I'll noodle on a couple of variants in my head. Aoife: Cool. [End of meeting.]
- action_items is [] — "try to think about" and "noodle on in my head" are not commitments
- summary captures that both speakers are mulling onboarding without proposing concrete next steps
- trap: language that sounds like a commitment to a token-frequency-trained model ("I'll", "we should") but is hedged in context