EnterWorktree called by a teammate moves the lead and every other in-process teammate
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- developer-experience, tooling
Línea de trabajo
Empieza leyendo el filtro de herramientas para teammate en src/tools/AgentTool/agentToolUtils.ts y la lista de herramientas permitidas en src/constants/tools.ts. Añade una prueba que ejecute el filtro de teammate y compruebe que EnterWorktree y ExitWorktree están ausentes; después, actualiza la lista de herramientas permitidas para que la prueba pase. El issue indica que la prueba falla actualmente en main; se considera terminado cuando ambas herramientas quedan excluidas para los teammates en proceso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
In-process teammates share one process with the lead. When one teammate calls EnterWorktree, the lead and all other teammates in that process switch to its worktree too.
Cause
EnterWorktreechanges process-wide state:process.chdir,setCwdandsetOriginalCwd(src/tools/EnterWorktreeTool/EnterWorktreeTool.ts:94-96).- Teammates are allowed to call it:
ENTER_WORKTREE_TOOL_NAMEandEXIT_WORKTREE_TOOL_NAMEare inASYNC_AGENT_ALLOWED_TOOLS(src/constants/tools.ts:69-70), which is the tool filter for async agents and in-process teammates (src/tools/AgentTool/agentToolUtils.ts:100). - Per-agent working directories exist only through
runWithCwdOverride(src/utils/cwd.ts), which ordinary subagents use and teammates do not.
Example
- The lead creates a team with teammates A and B in the same process.
- A calls
EnterWorktree. - The lead's and B's next file reads and writes, Bash commands and permission checks (anything that reads
getCwd()orgetOriginalCwd()) run in A's worktree. Edits meant for the user's project land in A's worktree, and the other way round.
Proposed fix
- Short term: remove
EnterWorktreeandExitWorktreefrom the tools in-process teammates get. - Later, if teammates should have their own worktrees: make the working directory per teammate by wrapping the teammate's run (
runWithTeammateContextinsrc/utils/swarm/inProcessRunner.ts) inrunWithCwdOverride, and record the path in the team file'sworktreePathso the UI can show it. That belongs to #166, which is on hold.
Tests
A test that runs a teammate's tool filter and asserts EnterWorktree and ExitWorktree are absent; it fails on current main.
Part of #162.
- Lenguaje dominante
- TypeScript
- Estrellas
- 490
- Forks
- 47
- Merge medio
- 10 h 40 min
- PR fusionados (30 d)
- 83
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de GoDiao/dreamcoder
-
[good first issue] UX polish — friendlier copy for error toasts and empty statesPosiblemente ocupada @iamcipherdev la tomó hace 15 días. Abiertoarea:i18n area:ux difficulty:1 good first issue mentor-available
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
GoDiao/dreamcoder#9 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Add more provider presets (Groq / OpenRouter / SiliconFlow / etc.)Quizá libre de nuevo @01iamysf la tomó hace 22 días y no hay ningún pull request abierto. Abiertoarea:desktop area:provider difficulty:1 good first issue mentor-available
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
GoDiao/dreamcoder#6 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
area:desktop area:ux difficulty:2 enhancement help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
GoDiao/dreamcoder#218 ·
Los mantenedores suelen responder en 1 día
-
Deleted session can linger in the sidebar and later deletes fail silentlyPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea:desktop bug difficulty:2 help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
GoDiao/dreamcoder#217 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
GoDiao/dreamcoder#216 ·
Los mantenedores suelen responder en 1 día
Todos los issues de GoDiao/dreamcoder
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
excaliburjs/Excalibur#3895 ·
Los mantenedores suelen responder en 3 días
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedPosiblemente ocupada @Steve-20-ai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Earn report crashes with "RangeError: Invalid time value" when a report row has an unparsable timestampPosiblemente ocupada @Gurkaran18 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
joinmarket-webui/jam#1588 ·
Los mantenedores suelen responder en 3 días
-
BeOS .json missingAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
mihaip/infinite-mac#475 ·