An auditable support console where code owns the workflow and the model owns the judgments.
Most agent systems let a language model decide what happens next, and hope an open-ended prompt won't loop, make something up, or leak a customer's data.
For support tickets that's the wrong trade. Every decision has to be explainable to the person who gets the reply, and to the operator who has to trust it.
Invert it. State machines, routing gates and handlers are ordinary, testable Python. The model is only asked narrow questions: which route, how urgent, is this spam, does it contain personal data, is this memory relevant, is this reply supported.
Every answer comes back typed, with a confidence score, so each step can be gated, logged and audited.
Five realistic tickets from the demo script, and where the pipeline sent each one.
python sandbox/run_demo.pyThe biggest lesson was that reliable agent systems need a hard boundary between workflow control and model judgment. Keeping routing, policy gates and handlers in ordinary typed code made the system easier to test, inspect and change than an open-ended prompt would have been. I also learned that tenant ownership and evidence checks have to be enforced by the pipeline, not left to the model.
Next: Add more real support-system integrations and give operators a clearer view of each judgment, policy gate and evidence trail.