154b2a39fb
Worktree, container, and sandbox IDs now flow uniformly from a persisted TaskEnvironment back into LaunchAgentRequest through a single helper. This gives Sprites session-to-session reuse the same first-class treatment that Docker already gained from the GitHub-token-injection PR, and lets a fallback launch refresh the environment row instead of leaving stale IDs in the DB. - applyExistingEnvironment propagates WorktreeID, ContainerID (via metadata), and SandboxID (as sprite_name metadata) onto the launch request - persistTaskEnvironment refreshes those IDs when the executor ends up creating new resources (e.g. the previous container was pruned) - extractSandboxID lifts the sprite identifier out of executor response metadata so it can be persisted on the TaskEnvironment row