Summary
Add named delegation capability profiles for delegate_task so subagents can be scoped by policy instead of ad hoc toolset choices.
Why
Right now subagent policy is coarse:
- child tool access is mostly toolset-based
- children either skip memory entirely or inherit too much runtime behavior implicitly
- there is no clean way to bundle memory policy and terminal backend selection into a named preset
That makes it hard to give Hermes a safe default child profile and a more trusted profile for stronger tasks.
Proposed shape
Add delegation.default_profile plus delegation.profiles in config, and allow delegate_task(profile=...).
A profile should be able to define:
- default child toolsets
- memory access mode:
none, read, or write
- whether external memory-provider tools are exposed
- terminal overrides like backend/image/cwd
Built-in profiles could cover the common cases:
restricted: minimal tools, no memory writes
friendly: read-only memory context
privileged: write-capable memory for trusted child agents
Notes
This should also harden delegated tool scoping to work on resolved tools instead of exact toolset-name intersection, which helps with dynamic MCP toolsets and umbrella toolsets.
Summary
Add named delegation capability profiles for
delegate_taskso subagents can be scoped by policy instead of ad hoc toolset choices.Why
Right now subagent policy is coarse:
That makes it hard to give Hermes a safe default child profile and a more trusted profile for stronger tasks.
Proposed shape
Add
delegation.default_profileplusdelegation.profilesin config, and allowdelegate_task(profile=...).A profile should be able to define:
none,read, orwriteBuilt-in profiles could cover the common cases:
restricted: minimal tools, no memory writesfriendly: read-only memory contextprivileged: write-capable memory for trusted child agentsNotes
This should also harden delegated tool scoping to work on resolved tools instead of exact toolset-name intersection, which helps with dynamic MCP toolsets and umbrella toolsets.