frontera: derivar el grafo de la COLA — sway y cosmic eran invisibles

La lista de grafos que consulta 'frontera' estaba escrita a mano y sólo tenía corpus, kde y
gnome. Consecuencia: 'yupana frontera escritorio-sway' y '... escritorio-cosmic' fallaban con
'perfil sin nodos en ningún grafo de estado (¿regeneraste con build-state.py?)' — culpando a un
grafo viejo con los cinco frescos de hacía minutos. Dos escritorios enteros sin poder responder
'¿qué me falta?'.

⚠ QUINTA vez que cae el mismo cable en este repo: GNOME (2026-07-27), COSMIC (2026-08-03) y
wlr/sway (2026-08-26) en cosecha-cron.sh, keystones y duplicados (2026-09-08) en el mismo sitio,
y ahora acá. Las cuatro anteriores se arreglaron AGREGANDO una línea, que arregla el caso y deja
la trampa puesta. Esta vez el fichero se DERIVA de la cola que el perfil declara: corpus →
build-state.json, incoming-<x> → build-state-<x>.json. Una cola nueva trae su grafo sola.

Verificado con control: 'base' sigue usando build-state.json y dando los mismos 41 candidatos.
Y lo que estaba tapado aparece — sway 175, cosmic 148, gnome 191, kde 276.

El triaje pasa de 172 a 365 candidatos (193 nuevos). No es deuda nueva: es deuda que no se
podía ver. Los que más recetas piden encabezan la cola — gi-docgen y vala con 9 cada uno.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
This commit is contained in:
Sergio
2026-09-09 00:20:35 +00:00
co-authored by Claude Opus 5
parent b14e766b5e
commit f984cbf9e7
3 changed files with 4134 additions and 270 deletions
+14 -2
View File
@@ -348,8 +348,20 @@ def frontera(recs, perfil):
except Exception:
cola = "corpus"
en_perfil, grafo_usado = [], None
for f in ("docs/state/build-state.json", "docs/state/build-state-kde.json",
"docs/state/build-state-gnome.json"):
# ⚠ EL FICHERO SE DERIVA DE LA COLA, no se escribe a mano (2026-09-09). Esta lista estaba fija y
# sólo tenía corpus/kde/gnome, así que `escritorio-sway` y `escritorio-cosmic` eran INVISIBLES
# para la frontera: nadie podía preguntar «¿qué le falta a sway?» y obtener respuesta. Y el
# error mentía sobre la causa — «¿regeneraste con build-state.py?» — con los cinco grafos
# frescos de hacía minutos.
# Es la QUINTA vez que cae el mismo cable en este repo: GNOME (2026-07-27), COSMIC
# (2026-08-03) y wlr/sway (2026-08-26) en `cosecha-cron.sh`, keystones y duplicados
# (2026-09-08) en el mismo sitio, y ahora acá. Las cuatro anteriores se arreglaron AGREGANDO
# una línea, que es arreglar el caso y dejar la trampa. Derivarlo de la cola la quita: una cola
# nueva trae su grafo sola. `corpus` → build-state.json; `incoming-<x>` → build-state-<x>.json.
cand_files = ["docs/state/build-state.json"] if cola == "corpus" else [
f"docs/state/build-state-{cola.removeprefix('incoming-')}.json",
"docs/state/build-state.json"]
for f in cand_files:
p = ROOT / f
if not p.exists():
continue