01
☎️ Test agents that call into a screener
Your agent rarely gets a clean hello anymore. Apple and Google screeners answer first and decide whether to connect, decline, or take a message, and enterprise numbers gate the call with an IVR or an identity check. You can now model any of these as a scripted opening, chain them in front of your improv flows, and run the whole thing end to end.

What's new:
- Screeners as scripted openings: build the front door once (Apple/Google-style "who's calling and why", an IVR menu, an identity check) and link it as the opening for many improv flows. Test the connect path, the decline path, and the take-a-message path as separate branches off the same screener.
- Ask Roark builds the pattern for you: point it at a set of calls that share the same opening and it will split out the scripted screener, link it back to the improv flows, and prompt for the variables at run setup.
- Faithful silence handling: when the screener or IVR expects a pause before its next prompt, the simulator now waits with it instead of speaking early. Fixes the class of run where prompts appeared to play that were never in the test case.
- Clearer step roles in the editor: scripted customer nodes are labeled as Roark's simulated caller, agent nodes as expected responses, and First message is only offered where it belongs.

