The cursor blinked after the paste command. The ops lead checked the time—9:47 p.m.—and closed the laptop. The roster looked balanced on screen. Two families would discover the overlap only when both showed up for the same classroom slot three mornings later.
The volunteer scheduler accepted the list without protest. No duplicate flag fired. The system treated the output as finished work.
Kent Beck’s explore-expand-extract cycle makes the middle step explicit: after you explore possibilities and before you extract a clean deliverable, you must expand the work into every handoff it will touch. In agent workflows the expand phase is where trust checks belong. Skip it and the extraction step simply hides the failure until a real person collides with it.
The Expand Phase That Skipped the Handoff Check
The roster generator had explored dozens of volunteer combinations and scored them for availability and past attendance. That was the explore step. The expand step never happened. No one asked the model to walk through the physical handoff: which key opens which door, which parent needs the extra car seat reminder, which two families cannot share a room because their kids have a documented conflict.
Ministry ops leads already know these constraints live in paper notebooks and whispered hallway conversations. An agent that stops at token-level coherence never sees them. The expand phase forces the model to surface those constraints as structured checks rather than hoping the final list will survive contact with reality.
Teams that treat expand as optional end up with clean JSON and broken Sunday mornings. The double-booked classroom is not an edge case; it is the predictable result of extracting before the handoff logic has been tested.
What Extract Deletes When No One Prints
Once the list reached the scheduling tool, every intermediate reasoning trace disappeared. The extraction step keeps only the final assignments. The reasoning that two families both claimed the blue room at 8:15 a.m. was discarded along with the timestamp of the generation run.
Print-first teams still catch these collisions because the printed sheet carries the implicit history of who wrote it and when. Digital extraction removes that trace. Without an explicit expand-phase log, the only remaining signal is the complaint that arrives Sunday morning.
The cost is not just the scheduling error. It is the erosion of trust between the volunteer who accepted the assignment and the system that generated it. People stop believing the tool when the first visible output contradicts what they know from lived experience.
The Logging Rule That Caught the Double Booking
One team added a single rule inside the expand phase: every generated roster must emit a line-item log of classroom, time, lead volunteer, and backup volunteer, then require a human to confirm no two line items share the same classroom-time pair. The log lives in the same repository as the final schedule.
The rule surfaced the collision before the roster ever reached volunteers. The fix took four minutes of editing instead of an 8:15 a.m. confrontation at the classroom door. The logging step cost almost nothing because it ran during expand rather than after extraction.
Kent Beck’s framework does not promise fewer errors. It promises that errors become visible while the work is still cheap to correct. Ministry contexts simply make the cost of late discovery more obvious than most product teams are willing to measure.
Your Turn: Apply This Today
- Open the prompt that generates your next volunteer or staff roster and insert an explicit expand instruction: “List every classroom-time pair and flag any duplicate before producing the final JSON.”
- Add a one-line logging step that writes each assignment plus its generation timestamp to a shared file the ops lead can open on a phone at 9 p.m.
- Require the human scheduler to reply to the log with a single confirmed or rejected status before the agent is allowed to send any notifications.
- Run the same expand-plus-log pattern on the next three agent workflows you ship, even if they have nothing to do with scheduling.
- Measure the time between generation and first human correction for each workflow; target a reduction from days to minutes.
- Document the single constraint that most often breaks in your context (room conflicts, skill mismatches, family overlaps) and make that constraint a required check inside every expand phase.
The Prioritization That Quietly Dropped Security Reviews showed what happens when extraction speed replaces handoff checks. The Year I Optimized for Tokens Instead of Presence traced the same pattern in a different product surface.
I consult with product leaders and ministry operations teams on agent workflow design, trust logging during the expand phase, and handoff verification that survives real-world use. Let’s talk.

