2850086db0
* fix(worktree): export executor-profile env into repo setup script Executor-profile environment variables (with secrets revealed) were merged into the launch request env and reached the agent subprocess, but the repository setup script — run inside worktree.Manager.Create, where `npm install` typically runs — was built with only the install-managed env (GOCACHE). The profile env was never injected, so tokens like an npm auth token were unavailable during install. This affected both single-repo and multi-repo tasks, since both run their setup script through Create. Thread the resolved profile env into the setup script at the point both paths converge: add CreateRequest.ScriptEnv (transient, never persisted so secrets stay out of the DB), set it from req.Env in buildWorktreeCreateRequest (used by single-repo and per-repo in multi-repo), and merge it over the managed env in runWorktreeSetupScript. Managed GOCACHE keeps precedence. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(worktree): avoid overflow-flagged alloc size, clarify env precedence Address PR review: drop the len(a)+len(b) capacity hint in mergeScriptEnv (CodeQL flagged the addition as a possible allocation-size overflow) and reword the ScriptEnv doc comment to state that install-managed values such as GOCACHE take precedence over profile values on key collisions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test(worktree): round out mergeScriptEnv edge cases Add profile-only and managed-only assertions to TestMergeScriptEnv per PR review, making the table exhaustive alongside the existing (nil,nil) and (profile+managed) cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Kandev Agent <agent@kandev.dev> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>