Repository navigation
DescriptionEnvironment
SummaryWhen switching an agent session from the built-in Root cause (tentative)The custom preset mounts the The shipped - id: delegation
name: cordis:group
group: true
isolate:
workflowEngine: true
config:
- id: tool-subagent-control
name: '@deepseek-ai/dsh-tool-subagent-control'
- id: tool-subagent-list-agents
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
- id: tool-subagent
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: spawn
toolName: subagent
modelSelectionSettings: true
backgroundMode: continuable
# ... fork, codex, claude-code, workflow, ralph ...The custom preset instead mounts it directly: - id: tool-subagent
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: spawn
toolName: subagent
modelSelectionSettings: true
backgroundMode: continuable
- id: tool-subagent-control
name: '@deepseek-ai/dsh-tool-subagent-control'
- id: tool-subagent-list-agents
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'The
And in the delegation section:
So the hypothesis is: mounting Expected behaviorA custom preset modeled on Steps to reproduce
ImpactMulti-agent orchestrator flows that delegate through nested Possible improvements
|
Replies: 2 comments
Update / follow-up — possible core-side improvement (fail-closed on preset mount failure)After digging into the shipped runtime ( i.e. What we observed at the session level, however, is different: the session starts and runs normally, but the tool list is simply missing Request for the team: please confirm (or fix) the behavior so that a preset that fails to mount is surfaced fail-closed to the user when they select/apply it, rather than silently producing a session that runs without the missing tool. Concretely:
This keeps the |
|
Your tentative root cause is correct, and here is the shipped shape it should match.
- id: delegation
name: cordis:group
group: true
isolate:
workflowEngine: true
config:
- id: tool-subagent-control
name: '@deepseek-ai/dsh-tool-subagent-control'
- id: tool-subagent-list-agents
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
- id: tool-subagent
name: '@deepseek-ai/dsh-tool-subagent'(then Why mounting outside the group loses the capability rather than raising a visible error. The registry enforces a realm invariant for preset services, in two places: and The fix is a copy: wrap your delegation rows in the same On your follow-up: the registry already contains an activation failure rather than letting it escape - Boundary: read from the committed tree at |
Your tentative root cause is correct, and here is the shipped shape it should match.
packages/bundle/web-app/presets/standard.patch.yml:80-91mounts exactly what you describe - the delegation toolset inside a group that carries the realm:(then
tool-subagent-fork,-codex,-claude-code, ... as further rows in the same group). Theisolatekey m…