Skip to content

Remove deprecated task spawn tool - #745

Merged
TheGreatAxios merged 5 commits into
mainfrom
cl-7081-unmount-and-delete-task-spawn_agent-wait_agents-is-the-only
Sep 1, 2026
Merged

Remove deprecated task spawn tool#745
TheGreatAxios merged 5 commits into
mainfrom
cl-7081-unmount-and-delete-task-spawn_agent-wait_agents-is-the-only

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • Removes the deprecated callable task spawn surface so workers dispatch through spawn_agent and wait_agents only.
  • Moves local and plugin agent profile dispatch onto spawn_agent(agent=...) so search_agents results remain usable.
  • Updates prompts, docs, skills, TUI rendering, telemetry, and capability evals for the split fleet path.

Verification

  • \bun test v1.3.14 (0d9b296a) passes

  • \ passes

  • \ passes

  • \Bundled 984 modules in 112ms

    index.js 4.76 MB (entry point)
    highlights-ghv9g403.scm 2.86 KB (asset)
    tree-sitter-javascript-nd0q4pe9.wasm 0.41 MB (asset)
    highlights-eq9cgrbb.scm 9.83 KB (asset)
    tree-sitter-typescript-zxjzwt75.wasm 1.41 MB (asset)
    highlights-r812a2qc.scm 3.44 KB (asset)
    tree-sitter-markdown-411r6y9b.wasm 0.42 MB (asset)
    injections-73j83es3.scm 0.82 KB (asset)
    highlights-x6tmsnaa.scm 2.15 KB (asset)
    tree-sitter-markdown_inline-j5349f42.wasm 0.43 MB (asset)
    highlights-hk7bwhj4.scm 3.48 KB (asset)
    tree-sitter-zig-e78zbjpm.wasm 0.69 MB (asset)
    parser.worker-m4xh6kys.js 172.51 KB (asset)
    tree-sitter-3jzf13jk.wasm 205.49 KB (asset) passes

  • \bun test v1.3.14 (0d9b296a)
    rate=15/s [
    [ "we " ], [ "we need" ], [ "we need to chec" ], [ "we need to check wheth" ]
    ]
    rate=20/s [
    [ "we n" ], [ "we need to" ], [ "we need to check whe" ], [ "we need to check whether the c" ]
    ]
    rate=28/s [
    [ "we ne" ], [ "we need to che" ], [ "we need to check whether the" ], [ "we need to check whether the",
    "cache key alr"
    ]
    ]
    rate=40/s [
    [ "we need " ], [ "we need to check whe" ], [ "we need to check whether the", "cache key a" ], [ "we need to check whether the", "cache key already accounts for", "" ]
    ]
    rate=60/s [
    [ "we need to c" ], [ "we need to check whether the c" ], [ "we need to check whether the",
    "cache key already accounts for", ""
    ], [ "we need to check whether the", "cache key already accounts for", "the locale" ]
    ]
    lifecycleStatus: completed retained: false
    resumeOne outcome: {"ok":false,"status":"completed"}
    cancelAll returned: [] | close invoked: true
    sessions retained despite maxRetained=3: 3 passes with 5662 pass / 0 fail

Fixes CL-7081

@linear-code

linear-code Bot commented Aug 31, 2026

Copy link
Copy Markdown

CL-7081

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

greybeard · comment
This branch removes the deprecated fused task spawn surface and routes dispatch through spawn_agent plus wait_agents only.

No path:line findings. Approach matches the issue constraints: no compatibility alias, no re-fused wait path, and local/plugin agent profile dispatch remains reachable via spawn_agent(agent=...).

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critic · comment
This branch removes the deprecated task tool and updates prompts, tests, docs, telemetry, and eval fixtures for the split fleet contract.

No path:line findings. The follow-up prompt fix includes description in the spawn_agent example and removes the nested search_agents recommendation from the orchestrator appendix.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7081-unmount-and-delete-task-spawn_agent-wait_agents-is-the-only branch from dec1b7f to 967e9d3 Compare August 31, 2026 22:07

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

primary · would request changes
This branch removes the deprecated task wrapper and makes spawn_agent plus wait_agents the only fleet spawn path.

Findings:

  • src/subagent/agent-fleet.ts:926 removes the old long-lived subagent PerfTrace producer. spawn_agent now fires deps.run(params) asynchronously and returns immediately, but nothing opens/closes a subagent span around that promise. The deleted src/perf/permission-subagent-spans.test.ts cases were the only coverage proving completed/failed/worktree-setup-failed workers emitted and closed subagent spans nested under the current turn; meanwhile src/perf/index.ts:89 still advertises subagent as a phase and attribution reports still bucket it. PerfTrace now loses child wall-time attribution for fleet work. Please move equivalent start("subagent")/end(...) coverage to the split spawn_agent path or intentionally remove the phase/reporting contract.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7081-unmount-and-delete-task-spawn_agent-wait_agents-is-the-only branch from 4e3e041 to 0135406 Compare September 1, 2026 04:15
The fused task wrapper is gone, so wait_agents is a long-lived parent
tool and spawn_agent progress lasts the worker lifetime. Exec overlay
tests now pin that mountFleet:false drops fleet verbs, not merely the
old task name.
@TheGreatAxios
TheGreatAxios force-pushed the cl-7081-unmount-and-delete-task-spawn_agent-wait_agents-is-the-only branch from 0135406 to 2922074 Compare September 1, 2026 04:50
resume_agent marks the followup in flight before the session flips off
completed, so the first wait_agents collect could return the prior
stamp. Treat in-flight completed and interrupted as wait-running, and
omit a leftover report from a failed wait result.
Soft interrupt leaves the run in flight, and wait status treats
interrupted+inFlight as running so resume cannot collect a stale stamp.
Flip the wait mailbox overlay from interrupt_agent (same as send_input
interrupt:true) so wait returns interrupted without waiting for settle.
@TheGreatAxios
TheGreatAxios merged commit 3c47902 into main Sep 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant