Design: docs/supervision.md. Companion to #183. Security-critical.
The risk
Under configurable multi-layer supervision (#183), if a subordinate executed with its supervisor's tools — or with the union of both — then supervision becomes a consent bypass: wire a low-trust agent beneath a high-trust one and it inherits reach it was never granted.
The platform has a real consent boundary today (write-consent gate, migration 0051; capabilities.tools allowlist gating via toolNamesFor). Multi-layer delegation is a new path that could route straight around it, and it would do so by configuration — no code change, no review.
The rule
A delegation carries the owner's authority plus a goal. It lends nothing else.
- A subordinate executes with its own consent-gated tools and its own guardrails — never the supervisor's, never a union.
- Both instances already belong to the same owner (as
agent_connections enforces); that ownership is the authority, not the supervisor's tool grants.
- A supervisor cannot widen a subordinate's reach by delegating to it, and cannot borrow a subordinate's reach by delegating through it.
This is the same boundary #142 draws for creators declaring runtime/workflow capabilities.
Scope
- Explicit non-inheritance at the delegation boundary: the subordinate's tool resolution ignores the supervisor entirely.
- Consent checks evaluate against the executing instance, not the originating one.
- Tests as the contract: a supervisor with a write-consented connector delegating to a subordinate without it must not enable the write.
- Audit: the trace records which instance's authority each tool call ran under.
Acceptance
- A subordinate cannot perform an action it lacks consent for, regardless of its supervisor's grants.
- A supervisor cannot reach a connector it lacks consent for by delegating to a subordinate that has it.
- Trace attributes every tool call to the instance whose authority ran it.
- Tests cover both escalation directions (down-lending and up-borrowing).
Design:
docs/supervision.md. Companion to #183. Security-critical.The risk
Under configurable multi-layer supervision (#183), if a subordinate executed with its supervisor's tools — or with the union of both — then supervision becomes a consent bypass: wire a low-trust agent beneath a high-trust one and it inherits reach it was never granted.
The platform has a real consent boundary today (write-consent gate, migration 0051;
capabilities.toolsallowlist gating viatoolNamesFor). Multi-layer delegation is a new path that could route straight around it, and it would do so by configuration — no code change, no review.The rule
A delegation carries the owner's authority plus a goal. It lends nothing else.
agent_connectionsenforces); that ownership is the authority, not the supervisor's tool grants.This is the same boundary #142 draws for creators declaring
runtime/workflowcapabilities.Scope
Acceptance