Repository navigation
Fase 3: especie cactus, tema de la web, Trusted Types, acciones por SHA y binario precompilado preparado - #57
Merged
Merged
Conversation
- theme.js en <head> (sin parpadeo): data-theme, <source> y theme-color forzados o restaurados; localStorage commitling:theme con lista cerrada (light, dark); «Sistema» borra la clave; todo con try/catch. - CSP: require-trusted-types-for 'script'; trusted-types commitling. La única política (generator.js) solo crea la URL de wasm_exec.js. - Tests: theme.test.js (Node), theme_test.go, escenarios de Trusted Types en generator.test.js y CSP. gallery.go/gallery_test.go incluyen ya la intro y el recuento de archivos de la especie cactus (commit siguiente). Interfaz hecha por GPT-5.6 Luna (delegado) y revisada y corregida por Claude (lectura de valores fuera de lista, test de almacenamiento); Trusted Types por Claude. Probado en Chromium: 0 violaciones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Yema, Bolita, Cactus, Cactus con brazos y Cactus centenario, en su maceta. Musgo y hongo salen byte a byte iguales (galería y CLI comparadas con main). La imagen OG se reajusta para tres filas; install.js escribía «species: mushroom» para cualquier especie no predeterminada: ahora la que se elige. Andamiaje y tests por GPT-5.6 Luna (delegado); sus mapas no valían (una fila de 15 píxeles, «con brazos» sin brazos) y los redibujó Claude. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- checkout, setup-go, upload-pages-artifact y deploy-pages fijadas por SHA con su versión en comentario, también en action.yml (test). - scripts/build-release.sh: binarios reproducibles de 6 plataformas; release.yml los sube al publicar una release si coinciden con release/checksums.txt. - action.yml: paso bin que solo usa un binario cuyo SHA-256 está en el release/checksums.txt de su propio árbol; si no, setup-go y go run como siempre. Sin ese archivo (hoy) nada cambia. Job «binario» en action-test con las tres rutas; paso de cactus en la prueba de la Action. Hecho por Claude; revisión cruzada de GPT-5.6 Luna (--agent plan). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lado) Documentación hecha por Claude. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Index < 0) Arreglo de Claude tras el job de seguridad del CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- build-release.sh exporta GOFLAGS=-p=2 GOEXPERIMENT= GOFIPS140=off: el entorno (p. ej. GOFLAGS=-tags=…, que queda en el binario) ya no cambia los SHA-256. El CI recompila con GOFLAGS=-tags=zzz y compara; test. Los SHA-256 no cambian (comprobado en la Raspberry). - Paso bin de action.yml: mkdir, sha256sum/shasum y chmod ya no pueden cortar el job con bash -e -o pipefail (siempre cae a go run); test. Arreglos de Claude. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fase 3: especie cactus, tema de la web, Trusted Types, acciones por SHA y binario precompilado preparado
Termina lo pendiente del PLAN que más se nota. La interfaz de
action.ymlno cambia (entradas, salidapath, archivos, SVG) y musgo y hongo salen byte a byte iguales. No se crea ninguna release ni se mueve ninguna etiqueta.Qué cambia
species: cactus), sprites pixel-art propios: Yema → Bolita → Cactus → Cactus con brazos → Cactus centenario, en su maceta. Galería (58 archivos nuevos), compacta, OG (reajustada a tres filas), generadores de la web, CLI, docs.install.jsescribíaspecies: mushroompara cualquier especie no predeterminada: corregido.theme.jsen<head>), cambia también todas las tarjetas (<source media>) ytheme-color. Guardacommitling:theme(sololight/dark; «Sistema» borra la clave; otro valor se ignora y se borra). Sin JS sigue al sistema. CSP sin cambios salvo Trusted Types.require-trusted-types-for 'script'; trusted-types commitling. Única política engenerator.js, solo parawasm_exec.js.# vX.Y.Z) en los workflows y enaction.yml; test que lo vigila. Dependabot las sigue actualizando.scripts/build-release.sh(reproducible),.github/workflows/release.yml(solo al publicar una release), pasobinenaction.ymlque solo usa un binario cuyo SHA-256 esté en elrelease/checksums.txtde su propio árbol. Ese archivo no existe en este PR → la Action hace exactamente lo de antes (setup-go+go run).Cómo se ha probado
gofmt,go vet(también wasm),go test ./...en la Raspberry (GOFLAGS=-p=2); tests de Node (generador, instalador, tema).mainvs rama: los 120 SVG y el favicon existentes idénticos; CLI idéntica en las 8 combinaciones de musgo/hongo; las 96 huellas de v0.5.0 pasan.innerHTML/script.srccon cadena y una política ajena quedan bloqueados; sin desbordes a 320 px.binsimulado en local: binario bueno → se usa; manipulado → se borra y compila; sin release → compila; sinchecksums.txt→ no hace nada. En el CI, jobbinariocon las mismas tres rutas.Quién hizo qué
--agent plan(un hallazgo, ver informe).Tras fusionar (Alberto)
Release
v0.8.0con las notas del CHANGELOG y moverv1. Opcional: activar el binario precompilado (docs/DESARROLLO.md).🤖 Generated with Claude Code