hbox-docs/backend/lotes
Leopoldo Rodríguez 6e4178cb51 Lote 2026-10-27_fw070pre-banco-ardusimple: 0.7.0-pre en Descargas (prueba), procedimientos y actas V5.6/V5.7, faltan ArduSimple
- Descargas: hbox-tarjetaV56_0.7.0-pre.bin en prueba/ (112 456 B, SHA-256 8dd26047…), fila V5.6/V5.7 y aviso
  «solo banco»; notas de versión 0.7.0-pre; README del firmware al día (sync).
- Procedimientos (borrador, T43): prueba y flasheo V5.6/V5.7 (con la revisión del firmware: 4 flancos, 180 s,
  DIN_4G en 0 V en Q, DE de U7 y R48 en banco) y ensamble V5.6/V5.7.
- Actas nuevas: prueba-v56 / prueba-v57, ensamble V5.6 / V5.7, banco del piloto; series ARD/RTK hasta 100,
  V56/V57; expediente, actas, producción y admin conocen los tipos nuevos.
- Bitácora 27-oct: firmware, procedimientos y actas, faltan ArduSimple.
- Tablero (lote aplicado): t-compras-ardusimple, D-27-7, notas en t-fw-070, t-banco-v5-procedimiento-t43,
  t-v56-banco-piloto, t-v57-banco-prototipos, t-inventario-inicial, t-compras-prioridad, t-plan-570.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx
2026-10-27 20:33:16 -06:00
..
2026-10-21_pasada-6.json Sitio: v6 rev. 1.1 (T38 y propuesta α), plan v6 rev. 1.3, avisos de biblioteca en V5.6/V5.7, lote 2026-10-21_t38-v6 2026-10-22 09:43:20 -06:00
2026-10-21_t38-v6.json Sitio: v6 rev. 1.1 (T38 y propuesta α), plan v6 rev. 1.3, avisos de biblioteca en V5.6/V5.7, lote 2026-10-21_t38-v6 2026-10-22 09:43:20 -06:00
2026-10-22_auditoria-final.json Modo crisis: semáforo, sitio por pendiente, juntas; lote de crisis 2026-10-22 13:59:27 -06:00
2026-10-22_crisis.json Modo crisis: semáforo, sitio por pendiente, juntas; lote de crisis 2026-10-22 13:59:27 -06:00
2026-10-22_fota-4g.json FOTA por 4G: factibilidad por tarjeta (D-22-6) + lote 2026-10-22 16:24:23 -06:00
2026-10-22_fota-equipo.json FOTA: qué hace falta además del código + lote de equipo 2026-10-22 17:06:50 -06:00
2026-10-22_instalaciones.json Instalaciones por sitio, acta Prueba en sitio y lote 2026-10-22_instalaciones 2026-10-22 15:58:55 -06:00
2026-10-22_junta-instalacion.json Junta del 22-oct: responsables por sitio, piloto tras los quick wins, standup diario y lote 2026-10-22 16:34:39 -06:00
2026-10-22_t39-v6.json Modo crisis: semáforo, sitio por pendiente, juntas; lote de crisis 2026-10-22 13:59:27 -06:00
2026-10-22_t40-v6.json Instalaciones por sitio, acta Prueba en sitio y lote 2026-10-22_instalaciones 2026-10-22 15:58:55 -06:00
2026-10-22_t42a-v5.json FOTA: qué hace falta además del código + lote de equipo 2026-10-22 17:06:50 -06:00
2026-10-22_t43-designadores.json T43: designadores en orden en V5.6, V5.7 y v6 (D-22-8) + D-22-9; T42a aplicado 2026-10-22 18:20:46 -06:00
2026-10-23_inventario-sitios.json Inventario por sitio: pestañas, envíos en camino y kit por instalación 2026-10-23 13:33:51 -06:00
2026-10-23_revision-independiente.json Documentos de diseño V5.6/V5.7 v1.3 y v6 v1.1 (revisión independiente: ventana NTC ≈ +8…+60 °C, renglones del BOM, formato del §6); lote 2026-10-23_revision-independiente 2026-10-23 09:47:56 -06:00
2026-10-23_t44-documentos-diseno.json 23-oct: documentos de diseño V5.6/V5.7/v6 (página + PDF), T44 (serigrafía 0.8 mm, D-22-9 b) y páginas sincronizadas con los designadores de T43; lote 2026-10-23_t44-documentos-diseno 2026-10-23 09:01:37 -06:00
2026-10-23_t44b-separacion.json T44b: 0.40 mm entre textos en V5.6/V5.7 (d19c832); documentos de diseño V5.6/V5.7 v1.2 y T44 v1.2; lote 2026-10-23_t44b-separacion 2026-10-23 09:12:50 -06:00
2026-10-23_usuarios-campo.json Lote 2026-10-23_usuarios-campo como se aplicó: el espejo del cotizador ya existe; falta hacerlo privado 2026-10-23 14:52:26 -06:00
2026-10-23_usuarios-efrain-tania.json Cuentas de Efraín y Tania (administración y dirección, Querétaro) 2026-10-23 15:04:18 -06:00
2026-10-26_costeo-jlc.json 26-oct: revisión de la v6 después del fin de semana (D-26-1, regresión de la toma VIN de R80) y costeo JLC e importación (de la sesión del costeo, que estaba sin commit); lote 2026-10-26_v6-revision-fin-de-semana 2026-10-26 22:19:51 -06:00
2026-10-26_juntas-y-compras-hbox.json Lote 2026-10-26_juntas-y-compras-hbox: standup sin notas y la hoja de compras contra el paquete LFP-HT 26650 / NTC B3380 2026-10-26 22:43:13 -06:00
2026-10-26_revision-pedido-v56-v57.json 26-oct (noche): revisión independiente del pedido de V5.6/V5.7 (piloto NO-GO hasta A1–A6) 2026-10-26 23:52:56 -06:00
2026-10-26_v6-revision-fin-de-semana.json 26-oct: revisión de la v6 después del fin de semana (D-26-1, regresión de la toma VIN de R80) y costeo JLC e importación (de la sesión del costeo, que estaba sin commit); lote 2026-10-26_v6-revision-fin-de-semana 2026-10-26 22:19:51 -06:00
2026-10-26_v6-tareas-michelle.json Lote 2026-10-26_v6-tareas-michelle: tareas de Michelle en la v6 después de la revisión del 26-oct 2026-10-26 22:37:40 -06:00
2026-10-27_costeo-al-dia.json Lote 2026-10-27_costeo-al-dia: faltantes de JLC al día con T47 (solo RET6 y L3 para el volumen) 2026-10-27 18:23:07 -06:00
2026-10-27_decisiones-leo-1306.json 27-oct, 13:06: decisiones de Leo (D-26-1 a, D-22-4 b con T41, FOTA sí, 60 v6); instrucciones para Michelle v1.1 y para Leo v1.1; lote 2026-10-27_decisiones-leo-1306 2026-10-27 13:20:15 -06:00
2026-10-27_entrada-incidencias-agentes.json 27-oct: página de entrada, incidencias, standup, vigía y agente diario; integración del cotizador 2026-10-27 14:24:06 -06:00
2026-10-27_fw070pre-banco-ardusimple.json Lote 2026-10-27_fw070pre-banco-ardusimple: 0.7.0-pre en Descargas (prueba), procedimientos y actas V5.6/V5.7, faltan ArduSimple 2026-10-27 20:33:16 -06:00
2026-10-27_piloto-listo-una-sim.json 27-oct: piloto V5.6/V5.7 listo para pedir (T47), v6 con una sola SIM (T48) y sin sondas NTC externas (T49); instrucciones para Leo y Michelle; lote 2026-10-27_piloto-listo-una-sim 2026-10-27 12:00:11 -06:00
2026-10-27_t45-lista.json Lote 2026-10-27_t45-lista: título de t-v6-c-modem sin la RF LTE (pasa a T45b) 2026-10-27 14:25:55 -06:00
2026-10-27_t46-cpl.json 27-oct: T46 hecho (CPL de V5.6/V5.7 corregido en KiCad, 51dc51b): revisión, documentos de diseño, auditoría final, índice y bitácora; lote 2026-10-27_t46-cpl 2026-10-27 10:54:01 -06:00
README.md Modo crisis: semáforo, sitio por pendiente, juntas; lote de crisis 2026-10-22 13:59:27 -06:00

Lotes del tablero

Un lote es la lista de cambios al tablero de pendientes que deja una tarea terminada: qué se cerró, qué se abrió, qué se movió y por qué. Lo escribe Claude (que no llega al servidor) y lo aplica Leo:

./scripts/tablero.sh revisar     # qué haría cada lote nuevo, contra el tablero de ahora; no escribe nada
./scripts/tablero.sh aplicar     # lo aplica y baja la foto nueva a _estado/

backend/tablero.py hace el trabajo en el servidor: llama al mismo backend que el sitio (127.0.0.1:8081) con el usuario del campo autor, así que cada cambio pasa por las mismas validaciones y queda en el historial del pendiente con su autor y su nota. En la página de inicio se ve en Actividad como cualquier otro cambio («Claude terminó …»).

Reglas

  1. Un lote por tarea terminada, con nombre AAAA-MM-DD_tema.json igual a su campo lote.
  2. Un lote aplicado no se edita. Si algo salió mal, se escribe otro lote. tablero.py se niega a seguir si un cambio ya aplicado no es igual al del archivo.
  3. Nunca se reaplica. Lo aplicado se anota en /srv/projects/drogheda/lotes-aplicados.json; si alguien deshace un cambio a mano, el lote no lo vuelve a hacer.
  4. No se toca lo que ya está en Hecho, salvo que el cambio lo diga con si_estado.
  5. Cada cambio a un pendiente existente lleva nota: el porqué, en una o dos frases (≤ 300 caracteres; si es más larga, se recorta a 300 y revisar lo avisa). Es lo que la gente lee en el historial.
  6. Un lote con errores de formato se salta (y revisar dice por qué); los demás lotes sí se aplican.
  7. Se busca antes de crear. crear usa un id fijo (si ya existe, se salta) y si_no_hay evita duplicar un pendiente que alguien ya abrió a mano con otro id.
  8. Leo revisa antes de aplicar. revisar muestra cada cambio contra el tablero real; lo que no cuadra se salta y se dice por qué (no existe, ya está en Hecho, el título coincide con varios…).

Formato

{
  "lote": "2026-10-21_pasada-6",
  "autor": "claude",
  "motivo": "Pasada 6 de V5.6 y V5.7 hecha por Claude: cobre listo para Gerber",
  "fuente": "/hardware/v56-v57-auditoria-21oct/#6-pasada-6-hecha-por-claude-t34-a-t37",
  "cambios": [
    { "id": "t-v56-pasada-2",
      "poner": { "estado": "hecho" },
      "nota": "Cerrado: le siguieron las pasadas 3 a 6." },

    { "buscar": "pasada 3", "todos": true,
      "poner": { "estado": "hecho" },
      "nota": "Cerrado: la pasada 6 dejó el cobre listo para Gerber." },

    { "buscar": ["revisión pad a pad", "-v6"],
      "si_estado": ["por-hacer", "bloqueado"],
      "poner": { "estado": "en-curso", "responsable": "leo, claude", "fecha_limite": "2026-10-22" },
      "nota": "Revisión hecha; falta el paquete de fabricación." },

    { "crear": { "id": "d-21-2-c149-c150", "titulo": "D-21-2: ¿C149/C150 se quedan?",
                 "pista": "ingenieria", "estado": "por-hacer", "responsable": "leo",
                 "version_tarjeta": "V5.7", "fecha_limite": "2026-10-22",
                 "descripcion": "…", "enlaces": [{ "titulo": "Por qué", "url": "/hardware/…" }],
                 "etiquetas": ["decisión"] },
      "si_no_hay": ["D-21-2"] }
  ]
}
Llave Dónde Qué hace
lote, autor, motivo lote Obligatorias. autor es el usuario con el que se escribe (claude; Leo usa leo). fuente: liga opcional al documento que respalda el lote
id / buscar cambio El pendiente: por su id, o por un texto de su título, sin importar acentos, mayúsculas ni signos. buscar también puede ser una lista: el título debe tener todos los textos y "-texto" quiere decir «que no lo tenga» (["piloto", "v5.6", "-banco"]). Tiene que coincidir con uno solo, primero entre los abiertos
todos cambio Con buscar: aplica el cambio a todos los abiertos que coincidan (por ejemplo, cerrar todas las «pasada 3»)
si_estado cambio Solo aplica si el pendiente está en uno de estos estados. Por omisión: por hacer, en curso o bloqueado
poner cambio Los campos que cambian: titulo, descripcion, pista, estado, responsable, fecha_limite, enlaces, etiquetas, bloqueada_por, version_tarjeta. Lo que ya tiene ese valor no se manda
nota cambio Obligatoria. Comentario en el historial; sin poner, el cambio es solo el comentario
crear cambio Pendiente nuevo, con los mismos campos que el formulario del sitio más un id fijo (t-…, d-…): titulo, pista, responsable obligatorios
si_no_hay cambio Con crear: no lo crea si hay un pendiente abierto cuyo título contenga alguno de estos textos

Valores: pista ∈ ingenieria · produccion · mecanica · compras · campo · gestion (desde el 22-oct); estado ∈ por-hacer · en-curso · bloqueado · hecho; version_tarjeta ∈ V5.5 · V5.6 · V5.7 · v6 · —; responsable, ids del Equipo separados por coma; fecha_limite AAAA-MM-DD; sitios (desde el 22-oct) = lista de icave (Veracruz) · timsa (Manzanillo) · eit (Ensenada) · lzc (LCT) · qro (Querétaro: fabricación e ingeniería) — un pendiente puede tener varios; sin sitios, cuenta como Querétaro. Con un backend sin reiniciar, revisar marca los cambios con sitios como inválidos.

La foto

./scripts/tablero.sh foto (y cada ./scripts/deploy.sh) baja el tablero a _estado/ en la Mac: tablero.json (pendientes con su historial, enfoque de la semana, actividad de 14 días y lotes aplicados) y tablero.md (lo mismo para leer). _estado/ no va a git. Claude la lee al empezar una tarea para saber qué hay, quién lo tiene y qué ids usar.