Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ctl-window prune reads an unavailable multiplexer backend as "no candidates"

Cerrado
#864 1 comentario 0 reacciones 0 asignados Ver en GitHub

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
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
python
Área
cli

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bmad-code-org/bmad-loop

Todos los issues de bmad-code-org/bmad-loop

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.