hbox-docs/scripts/sync-docs.sh

180 lines
20 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# Sincroniza el subconjunto de técnicos desde el repo Drogheda (el padre de este submódulo)
# hacia docs/. Ejecutar desde la raíz de hbox-docs: ./scripts/sync-docs.sh
# La lista de abajo ES la política de publicación: lo que no está aquí, no se publica.
set -euo pipefail
cd "$(dirname "$0")/.."
SRC="${DROGHEDA_ROOT:-..}" # hbox-docs vive como submódulo directo de Drogheda
# NOTA (2026-09-29): las portadas de sección docs/index.md, docs/produccion/index.md, docs/taller/index.md,
# docs/campo/index.md y docs/hardware/index.md, junto con docs/stylesheets/extra.css y docs/img/, viven SOLO en
# hbox-docs (no vienen del repo Drogheda) y no están en este MAP a propósito: el script no las toca ni las borra.
declare -a MAP=(
"06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md|docs/procedimientos/v5-prueba-y-flasheo.md"
"06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md|docs/procedimientos/v5-modulos-integracion.md"
"06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md|docs/procedimientos/v5-ensamble.md"
"06-Testing-Validation/2026-09-18_Drogheda_HBOX-v5_Prueba-Final-Unidad-FW-0.4.0_ES_v1.0.md|docs/procedimientos/v5-prueba-final-unidad.md"
"06-Testing-Validation/2026-07-08_Drogheda_EinarBoard-1.0_BringUp-Runbook_v1.0.md|docs/procedimientos/einarboard-1.0-bringup.md"
"06-Testing-Validation/2026-08-18_Drogheda_FW-v3.0.3_Fan-Policy_Bench-Test_v1.0.md|docs/procedimientos/fan-policy-bench-test.md"
"03-Architecture-Hardware/watchdog-proto-bench-bringup-v3.md|docs/procedimientos/historico-proto-bench-v3.md"
"03-Architecture-Hardware/watchdog-protoboard-bringup.md|docs/procedimientos/historico-protoboard.md"
"06-Testing-Validation/remote-diagnostic-protocol.md|docs/diagnostico/protocolo-diagnostico-remoto.md"
"03-Architecture-Hardware/harness-connector-pinout.md|docs/montaje/pinout-arneses.md"
"03-Architecture-Hardware/Assembly-BOM-Split.md|docs/montaje/bom-split.md"
"03-Architecture-Hardware/0007-1000_Assembly_Guide.pdf|docs/montaje/0007-1000_Assembly_Guide.pdf"
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_Colaboradores-Externos_ES.md|docs/git/guia-git-es.md"
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_External-Collaborators_EN.md|docs/git/git-guide-en.md"
# Descargas para técnicos (firmware de bring-up v5)
# Versión nueva: su .bin va a docs/descargas/ y la anterior a docs/descargas/superseded/. El script no borra:
# el .bin anterior que quedó en docs/descargas/ se mueve a mano (mv) a superseded/.
# En prueba de banco (no para campo): docs/descargas/prueba/. Cuando pasa el banco, su .bin se mueve (mv) a
# docs/descargas/, la vigente anterior a superseded/, y se corrigen estas líneas.
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.3.bin|docs/descargas/prueba/hbox-v5-bringup_0.6.3.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.3.bin|docs/descargas/prueba/hbox-tarjetaV4_0.6.3.bin"
"04-Source-Code/firmware/tools/phtst_report.py|docs/descargas/prueba/phtst_report.py"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.0.bin|docs/descargas/hbox-v5-bringup_0.6.0.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.9.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.9.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.8.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.8.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.7.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.7.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.6.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.6.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.5.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.5.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.4.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.4.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.3.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.3.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/superseded/hbox-v5-bringup_0.4.0.bin|docs/descargas/superseded/hbox-v5-bringup_0.4.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV3_3.0.4.bin|docs/descargas/superseded/hbox-tarjetaV3_3.0.4.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV3_4.0.0.bin|docs/descargas/hbox-tarjetaV3_4.0.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.0.bin|docs/descargas/hbox-tarjetaV4_0.6.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.1.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.9.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.9.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.8.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.8.bin"
# Documentación 2026-09-29: datasheet, pinout V5.6, manuales por tarjeta, procedimientos de configuración/Ethernet/serie, manual de cliente
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-V5.6_Datasheet_ES_v1.0.md|docs/hardware/v56-datasheet.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_HBOX-V5_Harness-Connector-Pinout_v1.0.md|docs/hardware/v56-pinout.md"
"03-Architecture-Hardware/manuales/index.md|docs/manuales/index.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V5.md|docs/manuales/manual-tarjeta-V5.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V4.md|docs/manuales/manual-tarjeta-V4.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V3.md|docs/manuales/manual-tarjeta-V3.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-v6.md|docs/manuales/manual-tarjeta-v6.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Configuracion-de-Unidad_ES_v1.0.md|docs/procedimientos/v5-configuracion-unidad.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Prueba-Ethernet-y-Puertos-Serie_ES_v1.0.md|docs/procedimientos/v5-prueba-ethernet-serie.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Checklist-Puesta-en-Marcha_ES_v1.0.md|docs/procedimientos/v5-checklist-puesta-en-marcha.md"
"03-Architecture-Hardware/Drogheda-Manual-Instalacion-Operacion_v2.0.pdf|docs/manuales/Drogheda-Manual-Instalacion-Operacion_v2.0.pdf"
"Marketing/HBOX-Datasheet/Drogheda-HBOX-Datasheet_v2.0.pdf|docs/manuales/Drogheda-HBOX-Datasheet_v2.0.pdf"
"00-Project-Management/2026-09-29_Drogheda_Guia-Ingeniero-Sitio_ES_v1.0.md|docs/guia-ingeniero.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-V5.6_Instrucciones-Layout_ES_v1.0.md|docs/hardware/v56-layout-instrucciones.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-V5.6_Schematic-Change-Report_v1.0.md|docs/hardware/v56-cambios-esquematico.md"
"03-Architecture-Hardware/2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md|docs/hardware/v56-eco.md"
# v6 (en diseño)
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0.md|docs/hardware/v6-auditoria-completa.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Schematic-Change-Report_v1.0.md|docs/hardware/v6-cambios-esquematico.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Review-vs-V5.5-Lessons_v1.0.md|docs/hardware/v6-revision-lecciones-v55.md"
"03-Architecture-Hardware/pinmap-v6.md|docs/hardware/v6-pinmap.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Plan-de-Correccion_v1.0.md|docs/hardware/v6-plan-correccion.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Cambios-Resumen_v1.0.md|docs/hardware/v6-cambios-resumen.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Ports-and-No-Respin_v1.0.md|docs/hardware/v6-puertos-sin-nueva-version.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Final-Check_v1.0.md|docs/hardware/v6-revision-final.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0_EN.md|docs/hardware/v6-full-audit.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-v6_Proximos-Pasos-Pedido_v1.0.md|docs/hardware/v6-proximos-pasos.md"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.7.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.7.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.6.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.6.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.5.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.5.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.4.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.4.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.3.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.3.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/README.md|docs/descargas/hbox-v5-bringup-README.md"
# 2026-10-07: V4 sin NMEA — riel SW_5V y arranque del F9P (procedimiento + mapa de puntos de medicion)
"06-Testing-Validation/2026-10-06_Drogheda_Procedimiento-Banco-V4_Riel-SW5V-y-F9P_v1.2.md|docs/procedimientos/v4-prueba-riel-sw5v-f9p.md"
"06-Testing-Validation/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.png|docs/procedimientos/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.png"
"06-Testing-Validation/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.pdf|docs/procedimientos/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.pdf"
# 2026-10-13: V5.6 layout (pasadas 1 y 2 de Michelle, auditoría del 13-oct) y V5.7 fuente a bordo (ECO + guía de layout)
"03-Architecture-Hardware/2026-10-12_Drogheda_Instrucciones-Michelle_V5.6-Layout-Final_ES.md|docs/hardware/v56-layout-pasada-1.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_Instrucciones-Michelle_V5.6-Pasada-2_ES.md|docs/hardware/v56-layout-pasada-2.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_EinarBoard-V5.6_Audit-Michelle-Pass_NOT-READY_EN.md|docs/hardware/v56-auditoria-layout-13oct.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_EinarBoard-V5.7_ECO-Fuente-a-bordo_ES_v0.2.md|docs/hardware/v57-eco-fuente.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_Guia-Leo_V5.7-Layout-Fuente_ES.md|docs/hardware/v57-layout-guia.md"
"03-Architecture-Hardware/2026-10-14_Drogheda_V5.7_Colocacion-y-Ruteo_Michelle_ES.md|docs/hardware/v57-colocacion-ruteo.md"
# 2026-10-16: auditoría de producción V5.6 / V5.7 / v6 y pasada 3 de layout (V5.6 + V5.7)
"03-Architecture-Hardware/2026-10-16_Drogheda_Auditoria-Produccion_V5.6-V5.7-v6_ES_v1.0.md|docs/hardware/auditoria-produccion-16oct.md"
"03-Architecture-Hardware/2026-10-16_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-3_ES.md|docs/hardware/v56-v57-layout-pasada-3.md"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_Paso3-V57-Capas-Internas_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_Paso3-V57-Capas-Internas_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_Paso4-V57-Fuente-U25_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_Paso4-V57-Fuente-U25_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_Paso5-Robustez_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_Paso5-Robustez_v1.0.png"
# 2026-10-16 (tarde): auditoría de producción de la v6 y plan de fines de semana (17-oct → 15-nov)
"03-Architecture-Hardware/2026-10-16_Drogheda_Auditoria-Produccion_v6_ES_v1.0.md|docs/hardware/v6-auditoria-produccion-16oct.md"
"03-Architecture-Hardware/2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md|docs/hardware/v6-plan-fines-de-semana.md"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_v6-Potencia_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_v6-Potencia_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_v6-Tierras_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_v6-Tierras_v1.0.png"
"03-Architecture-Hardware/img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png|docs/hardware/img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png"
# 2026-10-19: re-auditoría V5.6 / V5.7 / v6, pasada 4 (cierre V5.6/V5.7) y script T30
"03-Architecture-Hardware/2026-10-19_Drogheda_Re-Auditoria_V5.6-V5.7-v6_ES_v1.0.md|docs/hardware/re-auditoria-19oct.md"
"03-Architecture-Hardware/2026-10-19_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-4_ES.md|docs/hardware/v56-v57-layout-pasada-4.md"
"03-Architecture-Hardware/img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png|docs/hardware/img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png"
"03-Architecture-Hardware/img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png|docs/hardware/img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png"
"03-Architecture-Hardware/img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png|docs/hardware/img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png"
"03-Architecture-Hardware/img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png|docs/hardware/img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png"
# 2026-10-19 (tarde): V5.6 — qué es crítico y qué se puede quedar (C129 en VSYS de U6)
"03-Architecture-Hardware/2026-10-19_Drogheda_V5.6_Clasificacion-Criticos_ES_v1.0.md|docs/hardware/v56-clasificacion-19oct.md"
"03-Architecture-Hardware/img/2026-10-19_Drogheda_V5.6-Clasificacion-Criticos_v1.0.png|docs/hardware/img/2026-10-19_Drogheda_V5.6-Clasificacion-Criticos_v1.0.png"
# 2026-10-20: T31 (C129 entra y Dbk2 sale del esquemático de V5.6/V5.7) — figura de la pasada 4
"03-Architecture-Hardware/img/2026-10-20_Drogheda_T31-C129-y-Dbk2_v1.0.png|docs/hardware/img/2026-10-20_Drogheda_T31-C129-y-Dbk2_v1.0.png"
# 2026-10-21: auditoría de la pasada 4 de Michelle (V5.6 85e7602, V5.7 1416dcb)
"03-Architecture-Hardware/2026-10-21_Drogheda_Auditoria-Pasada-4_V5.6-V5.7_ES_v1.0.md|docs/hardware/v56-v57-auditoria-21oct.md"
"03-Architecture-Hardware/img/2026-10-21_Drogheda_Auditoria-Pasada-4-V56-V57_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_Auditoria-Pasada-4-V56-V57_v1.0.png"
"03-Architecture-Hardware/img/2026-10-21_Drogheda_T33-Arreglos-y-Pendientes_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_T33-Arreglos-y-Pendientes_v1.0.png"
# 2026-10-21 (noche): estado de la v6 con T25 + T28 aplicados y revisión de la pasada 5 de V5.6/V5.7
"03-Architecture-Hardware/2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md|docs/hardware/v6-estado-21oct.md"
"03-Architecture-Hardware/img/2026-10-21_Drogheda_v6-Estado-U25-Barrenos_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_v6-Estado-U25-Barrenos_v1.0.png"
"03-Architecture-Hardware/img/2026-10-21_Drogheda_Pasada-5-V56-V57_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_Pasada-5-V56-V57_v1.0.png"
# 2026-10-21 (noche): pasada 6 hecha por Claude con T34–T37 (V5.6 y V5.7)
"03-Architecture-Hardware/img/2026-10-21_Drogheda_Pasada-6-T34-T37_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_Pasada-6-T34-T37_v1.0.png"
# 2026-10-21 (noche): T38 en la v6 (courtyards, MH6, regla de barrenos) y propuesta α del bloque A
"03-Architecture-Hardware/img/2026-10-21_Drogheda_v6-T38-Courtyards-U25-Barrenos_v1.0.png|docs/hardware/img/2026-10-21_Drogheda_v6-T38-Courtyards-U25-Barrenos_v1.0.png"
# 2026-10-22: T39 en la v6 (bloque A con la propuesta α, In1/In2 limpios, MH8 libre)
"03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png"
# 2026-10-22 (tarde): T40 en la v6 (MH4 libre: D23/D24 fuera del barreno, /SIM_CLK por In1, /NTC alrededor)
"03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png"
# 2026-10-22: auditoría final de producción de V5.6 y V5.7 (GO al piloto con 3 condiciones): doc, protocolo, PDFs y 8 figuras
"03-Architecture-Hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md|docs/hardware/auditoria-final-22oct.md"
"03-Architecture-Hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_Protocolo_ES_v1.0.md|docs/hardware/auditoria-final-protocolo.md"
"03-Architecture-Hardware/Auditoria-Final-V56-V57/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.pdf|docs/hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.pdf"
"03-Architecture-Hardware/Auditoria-Final-V56-V57/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_Presentacion_ES_v1.0.pdf|docs/hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_Presentacion_ES_v1.0.pdf"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.6-Cara-Superior_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_V5.6-Cara-Superior_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.7-Cara-Superior_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_V5.7-Cara-Superior_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_Relleno-Viejo-vs-Gerber_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_Relleno-Viejo-vs-Gerber_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_U6-Pasta-Vias_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_U6-Pasta-Vias_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_RS1-Kelvin-Final_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_RS1-Kelvin-Final_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_Autonomia-Ciclo_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_Autonomia-Ciclo_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_Matriz-Riesgo_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_Matriz-Riesgo_v1.0.png"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.7-Fuente-U25_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_V5.7-Fuente-U25_v1.0.png"
# 2026-10-22 (tarde): FOTA por 4G — factibilidad por tarjeta (D-22-6)
"02-Architecture-Software/2026-10-22_Drogheda_FOTA-por-4G_Factibilidad_ES_v1.0.md|docs/hardware/fota-4g-factibilidad.md"
"02-Architecture-Software/img/2026-10-22_Drogheda_FOTA-4G-Caminos-por-Tarjeta_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_FOTA-4G-Caminos-por-Tarjeta_v1.0.png"
# 2026-10-22 (tarde): victorias rápidas V5.6/V5.7 (T42a: BOM con existencia, /IGN_IN en In1, E-11) y D-22-7
"03-Architecture-Hardware/2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md|docs/hardware/v56-v57-victorias-rapidas-22oct.md"
"03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png|docs/hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png"
)
n=0
for entry in "${MAP[@]}"; do
src="$SRC/${entry%%|*}"; dst="${entry##*|}"
if [ ! -f "$src" ]; then echo "AVISO: falta $src (¿renombrado?)" >&2; continue; fi
mkdir -p "$(dirname "$dst")"
cp "$src" "$dst"
n=$((n+1))
done
# SHA256SUMS se GENERA de los .bin que de verdad se publican (antes se copiaba el del v5 y
# borraba las lineas de los demas firmwares). Asi la lista nunca miente sobre la carpeta.
( cd docs/descargas && shopt -s nullglob && shasum -a 256 *.bin prueba/*.bin superseded/*.bin > SHA256SUMS.txt )
echo "SHA256SUMS.txt regenerado: $(wc -l < docs/descargas/SHA256SUMS.txt) binarios"
echo "sincronizados $n archivos desde $SRC"
echo "Revisa 'git status' y haz commit de los cambios que quieras publicar."