Verify command timeout is hard-coded at 30 minutes; make it configurable
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 72/100
Línea de trabajo
Start in bmad_loop/verify.py and find COMMAND_TIMEOUT_S, then trace how [verify] settings are loaded from policy.toml and where verify commands are run. Add configurable timeout behavior with the current 30-minute limit as the default, and check that a longer configured timeout lets a command run beyond 30 minutes without changing the default behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Every [verify] commands entry is killed after a fixed 30 minutes (COMMAND_TIMEOUT_S = 30 * 60 in bmad_loop/verify.py). That limit cannot be set in policy.toml. Some gates are slower than that on some hosts, and the run turns them into a verify failure.
Observed (bmad-loop 0.13.0, Linux, 8 cores)
- The project's last verify command is a mutation-testing gate (Stryker.NET). It runs once per story and is skipped when the same inputs already passed.
- On Windows one project takes about 11 minutes. On this Linux host the same project takes 32 to 36 minutes.
- When a review pass changes that project's tests, the post-review verify must re-run the gate. The command is then killed at 30 minutes (
verify-command-resultwithreturncode: -1, thenreview-verify-failed: verify command failed (rc=-1) ... timed out). The loop opens a repair dev session. That session runs the gate outside the cap, where it passes, and records the pass so the next verify skips. The story finishes, but each occurrence costs a full repair session.
Request
Make the per-command verify timeout configurable, for example [verify] command_timeout_min (default 30), or a per-command override. A long gate could then get, say, 60 minutes without patching the installed package.
Workaround in use
A local edit of COMMAND_TIMEOUT_S to 60 * 60 in the installed package. A reinstall loses it.
- Lenguaje dominante
- Python
- Estrellas
- 165
- Forks
- 69
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 79
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 bmad-code-org/bmad-loop
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
bmad-code-org/bmad-loop#973 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bmad-code-org/bmad-loop#965 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bmad-code-org/bmad-loop#835 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
bmad-code-org/bmad-loop#1004 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 49/100
bmad-code-org/bmad-loop#1002 ·
Los mantenedores suelen responder en 1 día
Todos los issues de bmad-code-org/bmad-loop
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistenciesPosiblemente ocupada @github-actions la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
admission-deferred priority: medium status: ready work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
melodic-software/claude-code-plugins#10887 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
backend bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
PoCInnovation/Distribox#255 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
google/langextract#598 ·
Los mantenedores suelen responder en 1 día