From 063200214ccb4cb28239de45726720bed4db5dab Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 18 Sep 2026 13:19:29 +0000 Subject: [PATCH] =?UTF-8?q?atuq:=20el=20muro=20de=20llimphi,=20arreglado?= =?UTF-8?q?=20en=20llimphi=20=E2=80=94=20y=20las=20dos=20recetas=20re-pine?= =?UTF-8?q?adas=20a=20ese=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El §7.septies dejó el diagnóstico: sin display handle, el camino de escritorio de llimphi abre el display EGL surfaceless, la surface no tiene un solo formato y la app panica. El arreglo está empujado allá (`eed3120b6`) y son dos ficheros: `Hal::new_con_display` —que usa el `instancia_con` que YA existía para el camino layer-shell— y el llamador de escritorio pasándole la `window`, que estaba ahí, creada una línea antes para hacerle la surface. La pieza no faltaba: faltaba enhebrarla. Control antes de empujar, porque hasta reconstruir no se puede medir: `cargo check -p shuma-pregunta` pasa con el parche y FALLA con una rotura a propósito en la línea tocada — un check que no compila el fichero se ve igual que uno que sí. Commiteado allá con índice temporal (GIT_INDEX_FILE + commit-tree + push :main), que es lo único que publica dos rutas sin llevarse por delante los 181 ficheros que otra sesión tiene en vuelo; el control (`git diff-tree -r --name-only`) nombra dos. El primer push fue rechazado porque el remoto se movió: se rehízo el commit-tree sobre el FETCH_HEAD nuevo, comprobando antes que esos dos ficheros no habían cambiado allá. ⚠ Con esto el pin de las dos recetas DIVERGE del `23a292863` de sus once hermanas del monorepo, y eso cuesta un árbol de fuentes propio — otro vendoreo de 2,4 G, porque el árbol se comparte por `-`. Queda dicho en las dos recetas. ⚠ Y el sello todavía no está: las dos están encoladas en el worker detrás del build de rust. Hasta que sellen y la etapa B del guardián pase, esto es un arreglo compilado, no un arreglo medido. Co-Authored-By: Claude Opus 5 (1M context) --- docs/26-atuq-envoltorio-gecko.md | 24 ++++++++++++++++++++++++ recipes/boveda.toml | 9 ++++++++- recipes/shuma-pregunta.toml | 9 ++++++++- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/docs/26-atuq-envoltorio-gecko.md b/docs/26-atuq-envoltorio-gecko.md index 896415a9..45bc50fd 100644 --- a/docs/26-atuq-envoltorio-gecko.md +++ b/docs/26-atuq-envoltorio-gecko.md @@ -3131,6 +3131,30 @@ poniendo otro mesa. Las dos salidas son de otro repo o de otra receta, y convien La 1 es la correcta: un navegador que pide permiso no debería depender de que la máquina tenga Vulkan. La 2 es la que, además, le sirve a otros frentes. +##### El arreglo, escrito y empujado en llimphi (`eed3120b6`) — falta medirlo + +Se hizo la 1, que son dos ficheros y ninguna pieza nueva: **la función que faltaba ya existía al +lado**. `Hal::new_con_display` usa el mismo `instancia_con` que el camino layer-shell, y el llamador +de escritorio le pasa la `window` — que **está ahí, creada una línea antes** para hacerle la surface. +`new_inner` y el nuevo comparten cuerpo (`new_generico`) y sólo se distinguen en cómo arman la +instancia: duplicar la elección de backend y el fallback es cómo se termina con dos caminos que +divergen sin que nadie se entere. + +Controles antes de empujar, porque el arreglo no se puede probar hasta reconstruir: `cargo check -p +shuma-pregunta` pasa con el parche **y falla con una rotura a propósito en la línea tocada** (si no, +un check que no compila el fichero se ve igual que uno que sí). + +⚠ **Commiteado allá con índice temporal** (`GIT_INDEX_FILE` + `commit-tree` + `push :main`), que +es la única forma de publicar dos rutas en un clon compartido sin llevarse por delante los 181 +ficheros que otra sesión tiene en vuelo. Control: `git diff-tree -r --name-only` nombra **dos**. Y el +push fue rechazado la primera vez porque el remoto se había movido: se rehízo el `commit-tree` sobre +el `FETCH_HEAD` nuevo, comprobando antes que los dos ficheros no habían cambiado allá. + +⚠ **El pin de `boveda` y `shuma-pregunta` ahora DIVERGE del de sus hermanas** (`eed3120b6` contra +`23a292863`), y eso cuesta **un árbol de fuentes propio: otro vendoreo de 2,4 G**, porque el árbol se +comparte por `-`. Es el precio de no mover las otras once recetas del monorepo en el mismo +turno; se paga hasta que suban. + **Lo que queda escrito y corriendo mientras tanto** es `scripts/test-atuq-boveda-metal.py`, con sus seis etapas declaradas y la A en verde: sin la app dueña, el host contesta `locked:true`. Es poco, y es exactamente lo que se puede afirmar hoy — que es mejor que un guardián que no existe y que uno que diff --git a/recipes/boveda.toml b/recipes/boveda.toml index 5c7888d9..cb3eed12 100644 --- a/recipes/boveda.toml +++ b/recipes/boveda.toml @@ -37,8 +37,15 @@ version = "0.1.0" license = "MPL-2.0" [source] +# ⚠ EL PIN NO ES EL DE SUS HERMANAS, Y ES A PROPÓSITO (2026-09-18). Las demás recetas del monorepo +# están en `23a292863`; ésta apunta a `eed3120b6`, que es el commit donde llimphi aprende a pasarle +# el **display handle** a wgpu en el camino de escritorio. Con el pin viejo este binario sella, +# arranca y **no abre ventana**: wgpu cae a la plataforma EGL surfaceless, la surface no tiene un +# solo formato y la app panica con un «index out of bounds» que no nombra nada de esto (SDD 26 +# §7.septies). El precio es un árbol de fuentes propio — otro vendoreo de 2,4 G, porque el árbol se +# comparte por `-`—; se paga hasta que las demás suban al mismo commit. repo = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git" -commit = "23a292863f53b355c5c02d6185904f2c33d8ab42" +commit = "eed3120b6ccf4583c86c60cb2cdc8ccb9a379c04" # tawasuyu COMMITEA su propio `vendor/` (smithay parcheado por `[patch.crates-io]` POR RUTA); el # `cargo vendor` de takana lo pisaría y el error hablaría de un crate cualquiera, no de esto. # No entra en `hash_inputs`. diff --git a/recipes/shuma-pregunta.toml b/recipes/shuma-pregunta.toml index 68755a7b..03d1b1ab 100644 --- a/recipes/shuma-pregunta.toml +++ b/recipes/shuma-pregunta.toml @@ -31,8 +31,15 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [source] +# ⚠ EL PIN NO ES EL DE SUS HERMANAS, Y ES A PROPÓSITO (2026-09-18). Las demás recetas del monorepo +# están en `23a292863`; ésta apunta a `eed3120b6`, que es el commit donde llimphi aprende a pasarle +# el **display handle** a wgpu en el camino de escritorio. Con el pin viejo este binario sella, +# arranca y **no abre ventana**: wgpu cae a la plataforma EGL surfaceless, la surface no tiene un +# solo formato y la app panica con un «index out of bounds» que no nombra nada de esto (SDD 26 +# §7.septies). El precio es un árbol de fuentes propio — otro vendoreo de 2,4 G, porque el árbol se +# comparte por `-`—; se paga hasta que las demás suban al mismo commit. repo = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git" -commit = "23a292863f53b355c5c02d6185904f2c33d8ab42" +commit = "eed3120b6ccf4583c86c60cb2cdc8ccb9a379c04" cargo_vendor_dir = ".hammer-cargo-vendor" [build]