Bug Description
Sisyphus prompting currently instructs the orchestrator to call task(subagent_type="plan", ...) for multi-step work, but plan is not a guaranteed built-in planner agent.
From the current source:
src/agents/sisyphus/gpt-5-4.ts tells Sisyphus to consult task(subagent_type="plan", ...) for 2+ step work.
src/agents/dynamic-agent-core-sections.ts repeats the same guidance for non-Claude models.
- The actual planner agent is
prometheus (Prometheus - Plan Builder), not plan.
plan is only injected as a hidden subagent alias when planner_enabled && replace_plan is true in agent-config-handler.ts.
This means the prompt can direct Sisyphus to a subagent that does not exist in valid configurations, which leads to runtime delegation failures.
There is also a second consistency issue: even when the hidden plan alias is injected, it inherits model settings from prometheus but does not inherit the Prometheus prompt, so the planner behavior is still split across two different prompt systems.
Steps to Reproduce
- Use a config where Sisyphus is enabled, but
sisyphus_agent.replace_plan is false (or sisyphus_agent.planner_enabled is false).
- Trigger a Sisyphus prompt path that uses the GPT/native dynamic planning instructions.
- Ask for a multi-step implementation task.
- Sisyphus is instructed to call
task(subagent_type="plan", ...).
plan is not injected in this configuration, so delegation can fail with an agent-not-found/unavailable-plan style error.
Expected Behavior
One of these should be true, consistently:
- Sisyphus should delegate to
prometheus directly, since that is the real planner.
- Or
plan should be guaranteed to exist whenever the prompt references it.
- Or
plan should be a true alias of Prometheus, including prompt/behavior, not only model inheritance.
At minimum, the prompt should not reference plan unless the runtime guarantees that plan exists.
Actual Behavior
The prompt layer and runtime agent topology are out of sync:
- prompt says: use
plan
- actual planner identity says:
prometheus
- runtime only conditionally injects hidden
plan
- hidden
plan does not inherit the Prometheus prompt
So the system can either:
- fail at runtime because
plan is missing, or
- succeed via a hidden
plan alias that does not actually run the full Prometheus planner prompt.
Doctor Output
oMoMoMoMo Doctor
⚠ 1 issue found:
1. Loaded plugin is outdated
Loaded 3.17.1, latest 3.17.4.
Fix: Update: cd "/Users/enoch/.cache/opencode" && bun add oh-my-opencode@latest
Affects: plugin features
Note: the bug report above is based on inspection of the current repository source on the dev branch, not only local installed plugin behavior.
Error Logs
If helpful, I can provide a runtime repro log as a follow-up, but the source-level mismatch already appears sufficient to demonstrate the bug.
Configuration
{
"sisyphus_agent": {
"planner_enabled": true,
"replace_plan": false
}
}
Additional Context
Relevant source references from current dev branch:
src/agents/sisyphus/gpt-5-4.ts:290
src/agents/dynamic-agent-core-sections.ts:184
src/agents/AGENTS.md:22
src/shared/agent-display-names.ts:15
src/plugin-handlers/agent-config-handler.ts:193-195
src/plugin-handlers/agent-config-handler.ts:276-333
src/plugin-handlers/plan-model-inheritance.ts:13-26
src/plugin-handlers/config-handler.test.ts:379-415
src/tools/delegate-task/tools.test.ts:3284-3297
Operating System
macOS
OpenCode Version
Unknown from this local check
Bug Description
Sisyphus prompting currently instructs the orchestrator to call
task(subagent_type="plan", ...)for multi-step work, butplanis not a guaranteed built-in planner agent.From the current source:
src/agents/sisyphus/gpt-5-4.tstells Sisyphus to consulttask(subagent_type="plan", ...)for 2+ step work.src/agents/dynamic-agent-core-sections.tsrepeats the same guidance for non-Claude models.prometheus(Prometheus - Plan Builder), notplan.planis only injected as a hidden subagent alias whenplanner_enabled && replace_planis true inagent-config-handler.ts.This means the prompt can direct Sisyphus to a subagent that does not exist in valid configurations, which leads to runtime delegation failures.
There is also a second consistency issue: even when the hidden
planalias is injected, it inherits model settings fromprometheusbut does not inherit the Prometheus prompt, so the planner behavior is still split across two different prompt systems.Steps to Reproduce
sisyphus_agent.replace_planisfalse(orsisyphus_agent.planner_enabledisfalse).task(subagent_type="plan", ...).planis not injected in this configuration, so delegation can fail with an agent-not-found/unavailable-plan style error.Expected Behavior
One of these should be true, consistently:
prometheusdirectly, since that is the real planner.planshould be guaranteed to exist whenever the prompt references it.planshould be a true alias of Prometheus, including prompt/behavior, not only model inheritance.At minimum, the prompt should not reference
planunless the runtime guarantees thatplanexists.Actual Behavior
The prompt layer and runtime agent topology are out of sync:
planprometheusplanplandoes not inherit the Prometheus promptSo the system can either:
planis missing, orplanalias that does not actually run the full Prometheus planner prompt.Doctor Output
Note: the bug report above is based on inspection of the current repository source on the
devbranch, not only local installed plugin behavior.Error Logs
If helpful, I can provide a runtime repro log as a follow-up, but the source-level mismatch already appears sufficient to demonstrate the bug.
Configuration
{ "sisyphus_agent": { "planner_enabled": true, "replace_plan": false } }Additional Context
Relevant source references from current
devbranch:src/agents/sisyphus/gpt-5-4.ts:290src/agents/dynamic-agent-core-sections.ts:184src/agents/AGENTS.md:22src/shared/agent-display-names.ts:15src/plugin-handlers/agent-config-handler.ts:193-195src/plugin-handlers/agent-config-handler.ts:276-333src/plugin-handlers/plan-model-inheritance.ts:13-26src/plugin-handlers/config-handler.test.ts:379-415src/tools/delegate-task/tools.test.ts:3284-3297Operating System
macOS
OpenCode Version
Unknown from this local check