Request Triage
DEPL_2026.09.06An LLM splits a free-text request and says what is in it. It never picks the action — a rule table does, and the row that decided is written into the audit record.
What It Does
Internal teams file free-text asks into one inbox — access, data pulls, policy questions, bugs, purchases. One message goes in, one auditable record comes out.
Code masks the obvious PII first. Then a single Claude call splits the message into separate asks and reports what each one is: the intent, and the fields that intent needs. That is the whole of the model's job.
Everything after is plain Python. Prices are annualised and totalled before anything reads them. The intent picks one of seven tables, the reported fields pick a row, first match wins, and the row carries the action, the target team and who has to approve. 33 rows, all in one file. Nothing that grants access runs without passing the approval gate.
Flow Diagrams
One box per step. The model sits near the top and only reports; every box that decides something is below it and is ordinary code.
The access table, the largest of the seven. Both identity checks run before any tier is read. A condition further down is only reached once everything above it has failed to match.
Route files a masked ticket. Escalate writes out what a human would be asked. A grant goes through the approval gate or it does not happen.