copilot: don't create phantom sessions for subagent turns
Commit

Copilot fires the per-turn/session lifecycle hooks for subagent turns too, reusing the Task tool-use id (e.g. "toolu_…") as the sessionId. That spun up a second top-level Entire session which never received a matching stop (subagent-stop carries the main session id), so it stayed "active" forever and pinned its shadow branch open. After a user commit, the branch was preserved instead of cleaned up — TestSubagentCommitFlow then failed on WaitForNoShadowBranches with a leaked entire/<hash> branch.
Drop the session-lifecycle hooks (user-prompt-submitted, session-start, agent-stop, session-end) when the sessionId is a subagent tool-use id; real Copilot session ids are UUIDs so the "toolu_" prefix is an unambiguous marker. subagent-stop is left untouched (it carries the main id and drives the task-checkpoint path), so the subagent's work is still captured via the main session.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: 6f827f344654