Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016X4CAujMuib2tDqt9JRg6X |
||
|---|---|---|
| .. | ||
| 2026-10-21_pasada-6.json | ||
| 2026-10-21_t38-v6.json | ||
| 2026-10-22_auditoria-final.json | ||
| 2026-10-22_crisis.json | ||
| 2026-10-22_fota-4g.json | ||
| 2026-10-22_fota-equipo.json | ||
| 2026-10-22_instalaciones.json | ||
| 2026-10-22_junta-instalacion.json | ||
| 2026-10-22_t39-v6.json | ||
| 2026-10-22_t40-v6.json | ||
| 2026-10-22_t42a-v5.json | ||
| 2026-10-22_t43-designadores.json | ||
| 2026-10-23_inventario-sitios.json | ||
| 2026-10-23_revision-independiente.json | ||
| 2026-10-23_t44-documentos-diseno.json | ||
| 2026-10-23_t44b-separacion.json | ||
| 2026-10-23_usuarios-campo.json | ||
| README.md | ||
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
- Un lote por tarea terminada, con nombre
AAAA-MM-DD_tema.jsonigual a su campolote. - Un lote aplicado no se edita. Si algo salió mal, se escribe otro lote.
tablero.pyse niega a seguir si un cambio ya aplicado no es igual al del archivo. - 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. - No se toca lo que ya está en Hecho, salvo que el cambio lo diga con
si_estado. - 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 yrevisarlo avisa). Es lo que la gente lee en el historial. - Un lote con errores de formato se salta (y
revisardice por qué); los demás lotes sí se aplican. - Se busca antes de crear.
crearusa unidfijo (si ya existe, se salta) ysi_no_hayevita duplicar un pendiente que alguien ya abrió a mano con otro id. - Leo revisa antes de aplicar.
revisarmuestra 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.