Rules that must be exact, like prices, availability and who gets booked, live in plain tested code. The model only handles the conversation. I work this way at my day job, where I built a document generator with a deterministic core, an LLM writing layer and 170 automated tests.