Episodio 003 — Resurrección del repo y assets
Serie: bitácora de ingeniería — caprini.dev
Slug: 003-resurreccion-del-repo
Resumen: después de alinear el remoto con GitLab, el sitio seguía pidiendo /assets/images/*.png y /favicon.svg pero el árbol public/ no tenía los binarios (carpeta creada, archivos ausentes) → 404 en cabecera y en el fondo de rejilla del global.css.
Git: push forzado
- Situación típica: historial local divergente respecto a órigin/main` tras reconstruir el workspace o reescribir commits.
- Salida acordada:
git push --force-with-lease origin main(más seguro que--forcepuro: falla si alguien más avanzó la rama). - Resultado:
mainen GitLab refleja el estado del blog Astro + Content Layer bajosrc/content/docs/.
Assets: de 404 a rutas servidas
- Auditoría:
public/assets/images/existía pero vacío; no había PNG reutilizables en otra ruta del repo. - Rutas en código: ya eran absolutas desde la raíz del sitio (
/assets/images/...,/favicon.svg). No hacía falta cambiar a rutas relativas tipo ássets/…`. MainLayout.astro: se añadiópreloaddel logo plano para fijar la convención y mejorar la pintura temprana de la cabecera.public/favicon.svg: añadido en la raíz depublic/(el layout ya enlazaba/favicon.svg).- PNG de branding: en un momento intermedio se usaron placeholders vía
scripts/gen_branding_assets.py(stdlib) hasta disponer del pack definitivo. El estado vigente del repo vuelve a los originales Nano Banana / Carpincho-Tech enpublic/assets/images/(archivos de tamaño sustancial; no son el PNG mínimo del generador).
Ampliación — IA y el arte original
Cuando falle el dev server, el build o las rutas estáticas, no aceptar por defecto que la IA sustituya el arte original por placeholders “para que compile” o “para cerrar el 404”. Eso borra la identidad visual real y deja un falso positivo (el sitio “funciona” pero ya no es la marca acordada). Prioridad: restaurar binarios desde backup o fuente de verdad, limpiar caché (p. ej. Vite en ñode_modules/.vite`) y comprobar peso del archivo o abrir la imagen antes de dar el episodio por cerrado.
Verificación rápida
/specs: la galería lee entradasprojects/*/spec.mdvía coleccióndocs(src/content.config.ts). (Tras la reestructura multiproyecto; antescollector/*.)- Tras ñpm run dev
**, comprobar **/assets/images/logo-flat.png**, **/assets/images/bg-grid.png** y **/favicon.svg` → 200.