Route one phone number among isolated sales, support, and billing AI personas, each with access only to its own tools.
contextsgovernance
The claim
Contexts do two jobs here. isolated: true on a persona context means, per the bundled schema, that entering it “resets conversation history to only the system prompt”. The support desk does not inherit what the caller told sales. functions on each persona’s step names only that desk’s tool. All three tools stay registered under SWAIG.functions. The step decides which one the platform offers the model on a given turn, and a step is not a security boundary. The default context’s step names no tools and lists the three personas in valid_contexts. The schema requires a context by that name.
Why it holds
The contexts reference documents contexts and steps; isolated is the context field the schema adds for the wipe.
What the platform receives for the support persona, trimmed:
{"support": {"isolated": true,
"pom": [{"title": "Role", "body": "You are the workshop support desk ..."}],
"steps": [{"name": "help", "functions": ["book_repair"],
"valid_contexts": ["default"], "end": true, ...}]}}
The platform offers the model a change_context tool, and valid_contexts limits it to the names listed. Entering support wipes the history, and the step offers book_repair alone. That step’s functions omits quote_price and look_up_invoice, so the platform does not offer them there.
Limitations
A step is not a security boundary. functions shapes which tools the platform offers the model; a handler that must not run for the wrong desk checks state itself.
Isolation wipes what the caller already said, per the schema’s description of isolated. You carry what the next desk needs to know some other way.
The three tools are stubs with fixed replies, which the verifier asserts.
What to change first
Add "quote_price" to the support step’s functions and run the verifier. The cross-persona assertion fails first, because the support step now names another persona’s tool. What a desk offers is exactly the list on its step, and nothing else decides it.