The AI workforce
Ten agents that are people in the data model, act only through a permission-checked tool registry, and hand anything consequential to a named human.
Agents are people
Each agent has a row in people with a first name and a job title — Document Control, Reporting, Closeout, and so on — and an agent relationship to the organization. That is what makes their work auditable on the same terms as a human's: the same events, the same attribution, the same access checks. They hold no credentials and claim none; a database constraint forbids it.
Tools, risk, approval
An agent reasons with a language model but acts only by calling a tool from a registry. Each tool carries a risk level — low, medium, high — and each organization's policy can tighten which tools an agent may use. High-risk tools always route to the approval queue: the action is written as a proposal, a person approves, refuses or edits it, and only then does the same handler run. The runtime refuses to unlock high-risk autonomy regardless of policy.
Agents wake on events (a document arrives, a case stalls) and on a daily sweep. Every run records its inputs, the tool calls, their results and the approval that gated them. The activity log shows, per line, who drafted and who decided.
- Provider
- Gemini today, behind one interface; Anthropic and OpenAI-compatible endpoints are supported by configuration. The provider receives the text of that draft and nothing else.
- Removable
- The workforce is a non-core module. Drop it and the quality platform runs without it; the shell asks the database whether it is present.
- Visible
- Anything an agent drafted carries an 'assisted' tag naming the agent and the person who decided.
- · db/008, db/027, db/076, db/077
- · test/agents.test.mjs, test/approvals.test.mjs, test/enterprise.test.mjs, test/agents-oversight.test.mjs
- · /workforce in the product — the activity log
File names refer to the codebase. A customer under agreement can be walked through any of them.