Narrow workflow selector

Enable only for testing with AI_JEV_FLOW_SELECTOR=active. Legacy AI_JEV_ROUTING_MODE is bypassed when this is active; the benchmark sets AI_TICKET_JEV_MODE=off too. Default behavior is unchanged when this flag is absent.

Jev chooses tickets, SPEX, personalized agenda or information; uncertainty keeps existing routing. It sees the current message, up to three exchanges and current page. Active flows use a continue/switch/side-question choice; routine yes, email and quantity replies skip the model. This choice cannot authorize submission.

The current workflow is stored by chat ID and event in ai_workflow_sessions using the existing Turso client, with a one-hour expiry. A bounded local-memory fallback is used when Turso is not configured. Local memory alone does not persist across workers/restarts. The existing cancellation handler and successful handoff callback clear state; unsuccessful delivery retains it. No browser controls or response-stream format changes.

The existing qualification, consent and sending functions remain. Routing selects which workflow applies to this turn, narrows unrelated workflow tools, and lets factual side questions bypass qualification while preserving active state.

Live checks verified independent sessions, event scope, cancellation/completion cleanup, and failed-delivery retention. Fourteen direct destination probes passed. See report.md for end-to-end results and remaining existing workflow defects.