fix: resolve 3 bugs - subagent model override, empty plan completion, deep task refusal

- #2741: Pass inheritedModel as fallback in subagent-resolver when user hasn't
  configured an override, ensuring custom provider models take priority
- #2648: Fix getPlanProgress to treat plans with 0 checkboxes as incomplete
  instead of complete (total > 0 && completed === total)
- #2779: Relax Hephaestus single-task guard to accept multi-step sub-tasks
  from Atlas delegation, only rejecting genuinely independent tasks

Fixes #2741, fixes #2648, fixes #2779
This commit is contained in:
YeonGyu-Kim
2026-03-24 09:45:11 +09:00
parent 10e56badb3
commit 230ce835e5
11 changed files with 81 additions and 23 deletions
+6 -2
View File
@@ -135,7 +135,9 @@ export async function startTask(
promptWithModelSuggestionRetry(client, {
path: { id: sessionID },
body: {
agent: input.agent,
// When a model is explicitly provided, omit the agent name so opencode's
// built-in agent fallback chain does not override the user-specified model.
...(launchModel ? {} : { agent: input.agent }),
...(launchModel ? { model: launchModel } : {}),
...(launchVariant ? { variant: launchVariant } : {}),
system: input.skillContent,
@@ -220,7 +222,9 @@ export async function resumeTask(
client.session.promptAsync({
path: { id: task.sessionID },
body: {
agent: task.agent,
// When a model is explicitly provided, omit the agent name so opencode's
// built-in agent fallback chain does not override the user-specified model.
...(resumeModel ? {} : { agent: task.agent }),
...(resumeModel ? { model: resumeModel } : {}),
...(resumeVariant ? { variant: resumeVariant } : {}),
tools: {