Skip to content

Tracking: subagent lifecycle PRs (#579 → #576 → #580 → #581) — merge order, conflict map, rebase plan #583

Description

@changer-changer

Summary

Four currently-open PRs from me form one coordinated subagent lifecycle roadmap. They are semantically orthogonal features, but they all extend the same agent-core plumbing (PilotDeckSubagentForkApi, SubAgentSession, AgentLoop), so they overlap textually and need an explicit merge sequence. This issue tracks the proposed order, the measured conflict map, and the rebase/validation plan, so maintainers can sequence reviews instead of discovering conflicts one merge at a time.

PR Feature Size
#579 Expose subagent execution timeout in settings +88 / 6 files (UI only)
#576 Configure subagent roles and model bindings +4283 / 49 files
#580 Continue completed subagent tasks (task_id) +2152 / 17 files
#581 Run subagents in the background (run_in_background) +2109 / 21 files

Measured conflict map

Actual test merges (pairwise, each PR merged on top of the other; base 97633a0):

#576 #579 #580 #581
#576 1 file (UI types) 4 core files 3 core files
#579 clean clean
#580 1 core file (agent.ts)
#581

Core files involved: AgentLoop.ts, SubAgentSession.ts, agent.ts, AgentRuntimeDependencies.ts, tool/protocol/types.ts; the only UI overlap is modelPool/types/index.ts between #576 and #579.

Against current main (e5bfb3fe): #576, #579, #580 merge cleanly. #581 has a single-file conflict in AgentLoop.ts caused by recent upstream movement in that region — I will rebase that branch (see checklist).

All conflicts are in additive extensions of the same types/fork-API entry points; each resolution is small. #580 + #581 are additionally validated merged together on an integration branch in my fork (work/subagent-lifecycle-integration) with both test suites re-run.

Proposed merge order

#579#576#580#581

Rationale:

  1. feat(settings): expose subagent execution timeout #579 is the smallest, UI-only, and clean against everything except one shared UI file with feat(agent): configure subagent roles and model bindings #576 — a fast first merge.
  2. feat(agent): configure subagent roles and model bindings #576 is the foundation the later two conceptually build on (role catalog, model binding, fork-API plumbing) and is clean against current main.
  3. feat(agent): continue completed subagent tasks #580 next; its rebase after feat(agent): configure subagent roles and model bindings #576 is the largest (4 files) but the changes are orthogonal in intent.
  4. feat(agent): run subagents in the background #581 last; it needs a small rebase against current main regardless, and the feat(agent): continue completed subagent tasks #580+feat(agent): run subagents in the background #581 combination is already validated together.

Any other order works too — I will rebase the remaining branches onto main after each merge and re-run the targeted test suites (agent/subagent specs + settings UI specs) before updating the PRs.

Checklist

Happy to re-sequence if maintainers prefer a different order or want some of these consolidated.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions