How it works
One request, one role, a small set of extras.
1. Route
The first message of a conversation goes to route_and_load. The server ranks the available personas and returns candidates, or a ready bundle when the choice is clear.
2. Load
get_agent_context returns four blocks: the persona prompt, always-on rules, relevant skills and optional reasoning implants. The client applies them as the active role and keeps a descriptor of what is loaded.
3. Keep, switch or refresh
Follow-up messages inside the same role need no server calls. A new specialisation switches the role; a task that needs more skills refreshes the same role. Each new bundle replaces the previous one instead of piling up.
4. Delegate
When work is handed to a subagent, the server prepares a compact package with the task, acceptance criteria and result schema. The result comes back as structured JSON and is validated before the parent accepts it.
5. Log
Every answer is logged with its attribution, so you can see which role, skills and rules produced it.
Deployment
Standalone stdio process, or a shared HTTP daemon bound to the loopback interface on one machine. The daemon is not designed to be exposed to the internet.