frontera: rebarrida con el triaje puesto — 334 → 319 candidatos, y CERO nuevos

El triaje sirve para algo o no sirve, y eso se mide corriendo el sembrador otra vez. Regenerados
los SIETE perfiles de `seed-frontera.json` (1,3 s cada uno: el eval de nix estaba cacheado).

  perfil               antes  ahora
  base                    41     41    +0
  cli                     44     44    +0
  escritorio-cosmic      148    143    -5
  escritorio-gnome       191    181   -10
  escritorio-kde         276    266   -10
  escritorio-mirada       39     38    -1
  escritorio-sway        175    171    -4
  UNIÓN                  334    319   -15

Los 15 que se fueron son EXACTAMENTE los que el lazo cerrado puede sacar: los siete alias
(bubblewrap, mesa-gl-headers, nlohmann_json, libxfont_2, gusb, glad2, libmpc), los nix-ismos
(CUnit, ffmpeg-headless, lzip, validate-pkg-config, python3-3.14.7-env) y tres que dejaron de ser
candidatos porque ahora TIENEN receta (bash-completion, desktop-file-utils, purpose).

Y **cero candidatos nuevos**, que era la otra mitad de la pregunta: el barrido no se movió por
debajo mientras lo triábamos.

⚠ LO QUE ESTE NÚMERO NO DICE. Los 327 veredictos `opcional` NO encogen la salida del sembrador —
sólo `nix-ismo` y `provisto` realimentan. Es correcto que así sea (un `opcional` es una decisión
nuestra, no un error de nixpkgs), pero significa que la frontera va a seguir saliendo con ~319
candidatos de los que 316 ya están contestados. Quien la lea tiene que cruzarla con
`frontera-triaje.toml`, no leerla sola: `scripts/triaje.py` sin argumentos ya lo hace y dice
«0 nuevos».

De paso: 46 candidatos quedaron marcados `ausente = true` (estaban en barridos viejos y ya no
salen). El fichero de triaje los conserva con su veredicto en vez de borrarlos, que es lo correcto
— si alguno vuelve, vuelve ya contestado.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV
This commit is contained in:
Sergio
2026-09-09 17:34:07 +00:00
co-authored by Claude Opus 5
parent 893b126c31
commit d8f1280ae9
2 changed files with 22 additions and 128 deletions
+16 -1
View File
@@ -23,6 +23,7 @@ sugerencia = "opcional?"
porque = "nghttp2 1.64.0 no nombra CUnit en ningún fichero: sus tests usan munit VENDORIZADO en tests/munit/. Es una dep rancia de la expresión de nixpkgs ⇒ no puede volver como hueco ni encendiendo los tests"
perfiles = ["escritorio-gnome"]
piden = ["nghttp2"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."SPIRV-LLVM-Translator"]
veredicto = "opcional"
@@ -174,6 +175,7 @@ provee = "bash-completion"
porque = "lo piden 5 recetas de la imagen — difícil que sea accesorio"
perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"]
piden = ["appstream", "colord", "gnome-shell", "modemmanager", "swayimg"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."bluez"]
veredicto = "opcional"
@@ -208,6 +210,7 @@ provee = "bwrap"
porque = "lo piden 2 recetas"
perfiles = ["escritorio-cosmic", "escritorio-gnome"]
piden = ["gnome-desktop", "xdg-desktop-portal"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."c-ares"]
veredicto = "opcional"
@@ -295,6 +298,7 @@ provee = "desktop-file-utils"
porque = "lo piden 3 recetas"
perfiles = ["escritorio-gnome"]
piden = ["gnome-shell", "libadwaita", "mutter"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."directx-headers"]
veredicto = "opcional"
@@ -417,6 +421,7 @@ veredicto = "nix-ismo"
porque = "lo piden 2 recetas"
perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"]
piden = ["opencv", "pipewire"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."fftw-single"]
veredicto = "opcional"
@@ -507,6 +512,7 @@ provee = "glad"
porque = "no falta: recipes/glad.toml pinea la 2.0.8, que ES glad2 — nixpkgs parte glad (v1) y glad2 (v2) en dos paquetes y acá hay uno solo. Ya figura en el [deps].build de libplacebo. Cuarta forma de alias: la VERSIÓN metida en el nombre"
perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"]
piden = ["libplacebo"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."glib-networking"]
veredicto = "pendiente"
@@ -686,6 +692,7 @@ provee = "libgusb"
porque = "no falta: es el mismo paquete con el prefijo `lib`. recipes/incoming-gnome/libgusb.toml (0.4.9) está sellada y ya figura en el [deps].build de colord. Tercera FORMA de alias del barrido: prefijo, después de puntuación y mayúsculas"
perfiles = ["escritorio-gnome"]
piden = ["colord"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."hdf5-cpp"]
veredicto = "opcional"
@@ -1091,6 +1098,7 @@ provee = "mpc"
porque = "no falta, y cierra el enigma de libmpdclient: nixpkgs llama `libmpc` a GNU MPC y `mpc` al cliente de MPD; acá GNU MPC se llama `mpc` (recipes/mpc.toml, --with-gmp --with-mpfr) y ya figura en el [deps].build de kcalc junto a gmp y mpfr. Séptimo alias, quinta forma: el mismo nombre significa DOS paquetes distintos en los dos catálogos"
perfiles = ["escritorio-kde"]
piden = ["kcalc"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."libmpdclient"]
veredicto = "opcional"
@@ -1443,6 +1451,7 @@ provee = "libXfont2"
porque = "no falta: es el MISMO paquete con el nombre normalizado por el sembrador. recipes/incoming-kde/libXfont2.toml existe, se autoró en la misma tanda que xwayland y ya figura en su [deps].build. Alias de MAYÚSCULAS, primero de esa forma"
perfiles = ["escritorio-kde"]
piden = ["xwayland"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."libxft"]
veredicto = "opcional"
@@ -1577,6 +1586,7 @@ sugerencia = "opcional?"
porque = "es un COMPRESOR, andamiaje de empaquetado: nixpkgs lo usa para desempaquetar .tar.lz. El tarball que pinea la receta es .tar.gz"
perfiles = ["escritorio-gnome"]
piden = ["libpsl"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."lzo"]
veredicto = "opcional"
@@ -1618,6 +1628,7 @@ provee = "mesa"
porque = "no falta: es el split de cabeceras que hace nixpkgs. El artefacto de mesa instala usr/include/{GL,GLES2,GLES3,KHR,EGL} —verificado en el store, no deducido— que es lo que incluyen mutter y xwayland. El único hueco es GLES1, apagado a propósito en la receta (-Dgles1=disabled)"
perfiles = ["escritorio-gnome", "escritorio-kde"]
piden = ["mutter", "xwayland"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."mesa-libclc"]
veredicto = "opcional"
@@ -1708,6 +1719,7 @@ provee = "nlohmann-json"
porque = "no falta: es el MISMO paquete con el separador cambiado. recipes/nlohmann-json.toml está en el corpus y ya figura en [deps].build de obs-studio. Alias de puntuación, como libxcb-image→xcb-util-image"
perfiles = ["escritorio-kde"]
piden = ["obs-studio"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."nv-codec-headers"]
veredicto = "opcional"
@@ -1908,6 +1920,7 @@ provee = "purpose"
porque = "lo piden 3 recetas"
perfiles = ["escritorio-kde"]
piden = ["gwenview", "okular", "spectacle"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."pycparser"]
veredicto = "opcional"
@@ -1942,7 +1955,8 @@ veredicto = "nix-ismo"
sugerencia = "nix-ismo?"
porque = "envoltorio de entorno de nixpkgs (python + paquetes en una derivación); hammer ya tiene la receta `python3` (3.12.10) y la libinput que lo pide YA la declara en sus deps de build. Mismo criterio que `git-minimal` unas líneas más arriba."
perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-mirada", "escritorio-sway"]
piden = ["breeze-icons", "gnome-shell", "gobject-introspection", "kcoreaddons", "kguiaddons", "kjobwidgets", "knotifications", "kstatusnotifieritem", "kunitconversion", "kwidgetsaddons", "kxmlgui", "libei"] # …y 8 más
piden = ["breeze-icons", "gnome-shell", "gobject-introspection", "kcoreaddons", "kguiaddons", "kjobwidgets", "knotifications", "kstatusnotifieritem", "kunitconversion", "kwidgetsaddons", "kxmlgui", "libei"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."pyyaml"]
veredicto = "opcional"
@@ -2367,6 +2381,7 @@ sugerencia = "opcional?"
porque = "no es una librería: es un SETUP HOOK de nixpkgs (validatePkgConfig) que revisa los .pc al final del build. Andamiaje del otro sistema"
perfiles = ["escritorio-kde"]
piden = ["jansson"]
ausente = true # ya no aparece en el último barrido de la frontera
[candidato."vid.stab"]
veredicto = "opcional"
+6 -127
View File
@@ -134,7 +134,7 @@
"git"
]
},
"recetas_sembradas": 57,
"recetas_sembradas": 58,
"sin_attr_en_nixpkgs": [
"bzip2-shared",
"ca-certificates",
@@ -293,7 +293,7 @@
"git"
]
},
"recetas_sembradas": 80,
"recetas_sembradas": 81,
"sin_attr_en_nixpkgs": [
"bzip2-shared",
"ca-certificates",
@@ -332,9 +332,6 @@
"avahi": [
"pipewire"
],
"bash-completion": [
"swayimg"
],
"bluez": [
"pipewire",
"pulseaudio"
@@ -342,9 +339,6 @@
"bluez-headers": [
"python3"
],
"bubblewrap": [
"xdg-desktop-portal"
],
"c-ares": [
"nodejs"
],
@@ -388,9 +382,6 @@
"ffado": [
"pipewire"
],
"ffmpeg-headless": [
"pipewire"
],
"fftw-single": [
"pipewire",
"pulseaudio"
@@ -415,9 +406,6 @@
"json-glib",
"pango"
],
"glad2": [
"libplacebo"
],
"glslang": [
"mesa"
],
@@ -671,11 +659,6 @@
"pycparser": [
"mesa"
],
"python3-3.14.7-env": [
"libinput",
"wireplumber",
"xdg-desktop-portal"
],
"pyyaml": [
"mesa"
],
@@ -821,7 +804,7 @@
"ffmpeg"
]
},
"recetas_sembradas": 159,
"recetas_sembradas": 160,
"sin_attr_en_nixpkgs": [
"adwaita-cursors",
"atuq",
@@ -876,9 +859,6 @@
},
"escritorio-gnome": {
"candidatos": {
"CUnit": [
"nghttp2"
],
"SPIRV-LLVM-Translator": [
"mesa"
],
@@ -906,12 +886,6 @@
"avahi": [
"pipewire"
],
"bash-completion": [
"appstream",
"colord",
"gnome-shell",
"swayimg"
],
"bluez": [
"pipewire",
"pulseaudio"
@@ -919,10 +893,6 @@
"bluez-headers": [
"python3"
],
"bubblewrap": [
"gnome-desktop",
"xdg-desktop-portal"
],
"c-ares": [
"nghttp2",
"nodejs"
@@ -948,11 +918,6 @@
"dejagnu": [
"libffi"
],
"desktop-file-utils": [
"gnome-shell",
"libadwaita",
"mutter"
],
"directx-headers": [
"mesa"
],
@@ -985,9 +950,6 @@
"ffado": [
"pipewire"
],
"ffmpeg-headless": [
"pipewire"
],
"fftw-single": [
"pipewire",
"pulseaudio"
@@ -1021,9 +983,6 @@
"mutter",
"pango"
],
"glad2": [
"libplacebo"
],
"glib-networking": [
"evolution-data-server"
],
@@ -1088,9 +1047,6 @@
"gjs",
"gnome-desktop"
],
"gusb": [
"colord"
],
"hdrhistogram_c": [
"nodejs"
],
@@ -1300,18 +1256,12 @@
"llvm": [
"mesa"
],
"lzip": [
"libpsl"
],
"lzo": [
"cairo"
],
"merve": [
"nodejs"
],
"mesa-gl-headers": [
"mutter"
],
"mesa-libclc": [
"mesa"
],
@@ -1376,17 +1326,6 @@
"pygobject": [
"libsecret"
],
"python3-3.14.7-env": [
"gnome-shell",
"gobject-introspection",
"libei",
"libical",
"libinput",
"mutter",
"nss",
"polkit",
"xdg-desktop-portal"
],
"pyyaml": [
"mesa"
],
@@ -1562,7 +1501,7 @@
"ffmpeg"
]
},
"recetas_sembradas": 181,
"recetas_sembradas": 182,
"sin_attr_en_nixpkgs": [
"atuq",
"bzip2-shared",
@@ -1691,10 +1630,6 @@
"baloo-widgets": [
"dolphin"
],
"bash-completion": [
"modemmanager",
"swayimg"
],
"bluez": [
"networkmanager",
"pipewire",
@@ -1799,10 +1734,6 @@
"ffado": [
"pipewire"
],
"ffmpeg-headless": [
"opencv",
"pipewire"
],
"fftw-single": [
"pipewire",
"pulseaudio",
@@ -1829,9 +1760,6 @@
"gi-docgen": [
"glib"
],
"glad2": [
"libplacebo"
],
"glog": [
"opencv"
],
@@ -2056,9 +1984,6 @@
"libmng": [
"qtsvg"
],
"libmpc": [
"kcalc"
],
"libmpdclient": [
"mpc"
],
@@ -2181,9 +2106,6 @@
"libxdamage": [
"gtk3"
],
"libxfont_2": [
"xwayland"
],
"libxft": [
"plasma-desktop",
"plasma-workspace"
@@ -2245,9 +2167,6 @@
"merve": [
"nodejs"
],
"mesa-gl-headers": [
"xwayland"
],
"mesa-libclc": [
"mesa"
],
@@ -2276,9 +2195,6 @@
"curl",
"nodejs"
],
"nlohmann_json": [
"obs-studio"
],
"nv-codec-headers": [
"ffmpeg",
"obs-studio"
@@ -2350,11 +2266,6 @@
"psqlodbc": [
"qtbase"
],
"purpose": [
"gwenview",
"okular",
"spectacle"
],
"pycparser": [
"mesa"
],
@@ -2371,20 +2282,6 @@
"kwidgetsaddons",
"kxmlgui"
],
"python3-3.14.7-env": [
"breeze-icons",
"kcoreaddons",
"kguiaddons",
"kjobwidgets",
"knotifications",
"kstatusnotifieritem",
"kunitconversion",
"kwidgetsaddons",
"kxmlgui",
"libinput",
"networkmanager",
"polkit"
],
"pyyaml": [
"mesa"
],
@@ -2576,9 +2473,6 @@
"mesa",
"pipewire"
],
"validate-pkg-config": [
"jansson"
],
"vid.stab": [
"ffmpeg"
],
@@ -2629,7 +2523,7 @@
"ffmpeg"
]
},
"recetas_sembradas": 302,
"recetas_sembradas": 304,
"sin_attr_en_nixpkgs": [
"atuq",
"bzip2-shared",
@@ -2779,9 +2673,6 @@
"pycparser": [
"mesa"
],
"python3-3.14.7-env": [
"libinput"
],
"pyyaml": [
"mesa"
],
@@ -2876,9 +2767,6 @@
"avahi": [
"pipewire"
],
"bash-completion": [
"swayimg"
],
"bluez": [
"pipewire",
"pulseaudio"
@@ -2941,9 +2829,6 @@
"ffado": [
"pipewire"
],
"ffmpeg-headless": [
"pipewire"
],
"fftw-single": [
"pipewire",
"pulseaudio"
@@ -2964,9 +2849,6 @@
"json-glib",
"pango"
],
"glad2": [
"libplacebo"
],
"glslang": [
"mesa",
"wlroots"
@@ -3278,9 +3160,6 @@
"pycparser": [
"mesa"
],
"python3-3.14.7-env": [
"libinput"
],
"pyyaml": [
"mesa"
],
@@ -3443,7 +3322,7 @@
"ffmpeg"
]
},
"recetas_sembradas": 203,
"recetas_sembradas": 205,
"sin_attr_en_nixpkgs": [
"adwaita-cursors",
"atuq",