ctl-window prune reads an unavailable multiplexer backend as "no candidates"
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #869 de @dracic — fusionado
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Read _ctl_window_candidates and its docstring, then compare the ctl_window_lookup change in #853 and the cleanup behavior described here. The issue lists several competing options without choosing one, so first clarify the intended behavior and its --json compatibility before changing code; done means unavailable backends are reported appropriately without treating ordinary mux-less hosts as failures.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
_ctl_window_candidates (the scan behind bmad-loop cleanup and the TUI cleanup) returns [] when mux_usable() is false. An unavailable backend therefore reads as "no control windows to prune". That is the same fold #853 removes from ctl_window_lookup (not merged yet): there, an unavailable backend raises MultiplexerError, and attach and stop surface it. The prune was deliberately left out of #853 and documented as a residual in the function's docstring. A fix here edits the same lines #853 changes, so it should land after #853.
When it matters
The control session's server can be alive while this process cannot reach the multiplexer. For example, the binary is missing from this process's PATH, or a forced backend's probe fails. cleanup then reports a clean scan with nothing pruned, and --json shows an empty ctl_windows with no scan_error, while stale control windows survive.
Why it was not changed in #853
Raising there would make bmad-loop cleanup print ctl window prune failed and set ctl_windows.scan_error in its --json document on every host without a multiplexer. On such a host no control window can exist unless the binary is merely missing from PATH. --json is a compatibility contract, so a value that is always set on mux-less hosts may be read by a consumer as a failure.
Options
- A. Raise only when there is evidence a server could exist, for example this project has a recorded ctl window or a live run dir, and keep
[]otherwise. - B. Distinguish "backend not installed" from "backend installed but unusable", and report only the latter as
scan_error. - C. Keep
[], but emit an informational note in the human output only (not--json). - D. Accept the residual and close.
Refs #750 #853
- Lenguaje dominante
- Python
- Estrellas
- 165
- Forks
- 69
- Merge medio
- 23 h 42 min
- PR fusionados (30 d)
- 87
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 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
-
tickets: an injected plan_halt result for a built plan escalates with stopped-attempt wordingAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 36/100
bmad-code-org/bmad-loop#972 ·
Los mantenedores suelen responder en 1 día
Todos los issues de bmad-code-org/bmad-loop
Issues similares
-
_chunk_scan_fwd launches its Triton kernel without a device guard: NaN when a model is split across GPUsPosiblemente ocupada @toddwbucy la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
state-spaces/mamba#1072 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
loopj/aiovantage#414 ·
Los mantenedores suelen responder en 1 día
-
power_mismatch_deline docstring: the rear-to-total RMAD conversion has an extra bifaciality factorAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
pvlib/pvlib-python#2929 ·
Los mantenedores suelen responder en 1 día
-
data good first issue launch-day unverified
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
BradGroux/wow-forever-mission-control#8 ·
Los mantenedores suelen responder en 1 día
-
check bilibili falsely reports read/subtitle as broken: live_test fixture BV1GJ411x7h7 is gone (404)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Panniantong/Agent-Reach#889 ·
Los mantenedores suelen responder en 2 días