gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definitions

estado: vista humana del grafo (build-state-view.py → build-state.html)

Dashboard self-contained (sin recursos externos, tema claro/oscuro) que rinde build-state.json para
VER y SEGUIR: barra de avance del corpus, tiles por estado, reparto de deuda por clase, y los huecos
en ORDEN DE ATAQUE. Ese último es el uso accionable del grafo: cada receta en deuda muestra sus deps
coloreadas por estado; una fila 'lista' tiene todas sus deps al día (construible ya), una 'espera N'
depende de N recetas también en deuda. Foto actual: 117 en deuda, 71 listas ahora.

Publicado como Artifact para verlo en el navegador; el HTML también queda en el repo (abrir con
file://). Regenerar ambos: scripts/build-state.py && scripts/build-state-view.py.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

e19fb6347f254933bccc9c1d3ca3591176a7d57b · by sergio · (3 months ago) · parent 7f89a635a · browse the tree at this commit

Semantic delta · 5

scripts/build-state-view.py

2 files · +1126 −0

diff --git a/docs/state/build-state.html b/docs/state/build-state.html
new file mode 100644
index 00000000..83cf3a3f
--- /dev/null
+++ b/docs/state/build-state.html
@@ -0,0 +1,815 @@
+<style>
+:root{
+  --bg:#eef0f3; --panel:#ffffff; --panel-2:#f6f7f9; --ink:#1b1e24; --ink-2:#5b636f;
+  --line:#dce0e6; --steel:#4a7291; --ember:#dd6b3d;
+  --sealed:#3f8f61; --debt:#bf922f; --never:#8f6234; --unhashable:#bb443c;
+  --sealed-bg:#e7f1eb; --debt-bg:#f6efdc; --never-bg:#efe6da; --unhashable-bg:#f4e2e0;
+}
+@media (prefers-color-scheme:dark){:root{
+  --bg:#12151a; --panel:#1a1e25; --panel-2:#20252e; --ink:#e7eaef; --ink-2:#98a1af;
+  --line:#2a303a; --steel:#7aa6c8; --ember:#e97d4f;
+  --sealed:#59b483; --debt:#d8b054; --never:#b98a54; --unhashable:#d76258;
+  --sealed-bg:#182a20; --debt-bg:#2a2617; --never-bg:#271f16; --unhashable-bg:#2c1a19;
+}}
+:root[data-theme="light"]{
+  --bg:#eef0f3; --panel:#ffffff; --panel-2:#f6f7f9; --ink:#1b1e24; --ink-2:#5b636f;
+  --line:#dce0e6; --steel:#4a7291; --ember:#dd6b3d;
+  --sealed:#3f8f61; --debt:#bf922f; --never:#8f6234; --unhashable:#bb443c;
+  --sealed-bg:#e7f1eb; --debt-bg:#f6efdc; --never-bg:#efe6da; --unhashable-bg:#f4e2e0;
+}
+:root[data-theme="dark"]{
+  --bg:#12151a; --panel:#1a1e25; --panel-2:#20252e; --ink:#e7eaef; --ink-2:#98a1af;
+  --line:#2a303a; --steel:#7aa6c8; --ember:#e97d4f;
+  --sealed:#59b483; --debt:#d8b054; --never:#b98a54; --unhashable:#d76258;
+  --sealed-bg:#182a20; --debt-bg:#2a2617; --never-bg:#271f16; --unhashable-bg:#2c1a19;
+}
+*{box-sizing:border-box}
+body{margin:0;background:var(--bg);color:var(--ink);
+  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5;
+  -webkit-font-smoothing:antialiased}
+.mono{font-family:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,monospace}
+.wrap{max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,48px)}
+header{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-bottom:28px}
+h1{font-size:clamp(1.5rem,3vw,2.1rem);margin:0;font-weight:680;letter-spacing:-.02em}
+h1 .mark{color:var(--ember)}
+.sub{color:var(--ink-2);font-size:.9rem}
+.sub .mono{color:var(--ink)}
+.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:650;
+  color:var(--ink-2);margin:0 0 10px}
+section{margin-bottom:34px}
+/* progress */
+.progress{height:34px;display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--line);
+  background:var(--panel)}
+.seg{display:block;height:100%}
+.s-sealed{background:var(--sealed)} .s-debt{background:var(--debt)}
+.s-never{background:var(--never)} .s-unhashable{background:var(--unhashable)}
+.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.82rem;color:var(--ink-2)}
+.legend b{color:var(--ink);font-weight:600}
+.legend .k{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;
+  vertical-align:baseline}
+/* tiles */
+.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
+@media(max-width:640px){.tiles{grid-template-columns:repeat(2,1fr)}}
+.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;
+  border-top:3px solid var(--line)}
+.tile.s-sealed{border-top-color:var(--sealed)} .tile.s-debt{border-top-color:var(--debt)}
+.tile.s-never{border-top-color:var(--never)} .tile.s-unhashable{border-top-color:var(--unhashable)}
+.tile-n{font-size:2rem;font-weight:680;font-family:ui-monospace,monospace;line-height:1;
+  font-variant-numeric:tabular-nums}
+.tile-l{font-size:.82rem;color:var(--ink-2);margin-top:6px}
+.tile-p{font-size:.78rem;color:var(--ink-2);margin-top:2px;font-family:ui-monospace,monospace}
+/* class grid */
+.cls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
+.cls{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:15px 16px}
+.cls-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
+.cls-name{font-weight:620} .cls-tot{font-family:ui-monospace,monospace;color:var(--ink-2);
+  font-variant-numeric:tabular-nums}
+.bar{height:9px;display:flex;border-radius:5px;overflow:hidden;background:var(--panel-2)}
+.cls-foot{display:flex;justify-content:space-between;margin-top:9px;font-size:.78rem}
+.cls-foot .ok{color:var(--sealed)} .cls-foot .warn{color:var(--debt)}
+.cls-foot .muted{color:var(--ink-2)}
+/* debt table */
+.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
+.controls input{background:var(--panel);border:1px solid var(--line);color:var(--ink);
+  padding:8px 12px;border-radius:8px;font-size:.9rem;min-width:200px;font-family:ui-monospace,monospace}
+.controls input:focus{outline:2px solid var(--steel);outline-offset:1px}
+.fbtn{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);padding:7px 13px;
+  border-radius:999px;font-size:.8rem;cursor:pointer;font-weight:550}
+.fbtn[aria-pressed="true"]{background:var(--steel);border-color:var(--steel);color:#fff}
+.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
+table{border-collapse:collapse;width:100%;font-size:.88rem}
+th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);
+  font-weight:600;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--panel-2);
+  position:sticky;top:0}
+td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
+.drow:last-child td{border-bottom:none}
+.c-name{font-family:ui-monospace,monospace;font-weight:550;white-space:nowrap}
+.c-name .ver{color:var(--ink-2);font-weight:400;font-size:.82em;margin-left:5px}
+.s-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;
+  vertical-align:middle}
+.tag{font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:600;white-space:nowrap}
+.t-c{background:var(--panel-2);color:var(--ink-2)} .t-go{background:#1f3a4d33;color:var(--steel)}
+.t-rust{background:#dd6b3d22;color:var(--ember)} .t-gui{background:#8f623422;color:var(--never)}
+.t-kernel{background:#bb443c22;color:var(--unhashable)}
+.ready{color:var(--sealed);font-weight:600;font-size:.8rem}
+.blocked{color:var(--debt);font-weight:600;font-size:.8rem;font-family:ui-monospace,monospace}
+.c-deps{max-width:560px}
+.chip{display:inline-block;font-family:ui-monospace,monospace;font-size:.74rem;padding:2px 7px;
+  border-radius:5px;margin:2px 3px 2px 0;border:1px solid transparent}
+.chip.s-sealed{background:var(--sealed-bg);color:var(--sealed)}
+.chip.s-debt{background:var(--debt-bg);color:var(--debt);border-color:var(--debt)}
+.chip.s-never{background:var(--never-bg);color:var(--never);border-color:var(--never)}
+.chip.s-unhashable{background:var(--unhashable-bg);color:var(--unhashable);border-color:var(--unhashable)}
+.chip.empty{color:var(--ink-2);font-style:italic}
+.hint{color:var(--ink-2);font-size:.82rem;margin:0 0 14px}
+.count{color:var(--ink-2);font-size:.82rem;margin-left:auto;font-family:ui-monospace,monospace}
+footer{color:var(--ink-2);font-size:.78rem;margin-top:36px;padding-top:16px;
+  border-top:1px solid var(--line);line-height:1.7}
+footer .mono{color:var(--ink)}
+@media(prefers-reduced-motion:no-preference){.seg,.fbtn{transition:.15s}}
+</style>
+<div class="wrap">
+  <header>
+    <h1>estado del build <span class="mark">·</span> <span class="mono">hammer</span></h1>
+    <div class="sub">764 recetas · grafo cierra sin ciclos · grafo cerrado · <span class="mono">2026-07-17 15:33 UTC</span></div>
+  </header>
+
+  <section>
+    <p class="eyebrow">avance del corpus</p>
+    <div class="progress"><span class="seg s-sealed" style="width:84.68586387434554%" title="sellado al día: 647"></span><span class="seg s-debt" style="width:14.267015706806284%" title="deuda de rebuild: 109"></span><span class="seg s-never" style="width:1.0471204188481675%" title="nunca construida: 8"></span></div>
+    <div class="legend">
+      <span><span class="k s-sealed"></span><b>647</b> sellado al día</span>
+      <span><span class="k s-debt"></span><b>109</b> deuda de rebuild</span>
+      <span><span class="k s-never"></span><b>8</b> nunca construida</span>
+      
+    </div>
+  </section>
+
+  <section>
+    <div class="tiles"><div class="tile s-sealed">
+      <div class="tile-n">647</div>
+      <div class="tile-l">sellado al día</div>
+      <div class="tile-p">84.7%</div>
+    </div><div class="tile s-debt">
+      <div class="tile-n">109</div>
+      <div class="tile-l">deuda de rebuild</div>
+      <div class="tile-p">14.3%</div>
+    </div><div class="tile s-never">
+      <div class="tile-n">8</div>
+      <div class="tile-l">nunca construida</div>
+      <div class="tile-p">1.0%</div>
+    </div><div class="tile s-unhashable">
+      <div class="tile-n">0</div>
+      <div class="tile-l">ilegible</div>
+      <div class="tile-p">0.0%</div>
+    </div></div>
+  </section>
+
+  <section>
+    <p class="eyebrow">dónde está la deuda</p>
+    <div class="cls-grid"><div class="cls">
+      <div class="cls-head"><span class="cls-name">Go</span>
+        <span class="cls-tot">362</span></div>
+      <div class="bar"><span class="seg s-sealed" style="width:98.61878453038673%"></span><span class="seg s-debt" style="width:0.27624309392265195%"></span><span class="seg s-never" style="width:1.1049723756906078%"></span></div>
+      <div class="cls-foot"><span class="ok">357 al día</span>
+        <span class="warn">5 en deuda</span></div>
+    </div><div class="cls">
+      <div class="cls-head"><span class="cls-name">C</span>
+        <span class="cls-tot">322</span></div>
+      <div class="bar"><span class="seg s-sealed" style="width:77.01863354037268%"></span><span class="seg s-debt" style="width:21.73913043478261%"></span><span class="seg s-never" style="width:1.2422360248447204%"></span></div>
+      <div class="cls-foot"><span class="ok">248 al día</span>
+        <span class="warn">74 en deuda</span></div>
+    </div><div class="cls">
+      <div class="cls-head"><span class="cls-name">Rust</span>
+        <span class="cls-tot">45</span></div>
+      <div class="bar"><span class="seg s-sealed" style="width:88.88888888888889%"></span><span class="seg s-debt" style="width:11.11111111111111%"></span></div>
+      <div class="cls-foot"><span class="ok">40 al día</span>
+        <span class="warn">5 en deuda</span></div>
+    </div><div class="cls">
+      <div class="cls-head"><span class="cls-name">GUI</span>
+        <span class="cls-tot">30</span></div>
+      <div class="bar"><span class="seg s-sealed" style="width:3.3333333333333335%"></span><span class="seg s-debt" style="width:96.66666666666667%"></span></div>
+      <div class="cls-foot"><span class="ok">1 al día</span>
+        <span class="warn">29 en deuda</span></div>
+    </div><div class="cls">
+      <div class="cls-head"><span class="cls-name">kernel</span>
+        <span class="cls-tot">5</span></div>
+      <div class="bar"><span class="seg s-sealed" style="width:20.0%"></span><span class="seg s-debt" style="width:80.0%"></span></div>
+      <div class="cls-foot"><span class="ok">1 al día</span>
+        <span class="warn">4 en deuda</span></div>
+    </div></div>
+  </section>
+
+  <section>
+    <p class="eyebrow">huecos, en orden de ataque</p>
+    <p class="hint">Cada receta en deuda con sus deps de build coloreadas por estado. Una fila
+      <b style="color:var(--sealed)">lista</b> tiene todas sus deps al día ⇒ se puede construir ya;
+      una <b style="color:var(--debt)">espera N</b> depende de N recetas que también están en deuda.
+      71 listas ahora.</p>
+    <div class="controls">
+      <button class="fbtn" data-cls="all" aria-pressed="true">todas</button><button class="fbtn" data-cls="go" aria-pressed="false">Go (5)</button><button class="fbtn" data-cls="c" aria-pressed="false">C (74)</button><button class="fbtn" data-cls="rust" aria-pressed="false">Rust (5)</button><button class="fbtn" data-cls="gui" aria-pressed="false">GUI (29)</button><button class="fbtn" data-cls="kernel" aria-pressed="false">kernel (4)</button>
+      <button class="fbtn" id="ready" data-ready aria-pressed="false">sólo listas</button>
+      <input id="q" placeholder="buscar receta…" spellcheck="false" aria-label="buscar receta">
+      <span class="count" id="count">117 en deuda</span>
+    </div>
+    <div class="tbl-wrap">
+      <table>
+        <thead><tr><th>receta</th><th>clase</th><th>estado</th><th>deps de build</th></tr></thead>
+        <tbody><tr class="drow" data-cls="c" data-ready="1" data-name="amp">
+      <td class="c-name"><span class="s-dot s-debt"></span>amp <span class="ver">0.7.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="bob-nvim">
+      <td class="c-name"><span class="s-dot s-never"></span>bob-nvim <span class="ver">4.1.7</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip empty">sin deps de build</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="broot">
+      <td class="c-name"><span class="s-dot s-debt"></span>broot <span class="ver">1.57.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="bwrap">
+      <td class="c-name"><span class="s-dot s-debt"></span>bwrap <span class="ver">0.11.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libcap</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="cargo-audit">
+      <td class="c-name"><span class="s-dot s-debt"></span>cargo-audit <span class="ver">0.22.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="delta">
+      <td class="c-name"><span class="s-dot s-debt"></span>delta <span class="ver">0.19.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="dhcpcd">
+      <td class="c-name"><span class="s-dot s-debt"></span>dhcpcd <span class="ver">10.3.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="doas">
+      <td class="c-name"><span class="s-dot s-debt"></span>doas <span class="ver">6.8.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="dosfstools">
+      <td class="c-name"><span class="s-dot s-debt"></span>dosfstools <span class="ver">4.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="dust">
+      <td class="c-name"><span class="s-dot s-debt"></span>dust <span class="ver">1.2.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip empty">sin deps de build</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="dwarves">
+      <td class="c-name"><span class="s-dot s-never"></span>dwarves <span class="ver">1.30</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">busybox</span><span class="chip s-sealed" title="sellado al día">make</span><span class="chip s-sealed" title="sellado al día">cmake</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="e2fsprogs">
+      <td class="c-name"><span class="s-dot s-debt"></span>e2fsprogs <span class="ver">1.47.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="gawk">
+      <td class="c-name"><span class="s-dot s-debt"></span>gawk <span class="ver">5.3.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="git-absorb">
+      <td class="c-name"><span class="s-dot s-debt"></span>git-absorb <span class="ver">0.9.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="gitui">
+      <td class="c-name"><span class="s-dot s-debt"></span>gitui <span class="ver">0.28.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="gzip">
+      <td class="c-name"><span class="s-dot s-debt"></span>gzip <span class="ver">1.14</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="htop">
+      <td class="c-name"><span class="s-dot s-debt"></span>htop <span class="ver">3.5.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="iproute2">
+      <td class="c-name"><span class="s-dot s-debt"></span>iproute2 <span class="ver">7.1.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">make</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="iputils">
+      <td class="c-name"><span class="s-dot s-debt"></span>iputils <span class="ver">20250605</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libcap</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="jq">
+      <td class="c-name"><span class="s-dot s-debt"></span>jq <span class="ver">1.8.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">oniguruma</span><span class="chip s-sealed" title="sellado al día">busybox</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="kbd">
+      <td class="c-name"><span class="s-dot s-debt"></span>kbd <span class="ver">2.8.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="less">
+      <td class="c-name"><span class="s-dot s-debt"></span>less <span class="ver">704</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libassuan">
+      <td class="c-name"><span class="s-dot s-debt"></span>libassuan <span class="ver">3.0.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libgpg-error</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libevdev">
+      <td class="c-name"><span class="s-dot s-debt"></span>libevdev <span class="ver">1.13.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libevent">
+      <td class="c-name"><span class="s-dot s-debt"></span>libevent <span class="ver">2.1.12</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libksba">
+      <td class="c-name"><span class="s-dot s-debt"></span>libksba <span class="ver">1.7.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libgpg-error</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libsodium">
+      <td class="c-name"><span class="s-dot s-debt"></span>libsodium <span class="ver">1.0.22</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libudev-zero">
+      <td class="c-name"><span class="s-dot s-debt"></span>libudev-zero <span class="ver">1.0.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libusb">
+      <td class="c-name"><span class="s-dot s-debt"></span>libusb <span class="ver">1.0.30</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="libuv">
+      <td class="c-name"><span class="s-dot s-debt"></span>libuv <span class="ver">1.52.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip empty">sin deps de build</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="llimphi-counter">
+      <td class="c-name"><span class="s-dot s-never"></span>llimphi-counter <span class="ver">0.1.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip empty">sin deps de build</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="lz4">
+      <td class="c-name"><span class="s-dot s-debt"></span>lz4 <span class="ver">1.10.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="mandoc">
+      <td class="c-name"><span class="s-dot s-debt"></span>mandoc <span class="ver">1.14.6</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="mtdev">
+      <td class="c-name"><span class="s-dot s-debt"></span>mtdev <span class="ver">1.1.6</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="musl">
+      <td class="c-name"><span class="s-dot s-debt"></span>musl <span class="ver">1.2.5</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="nano">
+      <td class="c-name"><span class="s-dot s-debt"></span>nano <span class="ver">9.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="npth">
+      <td class="c-name"><span class="s-dot s-debt"></span>npth <span class="ver">1.8</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="parted">
+      <td class="c-name"><span class="s-dot s-debt"></span>parted <span class="ver">3.7</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">util-linux</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="pciutils">
+      <td class="c-name"><span class="s-dot s-debt"></span>pciutils <span class="ver">3.15.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="perl">
+      <td class="c-name"><span class="s-dot s-debt"></span>perl <span class="ver">5.40.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="procps-ng">
+      <td class="c-name"><span class="s-dot s-debt"></span>procps-ng <span class="ver">4.0.6</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="rsync">
+      <td class="c-name"><span class="s-dot s-debt"></span>rsync <span class="ver">3.4.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="scdoc">
+      <td class="c-name"><span class="s-dot s-debt"></span>scdoc <span class="ver">1.11.5</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="sed">
+      <td class="c-name"><span class="s-dot s-debt"></span>sed <span class="ver">4.10</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="shadow">
+      <td class="c-name"><span class="s-dot s-debt"></span>shadow <span class="ver">4.18.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="strace">
+      <td class="c-name"><span class="s-dot s-debt"></span>strace <span class="ver">6.19</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="tar">
+      <td class="c-name"><span class="s-dot s-debt"></span>tar <span class="ver">1.35</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="tig">
+      <td class="c-name"><span class="s-dot s-debt"></span>tig <span class="ver">2.6.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">pcre2</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="tree">
+      <td class="c-name"><span class="s-dot s-debt"></span>tree <span class="ver">2.3.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="tzdata">
+      <td class="c-name"><span class="s-dot s-debt"></span>tzdata <span class="ver">2026b</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="vim">
+      <td class="c-name"><span class="s-dot s-debt"></span>vim <span class="ver">9.2.0747</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="when">
+      <td class="c-name"><span class="s-dot s-debt"></span>when <span class="ver">1.1.45</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="wpa_supplicant">
+      <td class="c-name"><span class="s-dot s-debt"></span>wpa_supplicant <span class="ver">2.11</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libnl</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="xorriso">
+      <td class="c-name"><span class="s-dot s-debt"></span>xorriso <span class="ver">1.5.8</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="xz">
+      <td class="c-name"><span class="s-dot s-debt"></span>xz <span class="ver">5.8.3</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="zellij">
+      <td class="c-name"><span class="s-dot s-debt"></span>zellij <span class="ver">0.44.3</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="1" data-name="zstd">
+      <td class="c-name"><span class="s-dot s-debt"></span>zstd <span class="ver">1.5.7</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip empty">sin deps de build</span></td>
+    </tr><tr class="drow" data-cls="go" data-ready="1" data-name="cvemap">
+      <td class="c-name"><span class="s-dot s-never"></span>cvemap <span class="ver">2.0.1</span></td>
+      <td class="c-cls"><span class="tag t-go">Go</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
+    </tr><tr class="drow" data-cls="go" data-ready="1" data-name="prometheus-blackbox-exporter">
+      <td class="c-name"><span class="s-dot s-never"></span>prometheus-blackbox-exporter <span class="ver">0.28.0</span></td>
+      <td class="c-cls"><span class="tag t-go">Go</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
+    </tr><tr class="drow" data-cls="go" data-ready="1" data-name="prometheus-node-exporter">
+      <td class="c-name"><span class="s-dot s-never"></span>prometheus-node-exporter <span class="ver">1.11.1</span></td>
+      <td class="c-cls"><span class="tag t-go">Go</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
+    </tr><tr class="drow" data-cls="go" data-ready="1" data-name="regctl">
+      <td class="c-name"><span class="s-dot s-never"></span>regctl <span class="ver">0.11.3</span></td>
+      <td class="c-cls"><span class="tag t-go">Go</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="fontconfig">
+      <td class="c-name"><span class="s-dot s-debt"></span>fontconfig <span class="ver">2.18.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gperf</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="fribidi">
+      <td class="c-name"><span class="s-dot s-debt"></span>fribidi <span class="ver">1.0.16</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="glib">
+      <td class="c-name"><span class="s-dot s-debt"></span>glib <span class="ver">2.88.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="libdrm">
+      <td class="c-name"><span class="s-dot s-debt"></span>libdrm <span class="ver">2.4.134</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="libxkbcommon">
+      <td class="c-name"><span class="s-dot s-debt"></span>libxkbcommon <span class="ver">1.7.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">bison</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="pixman">
+      <td class="c-name"><span class="s-dot s-debt"></span>pixman <span class="ver">0.44.2</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="seatd">
+      <td class="c-name"><span class="s-dot s-debt"></span>seatd <span class="ver">0.9.3</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="tllist">
+      <td class="c-name"><span class="s-dot s-debt"></span>tllist <span class="ver">1.1.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="1" data-name="wayland">
+      <td class="c-name"><span class="s-dot s-debt"></span>wayland <span class="ver">1.25.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">expat</span></td>
+    </tr><tr class="drow" data-cls="kernel" data-ready="1" data-name="linux-pam">
+      <td class="c-name"><span class="s-dot s-debt"></span>linux-pam <span class="ver">1.6.1</span></td>
+      <td class="c-cls"><span class="tag t-kernel">kernel</span></td>
+      <td class="c-badge"><span class="ready">lista</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="monolith">
+      <td class="c-name"><span class="s-dot s-debt"></span>monolith <span class="ver">2.10.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="nu">
+      <td class="c-name"><span class="s-dot s-never"></span>nu <span class="ver">0.104.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="openssl">
+      <td class="c-name"><span class="s-dot s-debt"></span>openssl <span class="ver">3.5.4</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="rink">
+      <td class="c-name"><span class="s-dot s-debt"></span>rink <span class="ver">0.9.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="tmux">
+      <td class="c-name"><span class="s-dot s-debt"></span>tmux <span class="ver">3.6b</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">libevent</span><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="go" data-ready="0" data-name="gocryptfs">
+      <td class="c-name"><span class="s-dot s-debt"></span>gocryptfs <span class="ver">2.6.1</span></td>
+      <td class="c-cls"><span class="tag t-go">Go</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gdk-pixbuf">
+      <td class="c-name"><span class="s-dot s-debt"></span>gdk-pixbuf <span class="ver">2.44.6</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="graphene">
+      <td class="c-name"><span class="s-dot s-debt"></span>graphene <span class="ver">1.10.8</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="harfbuzz">
+      <td class="c-name"><span class="s-dot s-debt"></span>harfbuzz <span class="ver">14.2.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libpng</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="libepoxy">
+      <td class="c-name"><span class="s-dot s-debt"></span>libepoxy <span class="ver">1.5.10</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="wayland-protocols">
+      <td class="c-name"><span class="s-dot s-debt"></span>wayland-protocols <span class="ver">1.48</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">wayland</span></td>
+    </tr><tr class="drow" data-cls="kernel" data-ready="0" data-name="linux">
+      <td class="c-name"><span class="s-dot s-debt"></span>linux <span class="ver">6.16.12</span></td>
+      <td class="c-cls"><span class="tag t-kernel">kernel</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">busybox</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="kernel" data-ready="0" data-name="linux-generic">
+      <td class="c-name"><span class="s-dot s-debt"></span>linux-generic <span class="ver">7.1.2</span></td>
+      <td class="c-cls"><span class="tag t-kernel">kernel</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="kernel" data-ready="0" data-name="linux-metal">
+      <td class="c-name"><span class="s-dot s-debt"></span>linux-metal <span class="ver">6.16.12</span></td>
+      <td class="c-cls"><span class="tag t-kernel">kernel</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="rust" data-ready="0" data-name="cargo-cache">
+      <td class="c-name"><span class="s-dot s-debt"></span>cargo-cache <span class="ver">0.8.3</span></td>
+      <td class="c-cls"><span class="tag t-rust">Rust</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="rust" data-ready="0" data-name="cargo-generate">
+      <td class="c-name"><span class="s-dot s-debt"></span>cargo-generate <span class="ver">0.23.9</span></td>
+      <td class="c-cls"><span class="tag t-rust">Rust</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="rust" data-ready="0" data-name="cargo-outdated">
+      <td class="c-name"><span class="s-dot s-debt"></span>cargo-outdated <span class="ver">0.19.0</span></td>
+      <td class="c-cls"><span class="tag t-rust">Rust</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="rust" data-ready="0" data-name="cargo-udeps">
+      <td class="c-name"><span class="s-dot s-debt"></span>cargo-udeps <span class="ver">0.1.61</span></td>
+      <td class="c-cls"><span class="tag t-rust">Rust</span></td>
+      <td class="c-badge"><span class="blocked">espera 1</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="ca-certificates">
+      <td class="c-name"><span class="s-dot s-debt"></span>ca-certificates <span class="ver">20260611</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="curl">
+      <td class="c-name"><span class="s-dot s-debt"></span>curl <span class="ver">8.20.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="hurl">
+      <td class="c-name"><span class="s-dot s-debt"></span>hurl <span class="ver">8.0.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libxml2</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="libssh2">
+      <td class="c-name"><span class="s-dot s-debt"></span>libssh2 <span class="ver">1.11.1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="libxmlb">
+      <td class="c-name"><span class="s-dot s-debt"></span>libxmlb <span class="ver">0.3.22</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="openssh">
+      <td class="c-name"><span class="s-dot s-debt"></span>openssh <span class="ver">10.3p1</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="socat">
+      <td class="c-name"><span class="s-dot s-debt"></span>socat <span class="ver">1.8.1.2</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">readline</span><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="usbutils">
+      <td class="c-name"><span class="s-dot s-debt"></span>usbutils <span class="ver">019</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">libusb</span><span class="chip s-debt" title="deuda de rebuild">libudev-zero</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="wget">
+      <td class="c-name"><span class="s-dot s-debt"></span>wget <span class="ver">1.25.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 2</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="git">
+      <td class="c-name"><span class="s-dot s-debt"></span>git <span class="ver">2.54.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 3</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-debt" title="deuda de rebuild">perl</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="gnupg">
+      <td class="c-name"><span class="s-dot s-debt"></span>gnupg <span class="ver">2.4.9</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 3</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">libgpg-error</span><span class="chip s-sealed" title="sellado al día">libgcrypt</span><span class="chip s-debt" title="deuda de rebuild">libassuan</span><span class="chip s-debt" title="deuda de rebuild">libksba</span><span class="chip s-debt" title="deuda de rebuild">npth</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">linux-headers</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="cairo">
+      <td class="c-name"><span class="s-dot s-debt"></span>cairo <span class="ver">1.18.4</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 3</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="libinput">
+      <td class="c-name"><span class="s-dot s-debt"></span>libinput <span class="ver">1.27.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 3</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">libudev-zero</span><span class="chip s-debt" title="deuda de rebuild">libevdev</span><span class="chip s-debt" title="deuda de rebuild">mtdev</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="fcft">
+      <td class="c-name"><span class="s-dot s-debt"></span>fcft <span class="ver">3.3.3</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 4</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="mesa">
+      <td class="c-name"><span class="s-dot s-debt"></span>mesa <span class="ver">24.0.9</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 4</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">mako</span><span class="chip s-sealed" title="sellado al día">markupsafe</span><span class="chip s-sealed" title="sellado al día">packaging</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="mesa-swrast">
+      <td class="c-name"><span class="s-dot s-debt"></span>mesa-swrast <span class="ver">24.0.9</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 4</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">mako</span><span class="chip s-sealed" title="sellado al día">markupsafe</span><span class="chip s-sealed" title="sellado al día">packaging</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="appstream">
+      <td class="c-name"><span class="s-dot s-debt"></span>appstream <span class="ver">1.0.5</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 5</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gperf</span><span class="chip s-sealed" title="sellado al día">gettext-tiny</span><span class="chip s-sealed" title="sellado al día">itstool</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="pango">
+      <td class="c-name"><span class="s-dot s-debt"></span>pango <span class="ver">1.57.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 6</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
+    </tr><tr class="drow" data-cls="rust" data-ready="0" data-name="mirada-greeter">
+      <td class="c-name"><span class="s-dot s-debt"></span>mirada-greeter <span class="ver">0.0.1</span></td>
+      <td class="c-cls"><span class="tag t-rust">Rust</span></td>
+      <td class="c-badge"><span class="blocked">espera 6</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">mesa</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">linux-pam</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="foot">
+      <td class="c-name"><span class="s-dot s-debt"></span>foot <span class="ver">1.27.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 8</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">fcft</span><span class="chip s-debt" title="deuda de rebuild">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="mirada-compositor">
+      <td class="c-name"><span class="s-dot s-debt"></span>mirada-compositor <span class="ver">0.0.1</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 13</span></td>
+      <td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">mesa</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-debt" title="deuda de rebuild">seatd</span><span class="chip s-debt" title="deuda de rebuild">linux-pam</span><span class="chip s-debt" title="deuda de rebuild">libinput</span><span class="chip s-debt" title="deuda de rebuild">libudev-zero</span><span class="chip s-debt" title="deuda de rebuild">libevdev</span><span class="chip s-debt" title="deuda de rebuild">mtdev</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtk4">
+      <td class="c-name"><span class="s-dot s-debt"></span>gtk4 <span class="ver">4.18.6</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 15</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtk4-hello">
+      <td class="c-name"><span class="s-dot s-debt"></span>gtk4-hello <span class="ver">4.18.6</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 15</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtksourceview">
+      <td class="c-name"><span class="s-dot s-debt"></span>gtksourceview <span class="ver">5.16.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 16</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gettext-tiny</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="adwaita-hello">
+      <td class="c-name"><span class="s-dot s-debt"></span>adwaita-hello <span class="ver">1.7.6</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 21</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="libadwaita">
+      <td class="c-name"><span class="s-dot s-debt"></span>libadwaita <span class="ver">1.7.6</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 21</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">sassc</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="c" data-ready="0" data-name="hammer-edit">
+      <td class="c-name"><span class="s-dot s-debt"></span>hammer-edit <span class="ver">1.0.0</span></td>
+      <td class="c-cls"><span class="tag t-c">C</span></td>
+      <td class="c-badge"><span class="blocked">espera 22</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr><tr class="drow" data-cls="gui" data-ready="0" data-name="sourceview-hello">
+      <td class="c-name"><span class="s-dot s-debt"></span>sourceview-hello <span class="ver">5.16.0</span></td>
+      <td class="c-cls"><span class="tag t-gui">GUI</span></td>
+      <td class="c-badge"><span class="blocked">espera 22</span></td>
+      <td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-debt" title="deuda de rebuild">curl</span><span class="chip s-debt" title="deuda de rebuild">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-debt" title="deuda de rebuild">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">glib</span><span class="chip s-debt" title="deuda de rebuild">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">fribidi</span><span class="chip s-debt" title="deuda de rebuild">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-debt" title="deuda de rebuild">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-debt" title="deuda de rebuild">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-debt" title="deuda de rebuild">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-debt" title="deuda de rebuild">mesa</span></td>
+    </tr></tbody>
+      </table>
+    </div>
+  </section>
+
+  <footer>
+    Derivado de <span class="mono">recipes/*.toml</span> + <span class="mono">hammer hash</span> + el store,
+    por <span class="mono">scripts/build-state.py</span>. La fuente firme es
+    <span class="mono">docs/state/build-state.json</span> (versionada: su <span class="mono">git diff</span> es el avance).
+    Regenerar: <span class="mono">scripts/build-state.py && scripts/build-state-view.py</span>.
+  </footer>
+</div>
+<script>
+const rows=[...document.querySelectorAll('.drow')];
+const q=document.getElementById('q');
+let cls='all',onlyReady=false;
+function apply(){
+  const t=(q.value||'').toLowerCase();let shown=0;
+  for(const r of rows){
+    const okC=cls==='all'||r.dataset.cls===cls;
+    const okR=!onlyReady||r.dataset.ready==='1';
+    const okT=!t||r.dataset.name.includes(t);
+    const v=okC&&okR&&okT;r.style.display=v?'':'none';if(v)shown++;
+  }
+  document.getElementById('count').textContent=shown+' en deuda';
+}
+document.querySelectorAll('.fbtn[data-cls]').forEach(b=>b.onclick=()=>{
+  document.querySelectorAll('.fbtn[data-cls]').forEach(x=>x.setAttribute('aria-pressed','false'));
+  b.setAttribute('aria-pressed','true');cls=b.dataset.cls;apply();});
+const rb=document.getElementById('ready');
+rb.onclick=()=>{onlyReady=!onlyReady;rb.setAttribute('aria-pressed',onlyReady);apply();};
+q.oninput=apply;
+</script>
diff --git a/scripts/build-state-view.py b/scripts/build-state-view.py
new file mode 100755
index 00000000..c47609a2
--- /dev/null
+++ b/scripts/build-state-view.py
@@ -0,0 +1,311 @@
+#!/usr/bin/env python3
+# build-state-view.py — vista HUMANA del grafo de estado. Lee docs/state/build-state.json (la fuente
+# firme que emite build-state.py) y emite docs/state/build-state.html: un dashboard self-contained
+# (sin recursos externos) para VER y SEGUIR el avance, los huecos y los fallos.
+#
+# El dato clave que añade sobre el JSON crudo: para cada receta en deuda, computa quién la BLOQUEA
+# —sus deps que también están en deuda— usando el grafo. Una receta en deuda con TODAS sus deps
+# selladas está "lista para construir ya"; una con deps en deuda debe esperar. Ese es el uso
+# accionable del orden topológico: qué atacar primero.
+#
+# Uso:   scripts/build-state-view.py       # regenera docs/state/build-state.html desde el JSON
+import json, html
+from pathlib import Path
+from datetime import datetime, timezone
+
+ROOT = Path(__file__).resolve().parent.parent
+DATA = ROOT / "docs/state/build-state.json"
+OUT = ROOT / "docs/state/build-state.html"
+
+doc = json.loads(DATA.read_text())
+nodes = doc["nodes"]
+
+STATE_ORDER = ["sealed", "debt", "never", "unhashable"]
+STATE_ES = {"sealed": "sellado al día", "debt": "deuda de rebuild",
+            "never": "nunca construida", "unhashable": "ilegible"}
+CLASS_ES = {"c": "C", "go": "Go", "rust": "Rust", "gui": "GUI", "kernel": "kernel"}
+
+# Para cada nodo, sus deps que están en deuda (lo que lo bloquea) — el sub-grafo accionable.
+def blockers(name):
+    r = nodes[name]
+    return [d for d in r.get("deps", []) if d in nodes and nodes[d]["state"] in ("debt", "never", "unhashable")]
+
+debt = {n: r for n, r in nodes.items() if r["state"] in ("debt", "never", "unhashable")}
+# Orden: primero las "listas" (sin bloqueadores), luego por nº de bloqueadores, luego alfabético.
+def debt_key(n):
+    b = blockers(n)
+    return (len(b), nodes[n]["cls"], n)
+debt_sorted = sorted(debt, key=debt_key)
+ready = [n for n in debt_sorted if not blockers(n)]
+
+totals = doc["totals"]
+n_total = totals["recipes"]
+
+# Reparto por clase (para las barras por-clase).
+classes = {}
+for n, r in nodes.items():
+    c = r.get("cls", "c")
+    classes.setdefault(c, {s: 0 for s in STATE_ORDER})
+    classes[c][r["state"]] += 1
+
+def pct(x): return f"{100*x/n_total:.1f}%"
+
+E = html.escape
+
+def chip(dep):
+    st = nodes[dep]["state"] if dep in nodes else "unhashable"
+    return f'<span class="chip s-{st}" title="{E(STATE_ES.get(st, st))}">{E(dep)}</span>'
+
+# ---- barra de progreso apilada (sealed|debt|never|unhashable) ----
+seg = ""
+for s in STATE_ORDER:
+    v = totals.get(s, 0)
+    if v:
+        seg += f'<span class="seg s-{s}" style="width:{100*v/n_total}%" title="{E(STATE_ES[s])}: {v}"></span>'
+
+# ---- tiles de estado ----
+tiles = ""
+for s in STATE_ORDER:
+    v = totals.get(s, 0)
+    tiles += f'''<div class="tile s-{s}">
+      <div class="tile-n">{v}</div>
+      <div class="tile-l">{E(STATE_ES[s])}</div>
+      <div class="tile-p">{pct(v)}</div>
+    </div>'''
+
+# ---- grid por clase ----
+cls_cards = ""
+for c in sorted(classes, key=lambda c: -sum(classes[c].values())):
+    cc = classes[c]; tot = sum(cc.values())
+    bar = ""
+    for s in STATE_ORDER:
+        if cc[s]:
+            bar += f'<span class="seg s-{s}" style="width:{100*cc[s]/tot}%"></span>'
+    deuda = cc["debt"] + cc["never"] + cc["unhashable"]
+    cls_cards += f'''<div class="cls">
+      <div class="cls-head"><span class="cls-name">{E(CLASS_ES.get(c, c))}</span>
+        <span class="cls-tot">{tot}</span></div>
+      <div class="bar">{bar}</div>
+      <div class="cls-foot"><span class="ok">{cc['sealed']} al día</span>
+        <span class="{'warn' if deuda else 'muted'}">{deuda} en deuda</span></div>
+    </div>'''
+
+# ---- filas de deuda (agrupadas visualmente por "listas" vs "bloqueadas") ----
+def debt_row(n):
+    r = nodes[n]; b = blockers(n)
+    deps = r.get("deps", [])
+    chips = "".join(chip(d) for d in deps) if deps else '<span class="chip empty">sin deps de build</span>'
+    badge = ('<span class="ready">lista</span>' if not b
+             else f'<span class="blocked">espera {len(b)}</span>')
+    ver = f'<span class="ver">{E(str(r.get("version") or ""))}</span>' if r.get("version") else ""
+    return f'''<tr class="drow" data-cls="{r['cls']}" data-ready="{'1' if not b else '0'}" data-name="{E(n)}">
+      <td class="c-name"><span class="s-dot s-{r['state']}"></span>{E(n)} {ver}</td>
+      <td class="c-cls"><span class="tag t-{r['cls']}">{E(CLASS_ES.get(r['cls'], r['cls']))}</span></td>
+      <td class="c-badge">{badge}</td>
+      <td class="c-deps">{chips}</td>
+    </tr>'''
+
+rows = "".join(debt_row(n) for n in debt_sorted)
+gen_time = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC")
+topo = "cierra sin ciclos" if doc.get("topo_ok") else "⚠ CICLO detectado"
+orphan_note = ("grafo cerrado" if not doc.get("orphan_deps")
+               else f"⚠ {len(doc['orphan_deps'])} deps huérfanas")
+
+CSS = """
+:root{
+  --bg:#eef0f3; --panel:#ffffff; --panel-2:#f6f7f9; --ink:#1b1e24; --ink-2:#5b636f;
+  --line:#dce0e6; --steel:#4a7291; --ember:#dd6b3d;
+  --sealed:#3f8f61; --debt:#bf922f; --never:#8f6234; --unhashable:#bb443c;
+  --sealed-bg:#e7f1eb; --debt-bg:#f6efdc; --never-bg:#efe6da; --unhashable-bg:#f4e2e0;
+}
+@media (prefers-color-scheme:dark){:root{
+  --bg:#12151a; --panel:#1a1e25; --panel-2:#20252e; --ink:#e7eaef; --ink-2:#98a1af;
+  --line:#2a303a; --steel:#7aa6c8; --ember:#e97d4f;
+  --sealed:#59b483; --debt:#d8b054; --never:#b98a54; --unhashable:#d76258;
+  --sealed-bg:#182a20; --debt-bg:#2a2617; --never-bg:#271f16; --unhashable-bg:#2c1a19;
+}}
+:root[data-theme="light"]{
+  --bg:#eef0f3; --panel:#ffffff; --panel-2:#f6f7f9; --ink:#1b1e24; --ink-2:#5b636f;
+  --line:#dce0e6; --steel:#4a7291; --ember:#dd6b3d;
+  --sealed:#3f8f61; --debt:#bf922f; --never:#8f6234; --unhashable:#bb443c;
+  --sealed-bg:#e7f1eb; --debt-bg:#f6efdc; --never-bg:#efe6da; --unhashable-bg:#f4e2e0;
+}
+:root[data-theme="dark"]{
+  --bg:#12151a; --panel:#1a1e25; --panel-2:#20252e; --ink:#e7eaef; --ink-2:#98a1af;
+  --line:#2a303a; --steel:#7aa6c8; --ember:#e97d4f;
+  --sealed:#59b483; --debt:#d8b054; --never:#b98a54; --unhashable:#d76258;
+  --sealed-bg:#182a20; --debt-bg:#2a2617; --never-bg:#271f16; --unhashable-bg:#2c1a19;
+}
+*{box-sizing:border-box}
+body{margin:0;background:var(--bg);color:var(--ink);
+  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5;
+  -webkit-font-smoothing:antialiased}
+.mono{font-family:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,monospace}
+.wrap{max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,48px)}
+header{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-bottom:28px}
+h1{font-size:clamp(1.5rem,3vw,2.1rem);margin:0;font-weight:680;letter-spacing:-.02em}
+h1 .mark{color:var(--ember)}
+.sub{color:var(--ink-2);font-size:.9rem}
+.sub .mono{color:var(--ink)}
+.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:650;
+  color:var(--ink-2);margin:0 0 10px}
+section{margin-bottom:34px}
+/* progress */
+.progress{height:34px;display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--line);
+  background:var(--panel)}
+.seg{display:block;height:100%}
+.s-sealed{background:var(--sealed)} .s-debt{background:var(--debt)}
+.s-never{background:var(--never)} .s-unhashable{background:var(--unhashable)}
+.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.82rem;color:var(--ink-2)}
+.legend b{color:var(--ink);font-weight:600}
+.legend .k{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;
+  vertical-align:baseline}
+/* tiles */
+.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
+@media(max-width:640px){.tiles{grid-template-columns:repeat(2,1fr)}}
+.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;
+  border-top:3px solid var(--line)}
+.tile.s-sealed{border-top-color:var(--sealed)} .tile.s-debt{border-top-color:var(--debt)}
+.tile.s-never{border-top-color:var(--never)} .tile.s-unhashable{border-top-color:var(--unhashable)}
+.tile-n{font-size:2rem;font-weight:680;font-family:ui-monospace,monospace;line-height:1;
+  font-variant-numeric:tabular-nums}
+.tile-l{font-size:.82rem;color:var(--ink-2);margin-top:6px}
+.tile-p{font-size:.78rem;color:var(--ink-2);margin-top:2px;font-family:ui-monospace,monospace}
+/* class grid */
+.cls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
+.cls{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:15px 16px}
+.cls-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
+.cls-name{font-weight:620} .cls-tot{font-family:ui-monospace,monospace;color:var(--ink-2);
+  font-variant-numeric:tabular-nums}
+.bar{height:9px;display:flex;border-radius:5px;overflow:hidden;background:var(--panel-2)}
+.cls-foot{display:flex;justify-content:space-between;margin-top:9px;font-size:.78rem}
+.cls-foot .ok{color:var(--sealed)} .cls-foot .warn{color:var(--debt)}
+.cls-foot .muted{color:var(--ink-2)}
+/* debt table */
+.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
+.controls input{background:var(--panel);border:1px solid var(--line);color:var(--ink);
+  padding:8px 12px;border-radius:8px;font-size:.9rem;min-width:200px;font-family:ui-monospace,monospace}
+.controls input:focus{outline:2px solid var(--steel);outline-offset:1px}
+.fbtn{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);padding:7px 13px;
+  border-radius:999px;font-size:.8rem;cursor:pointer;font-weight:550}
+.fbtn[aria-pressed="true"]{background:var(--steel);border-color:var(--steel);color:#fff}
+.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
+table{border-collapse:collapse;width:100%;font-size:.88rem}
+th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);
+  font-weight:600;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--panel-2);
+  position:sticky;top:0}
+td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
+.drow:last-child td{border-bottom:none}
+.c-name{font-family:ui-monospace,monospace;font-weight:550;white-space:nowrap}
+.c-name .ver{color:var(--ink-2);font-weight:400;font-size:.82em;margin-left:5px}
+.s-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;
+  vertical-align:middle}
+.tag{font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:600;white-space:nowrap}
+.t-c{background:var(--panel-2);color:var(--ink-2)} .t-go{background:#1f3a4d33;color:var(--steel)}
+.t-rust{background:#dd6b3d22;color:var(--ember)} .t-gui{background:#8f623422;color:var(--never)}
+.t-kernel{background:#bb443c22;color:var(--unhashable)}
+.ready{color:var(--sealed);font-weight:600;font-size:.8rem}
+.blocked{color:var(--debt);font-weight:600;font-size:.8rem;font-family:ui-monospace,monospace}
+.c-deps{max-width:560px}
+.chip{display:inline-block;font-family:ui-monospace,monospace;font-size:.74rem;padding:2px 7px;
+  border-radius:5px;margin:2px 3px 2px 0;border:1px solid transparent}
+.chip.s-sealed{background:var(--sealed-bg);color:var(--sealed)}
+.chip.s-debt{background:var(--debt-bg);color:var(--debt);border-color:var(--debt)}
+.chip.s-never{background:var(--never-bg);color:var(--never);border-color:var(--never)}
+.chip.s-unhashable{background:var(--unhashable-bg);color:var(--unhashable);border-color:var(--unhashable)}
+.chip.empty{color:var(--ink-2);font-style:italic}
+.hint{color:var(--ink-2);font-size:.82rem;margin:0 0 14px}
+.count{color:var(--ink-2);font-size:.82rem;margin-left:auto;font-family:ui-monospace,monospace}
+footer{color:var(--ink-2);font-size:.78rem;margin-top:36px;padding-top:16px;
+  border-top:1px solid var(--line);line-height:1.7}
+footer .mono{color:var(--ink)}
+@media(prefers-reduced-motion:no-preference){.seg,.fbtn{transition:.15s}}
+"""
+
+JS = """
+const rows=[...document.querySelectorAll('.drow')];
+const q=document.getElementById('q');
+let cls='all',onlyReady=false;
+function apply(){
+  const t=(q.value||'').toLowerCase();let shown=0;
+  for(const r of rows){
+    const okC=cls==='all'||r.dataset.cls===cls;
+    const okR=!onlyReady||r.dataset.ready==='1';
+    const okT=!t||r.dataset.name.includes(t);
+    const v=okC&&okR&&okT;r.style.display=v?'':'none';if(v)shown++;
+  }
+  document.getElementById('count').textContent=shown+' en deuda';
+}
+document.querySelectorAll('.fbtn[data-cls]').forEach(b=>b.onclick=()=>{
+  document.querySelectorAll('.fbtn[data-cls]').forEach(x=>x.setAttribute('aria-pressed','false'));
+  b.setAttribute('aria-pressed','true');cls=b.dataset.cls;apply();});
+const rb=document.getElementById('ready');
+rb.onclick=()=>{onlyReady=!onlyReady;rb.setAttribute('aria-pressed',onlyReady);apply();};
+q.oninput=apply;
+"""
+
+cls_btns = '<button class="fbtn" data-cls="all" aria-pressed="true">todas</button>'
+for c in sorted(classes, key=lambda c: -sum(classes[c].values())):
+    deuda = classes[c]["debt"] + classes[c]["never"] + classes[c]["unhashable"]
+    if deuda:
+        cls_btns += f'<button class="fbtn" data-cls="{c}" aria-pressed="false">{E(CLASS_ES.get(c,c))} ({deuda})</button>'
+
+HTML = f'''<style>{CSS}</style>
+<div class="wrap">
+  <header>
+    <h1>estado del build <span class="mark">·</span> <span class="mono">hammer</span></h1>
+    <div class="sub">{n_total} recetas · grafo {E(topo)} · {E(orphan_note)} · <span class="mono">{E(gen_time)}</span></div>
+  </header>
+
+  <section>
+    <p class="eyebrow">avance del corpus</p>
+    <div class="progress">{seg}</div>
+    <div class="legend">
+      <span><span class="k s-sealed"></span><b>{totals.get('sealed',0)}</b> sellado al día</span>
+      <span><span class="k s-debt"></span><b>{totals.get('debt',0)}</b> deuda de rebuild</span>
+      <span><span class="k s-never"></span><b>{totals.get('never',0)}</b> nunca construida</span>
+      {'<span><span class="k s-unhashable"></span><b>'+str(totals.get('unhashable',0))+'</b> ilegible</span>' if totals.get('unhashable') else ''}
+    </div>
+  </section>
+
+  <section>
+    <div class="tiles">{tiles}</div>
+  </section>
+
+  <section>
+    <p class="eyebrow">dónde está la deuda</p>
+    <div class="cls-grid">{cls_cards}</div>
+  </section>
+
+  <section>
+    <p class="eyebrow">huecos, en orden de ataque</p>
+    <p class="hint">Cada receta en deuda con sus deps de build coloreadas por estado. Una fila
+      <b style="color:var(--sealed)">lista</b> tiene todas sus deps al día ⇒ se puede construir ya;
+      una <b style="color:var(--debt)">espera N</b> depende de N recetas que también están en deuda.
+      {len(ready)} listas ahora.</p>
+    <div class="controls">
+      {cls_btns}
+      <button class="fbtn" id="ready" data-ready aria-pressed="false">sólo listas</button>
+      <input id="q" placeholder="buscar receta…" spellcheck="false" aria-label="buscar receta">
+      <span class="count" id="count">{len(debt_sorted)} en deuda</span>
+    </div>
+    <div class="tbl-wrap">
+      <table>
+        <thead><tr><th>receta</th><th>clase</th><th>estado</th><th>deps de build</th></tr></thead>
+        <tbody>{rows}</tbody>
+      </table>
+    </div>
+  </section>
+
+  <footer>
+    Derivado de <span class="mono">recipes/*.toml</span> + <span class="mono">hammer hash</span> + el store,
+    por <span class="mono">scripts/build-state.py</span>. La fuente firme es
+    <span class="mono">docs/state/build-state.json</span> (versionada: su <span class="mono">git diff</span> es el avance).
+    Regenerar: <span class="mono">scripts/build-state.py && scripts/build-state-view.py</span>.
+  </footer>
+</div>
+<script>{JS}</script>
+'''
+
+OUT.write_text(HTML)
+print(f"→ {OUT.relative_to(ROOT)} ({len(HTML)//1024} KB) · {len(debt_sorted)} en deuda, {len(ready)} listas")