How does approval authority map onto environment state and tool actions?
Authority logic fits an environment as linked tables for people, roles, rules, delegations and requests, plus read and write tool actions, with policy checking kept separate from the tools.
Authority logic fits an environment as a small set of linked tables plus a few tool actions that read and change them.
**State entities**
- `person` and `role`, linked through `role_assignment` with `start_date` and `end_date`. - `authority_rule` with `role_id`, `action_type`, `amount_max`, `risk_class_max`, `period_cap` and `effective_from`. - `delegation` with `from_person_id`, `to_person_id`, `scope`, `valid_from` and `valid_to`. - `request` with `request_id`, `requester_id`, `amount`, `risk_class`, `status` and `current_assignee_id`. - `decision_log` with `request_id`, `actor_id`, `action`, `timestamp` and `rule_id_applied`.
**Tool actions**
- `get_request(request_id)` and `get_authority(person_id, at_time)` return state. - `approve(request_id, actor_id, comment)`, `reject(...)`, `escalate(request_id, to_person_id, reason)` and `request_info(...)` change it.
Design the environment so `approve` does not validate authority itself. The tool writes the decision and lets a separate policy checker, run after the step, label it valid or invalid. This keeps the temptation to take invalid actions realistic and lets you score the agent on what it chose.
Keep a simulated clock as state, because delegation windows and period caps depend on it. Expose it through a `now()` tool or a field on each observation.
All records are generated, so the schema can be adapted to your engine in a pilot; ask for field names and key relationships to match what your environment already uses.
Keep the approve tool permissive and run a separate policy checker, so invalid actions stay possible and scoreable.
- Audience:
- Environment builders
- Content type:
- Integration
- Buyer question:
- What it is and why it matters
Content release: r-a220eb6e099b243b
Related questions
- What does delegated approval look like in a business, and why does it matter for agents?
- What goes wrong when an agent routes a fee waiver to a lapsed delegate?
- How can I tell if our approval process suits agent training or evaluation?
- Where does an agent sit in a connected approval chain, and what can it call?
- Why isn't a written approval policy enough to train an agent?
- Why does approval authority matter in simulated business environments?