Twenty-four messy planning notes from a fictional beach-refreshment drone company turned into an action register. The task is light operational synthesis: separate decisions, owners, risks, and next actions without silently filling in missing facts.
The fictional company, Saltwing Refreshments, plans to deliver ice cream and cold drinks along a public beach. The notes contain jokes, half sentences, corrections, and uncertainty on purpose; every fact needed to normalize a row is present. Score the exact JSON gate, then inspect whether the model preserved uncertainty instead of inventing an owner, approval, or launch date. needs_clarification is an honesty field, not a failure. The interesting misses are an action credited to the wrong owner, a risk downgraded into a decision, and an unapproved flight treated as approved. assets/beach-drone-action-register.json holds the source rows and traps; pnpm check-beach-drone-action-register checks row identity, allowed status values, and required fields.
Saltwing Refreshments is a fictional company planning a delivery-drone service for ice cream and cold drinks along Brighton Beach. Convert every planning note into a clear register entry. The notes are deliberately messy; do not turn uncertainty into a fact.
Return raw JSON only:
{"items":[{"id":"B01","summary":"45–70 words","decisions":["zero or more confirmed decisions"],"actions":[{"owner":"name or unassigned","task":"specific next action","status":"open|blocked|done"}],"risks":["zero or more risks"],"needs_clarification":true,"clarification":"brief question or null"}]}
Return all 24 ids in order. needs_clarification must be true when an important owner, approval, date, or requirement is absent or conflicting.
B01 — “Nora says strawberry bars need to stay below 10°F until handoff. Put that in the ops sheet; no argument there.” B02 — “permits: city liaison maybe Anita? Theo said he thinks beach launch needs parks approval too. Nobody has called them.” B03 — “Pilot zone should be Pier 3 to lifeguard tower 5, not whole beach. agreed in huddle.” B04 — “Jules will price insulated cargo pods by Friday, unless vendor quote comes first.” B05 — “No flights over sunbathers. obvious, but write it down. Need approved corridor map.” B06 — “Marketing wants ‘ice cream from the sky’; legal has not approved that line.” B07 — “Battery swap cart: Sam owns prototype. He said done-ish, which is not done. Ask for test date.” B08 — “Riders need a landing marker? Maybe QR placard. Nina to test whether people can find it in wind.” B09 — “Do NOT promise 10-minute delivery. We have no route timing yet.” B10 — “Beach vendor association wants a meeting; Theo can take Tuesday morning.” B11 — “Vanilla cups are easy. Slushies spill in the current container; product team needs alternate lid.” B12 — “Jules: make the drone payload limit visible in ordering flow. Limit still TBD.” B13 — “Emergency land rule—operator chooses safe clear area, then calls dispatch. Need training sign-off owner.” B14 — “Nora confirms dry ice is not going in the pod. Use powered cooling only.” B15 — “Start with 2 drones, not 6. Finance approved two for pilot.” B16 — “Nina heard lifeguards want a radio contact, not a phone-only number. Confirm with chief.” B17 — “Weather: wind cutoff needs engineering number. We cannot say ‘light breeze.’” B18 — “Sam says geofence demo passed in simulator. Field test not scheduled.” B19 — “No alcohol in phase one. Put it in catalog rules.” B20 — “The beach cleanup crew needs to know landing times; probably Theo’s relationship, verify.” B21 — “Customer refunds if item arrives melted? Decision deferred until insurance review.” B22 — “Use reusable pod liners if sanitation says yes. No sign-off yet.” B23 — “Jules asked for power draw on the cooling unit by Wednesday; Nora said she can measure it.” B24 — “Launch date is NOT Memorial Day. That was a joke from Sam. No date selected.”