We ended up building a strict stae machine for complaint status-New, Analyzed, Assigned, In Progress, Awaiting Customer, Escalated, Resolved, Closed, Reopened to jump a complaint straight from “New’ to “Closed” without it ever being looked at, just by hitting the API directly instead of going through the UI. That’s not a language model problem. That’s just software that needs guardrails, and it was a good reminder that an AI feature doesn’t excuse you fom ordinary engineering discipline The reviewer workflow came out of a similar realization. Early versions of the system would correctly flag a complaint as “ needs a human,” and then nothing. The complaint just sat there with a flag on it and no actual path for a persion to act on it. So we built an audit trail that keeps three separate values for every reviewed case: what the AI originally said, what the rule-basd validator independently determined, and what the human reviewer overrides both machine answrs. That felt important for a reason that’s more about trust than about technology. If something goes wrong six months from now, whoever’s investigating shouldn’t have to take our word for what happened. The record should just show it.