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>
This commit is contained in:
Sergio
2026-09-18 19:34:08 +00:00
co-authored by Claude Opus 5
parent 67f601305b
commit 2f9253886f
3 changed files with 30 additions and 3 deletions
+10 -1
View File
@@ -96,7 +96,16 @@ change-id = "ignore"
build = "x86_64-alpine-linux-musl"
docs = false
extended = true
tools = ["cargo"]
# ⚠ `rustdoc` ENTRA (2026-09-18). Antes iba sólo `cargo`, y el artefacto salía con
# `cargo rustc rust-gdb rust-gdbgui rust-lldb` y **sin rustdoc**: o sea que en una caja takana
# `cargo doc` no existe. Para una distro que ENVÍA un toolchain de Rust es un hueco de la misma
# familia que las proc-macros que no enlazaban: todo presente, y una cosa que la gente hace a
# diario, imposible. Lo levantó el agente que trabaja enjaulado.
# `docs = false` se QUEDA: eso construye la documentación de la `std` —cientos de MB y mucho rato— y
# es otra decisión. Esto agrega sólo la HERRAMIENTA, para documentar el código de uno.
# Radio medido antes de tocar: `yupana radio rust` da 0 dependientes de build; toca la imagen
# `servidor`, que es re-ensamblar, no reconstruir.
tools = ["cargo", "rustdoc"]
local-rebuild = true
# Hay que NOMBRAR el stage0 aunque ya esté en el PATH: sin estas dos líneas, x.py se salta el
# compilador local y va a DESCARGAR el toolchain de `static.rust-lang.org` — que en un sandbox sin