Commit Graph
3194 Commits
Author SHA1 Message Date
Sergio 1ea4854f2c estado: cosecha granja 2026-09-19T16:31:33Z — avance del árbol KDE 2026-09-19 16:31:33 +00:00
Sergio 146516a464 estado: cosecha granja 2026-09-19T16:01:43Z — avance del árbol KDE 2026-09-19 16:01:43 +00:00
Sergio 6fa4fd56d9 estado: cosecha granja 2026-09-19T15:31:40Z — avance del árbol KDE 2026-09-19 15:31:40 +00:00
Sergio 59165dd16d estado: cosecha granja 2026-09-19T15:02:41Z — avance del árbol KDE 2026-09-19 15:02:41 +00:00
Sergio b37aa00ff7 estado: cosecha granja 2026-09-19T14:32:12Z — avance del árbol KDE 2026-09-19 14:32:12 +00:00
Sergio 4b757721d7 estado: cosecha granja 2026-09-19T14:01:41Z — avance del árbol KDE 2026-09-19 14:01:42 +00:00
Sergio 0d2b55685a estado: cosecha granja 2026-09-19T13:31:42Z — avance del árbol KDE 2026-09-19 13:31:42 +00:00
Sergio c434383252 estado: cosecha granja 2026-09-19T13:01:43Z — avance del árbol KDE 2026-09-19 13:01:43 +00:00
Sergio a66d2b385e estado: cosecha granja 2026-09-19T12:31:25Z — avance del árbol KDE 2026-09-19 12:31:25 +00:00
Sergio 0b1a3199f9 estado: cosecha granja 2026-09-19T12:01:22Z — avance del árbol KDE 2026-09-19 12:01:22 +00:00
Sergio b7adb08144 estado: cosecha granja 2026-09-19T11:31:39Z — avance del árbol KDE 2026-09-19 11:31:39 +00:00
Sergio de71be94ac estado: cosecha granja 2026-09-19T11:01:26Z — avance del árbol KDE 2026-09-19 11:01:26 +00:00
Sergio d10700592f estado: cosecha granja 2026-09-19T10:31:23Z — avance del árbol KDE 2026-09-19 10:31:24 +00:00
Sergio e3ef36a478 estado: cosecha granja 2026-09-19T10:01:26Z — avance del árbol KDE 2026-09-19 10:01:26 +00:00
Sergio ec850187cc estado: cosecha granja 2026-09-19T09:31:23Z — avance del árbol KDE 2026-09-19 09:31:23 +00:00
Sergio b1b8eb00ef estado: cosecha granja 2026-09-19T09:01:23Z — avance del árbol KDE 2026-09-19 09:01:23 +00:00
Sergio bc9919ae08 estado: cosecha granja 2026-09-19T08:31:24Z — avance del árbol KDE 2026-09-19 08:31:24 +00:00
Sergio d50850304c estado: cosecha granja 2026-09-19T08:01:34Z — avance del árbol KDE 2026-09-19 08:01:34 +00:00
Sergio 563e7faf2f estado: cosecha granja 2026-09-19T07:31:23Z — avance del árbol KDE 2026-09-19 07:31:23 +00:00
Sergio f71a00876b estado: cosecha granja 2026-09-19T07:01:24Z — avance del árbol KDE 2026-09-19 07:01:24 +00:00
Sergio 29f9c3fc68 estado: cosecha granja 2026-09-19T06:31:23Z — avance del árbol KDE 2026-09-19 06:31:23 +00:00
Sergio 879393d866 estado: cosecha granja 2026-09-19T06:01:26Z — avance del árbol KDE 2026-09-19 06:01:26 +00:00
Sergio cf1052b769 estado: cosecha granja 2026-09-19T05:31:24Z — avance del árbol KDE 2026-09-19 05:31:24 +00:00
Sergio 9be8bdf332 estado: cosecha granja 2026-09-19T05:01:23Z — avance del árbol KDE 2026-09-19 05:01:23 +00:00
Sergio e4e82365a1 estado: cosecha granja 2026-09-19T04:31:23Z — avance del árbol KDE 2026-09-19 04:31:24 +00:00
Sergio a52fce2452 estado: cosecha granja 2026-09-19T04:01:25Z — avance del árbol KDE 2026-09-19 04:01:25 +00:00
Sergio ccd1f5f8a1 estado: cosecha granja 2026-09-19T03:31:22Z — avance del árbol KDE 2026-09-19 03:31:22 +00:00
Sergio 8bdafd8a6f estado: cosecha granja 2026-09-19T03:01:24Z — avance del árbol KDE 2026-09-19 03:01:24 +00:00
Sergio 40e58f1151 estado: cosecha granja 2026-09-19T02:31:22Z — avance del árbol KDE 2026-09-19 02:31:22 +00:00
Sergio 145e70900d estado: cosecha granja 2026-09-19T02:01:22Z — avance del árbol KDE 2026-09-19 02:01:22 +00:00
Sergio 7870e5ae20 estado: cosecha granja 2026-09-19T01:31:22Z — avance del árbol KDE 2026-09-19 01:31:22 +00:00
Sergio 2970fd3610 estado: cosecha granja 2026-09-19T01:01:27Z — avance del árbol KDE 2026-09-19 01:01:27 +00:00
Sergio fac9f64037 estado: cosecha granja 2026-09-19T00:31:33Z — avance del árbol KDE 2026-09-19 00:31:33 +00:00
Sergio 72745a5cbc estado: cosecha granja 2026-09-19T00:01:34Z — avance del árbol KDE 2026-09-19 00:01:34 +00:00
Sergio 9abe58d460 estado: cosecha granja 2026-09-18T23:31:34Z — avance del árbol KDE 2026-09-18 23:31:34 +00:00
Sergio 9772e466d2 estado: cosecha granja 2026-09-18T23:01:27Z — avance del árbol KDE 2026-09-18 23:01:27 +00:00
Sergio baa2fb4c3c estado: cosecha granja 2026-09-18T22:31:22Z — avance del árbol KDE 2026-09-18 22:31:22 +00:00
Sergio ebcec33ed3 estado: cosecha granja 2026-09-18T22:01:23Z — avance del árbol KDE 2026-09-18 22:01:23 +00:00
Sergio cc25d90209 estado: cosecha granja 2026-09-18T21:31:32Z — avance del árbol KDE 2026-09-18 21:31:32 +00:00
Sergio 96703f4870 estado: cosecha granja 2026-09-18T21:01:44Z — avance del árbol KDE 2026-09-18 21:01:44 +00:00
SergioandClaude Opus 5 5df1f86a0a la sesión extra moría por un BYTE 0x01 donde debía ir la retroreferencia del sed
Abrir una segunda sesión fallaba con «Error: ninguna imagen empieza por "\u{1}" — traela con hammer
qorpa pull». El `\u{1}` no era un misterio: la línea que extrae el sha de la imagen tenía un `sed`
con `\1` de reemplazo, y el fichero terminó guardando el BYTE 0x01 literal en su lugar. O sea que
`qorpa create --base` recibía el carácter de control.

Se reemplaza por un `awk` que parte por comillas: no tiene retroreferencias ni nada que otra
herramienta pueda reinterpretar al escribir el fichero. Y si la extracción sale vacía, ahora corta
con un mensaje que nombra el fichero, en vez de pasarle basura a qorpa.

Comprobado: la segunda sesión se crea y arranca (claude-sergio-3, Claude 2.1.240) con la primera
todavía abierta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 20:54:42 +00:00
Sergio 9b222a6aa3 estado: cosecha granja 2026-09-18T20:31:55Z — avance del árbol KDE 2026-09-18 20:31:55 +00:00
Sergio b9e5423064 granja: el git del corpus no tiene remote-https — el espejo de GitHub no se empuja desde la jaula 2026-09-18 20:21:23 +00:00
Sergio fd065720f5 granja: el -i ~/.ssh/github5 de todos los scripts es un no-op — entra el fallback a id_ed25519 2026-09-18 20:20:37 +00:00
Sergio 317ce48c16 estado: cosecha granja 2026-09-18T20:01:41Z — avance del árbol KDE 2026-09-18 20:01:41 +00:00
SergioandClaude Opus 5 3b3056428f shuma-tui no encontraba a su agente: nadie exportaba XDG_RUNTIME_DIR
El síntoma era «no hay agente atendiendo» y después «arranqué shuma-daemon y en 10 s no atendió
ningún socket», con un daemon de sergio VIVO al lado. La causa: esta caja no tiene logind, así que
nadie crea /run/user/<uid> ni exporta XDG_RUNTIME_DIR, y entonces cada programa elige su propio
repliegue y dejan de encontrarse — el tui buscaba en `$XDG_RUNTIME_DIR/shuma.sock`, o sea en la nada,
mientras el daemon abría `/tmp/shuma-<uid>.sock`. Dos repliegues distintos para el mismo acuerdo.

Ahora /etc/profile.d exporta XDG_RUNTIME_DIR y la card de arranque crea /run/user/<uid> para cada
cuenta con home. Comprobado en una sesión de login de verdad: XDG=/run/user/1001, el tui levanta su
agente ahí y lista los conjuntos guardados (shuma 4 puestos, telefono-864, los diag…), que estaban en
disco y no se perdieron al reiniciarlo.

Entra también la card del volumen de trabajo —esta caja no tiene fstab y el init no monta discos
nuevos— y quedan versionados /etc/profile y los dos profile.d, que hasta ayer no los leía nadie
porque /etc/profile no existía.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 19:45:46 +00:00
SergioandClaude Opus 5 2f9253886f tres arreglos que pidió el agente de adentro, y uno era mío
1) `publicar-webs.sh` corría como root y hacía el `git pull` igual: git dejó 24 entradas de root
dentro del .git de /work/sergio/tawasuyu —refs, logs, config, directorios de objetos— y el dueño se
quedó sin poder ni hacer `fetch` («unable to append to .git/logs/refs/remotes/origin/main»). El clon
quedó congelado 21 commits atrás sin que nada fallara del lado de root. Ahora el pull va COMO EL
DUEÑO, y los cuatro clones quedaron con sus permisos.

2) `cc-por-zig.sh` elegía el rust con `ls -d …/*-rust | tail -1`, que es el último ALFABÉTICO:
certificaba `fe277b32…` mientras la jaula usaba el vigente `6441302d…`. Dos artefactos distintos, uno
certificado y otro en uso. Ahora pregunta por el hash vigente de la receta y sólo cae al más reciente
—con el nombre exacto— si no puede. Lo detectó el agente comparando los dos guiones.

3) `rustdoc` entra en `tools`: el artefacto salía con cargo y rustc y SIN rustdoc, o sea que en una
caja takana `cargo doc` no existe. `docs = false` se queda —la documentación de la std es otra
decisión, cientos de MB—. Radio medido: 0 dependientes de build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 19:34:08 +00:00
Sergio 67f601305b estado: cosecha granja 2026-09-18T19:31:36Z — avance del árbol KDE 2026-09-18 19:31:36 +00:00
Sergio a6cefd9b5d .gitignore: /store sin barra — igual que .dev-fs, hoy es un SYMLINK
Misma causa y mismo síntoma que el `/.dev-fs` de esta tarde: `/store/` sólo ignora un directorio, y
un clon que quiera construir necesita `store -> /store` (así lo tiene /opt/takana). El enlace
aparecía como `?? store` en cada `git status`, que es ruido permanente en un repo donde varios
agentes leen ese status para separar lo suyo de lo ajeno.
2026-09-18 19:23:41 +00:00
Sergio 1a97da9839 exp-ec: tres fallos del propio arnés — sellaba basura y el veredicto no miraba el estado de salida
Los encontró la corrida en el worker, y los tres estaban disfrazados de resultado.

1. El `exit 77` se insertaba antes de la ÚLTIMA `'''` del fichero, que no siempre cierra una fase:
   una receta puede traer bloques `'''` después (un `[[service]]`, una nota larga). En `dwarves`,
   `elfutils` y `elfutils-libdw` cayó fuera de toda fase, el build corrió entero y SELLÓ — con el
   hash movido por el `set -e`, o sea tres artefactos basura. Ahora se rastrea la anidación.

2. El veredicto se leía con `grep "exit 77"` sobre el log, y takana IMPRIME el script de la fase:
   esa cadena aparece siempre porque la inyectamos nosotros. Daba SOBREVIVE hasta a un build que
   selló. Ahora se ata a `build phase falló (exit 77)`, que es el estado de salida de verdad.
   (Comprobado a posteriori que los 14 SOBREVIVE de la corrida buena sí habían salido 77.)

3. Sin `--store`, takana usa su default `/store`, que en el worker es un store de SCRATCH casi
   vacío — reconstruía el mundo en vez de reusar el de la granja (`./store`, 908 artefactos). Ahora
   el store va por `STORE`.

Y un guardián para lo que no debería volver a pasar: si un build SELLA, se clasifica
`SELLO-INDEBIDO` y se grita el hash, en vez de contarse como un resultado más. Los tres artefactos
basura ya se borraron del `/store` de scratch del worker; el store de la granja nunca se tocó.
2026-09-18 19:19:28 +00:00