From 07e461d07f066d1bab3e69a3f411d7998557e1ba Mon Sep 17 00:00:00 2001 From: Johann Date: Wed, 29 Jul 2026 00:13:51 -0600 Subject: [PATCH] Ordena el ajuste Jira antes de las actividades propias de la Etapa 2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El bloque quedó anidado bajo la Etapa 2 en el commit anterior, pero se pintaba DESPUÉS de las 10 actividades propias de la etapa (29 jul-12 ago) aunque sus 3 días (27-29 jul) son cronológicamente anteriores — al leer de arriba a abajo, la fecha retrocedía 2 semanas de golpe. Se movió el bloque Jira a inmediatamente debajo del encabezado de Etapa 2 y antes de sus propias actividades: la lectura ahora es monotónica (27, 28, 29, 29, 30, 31 jul... 12 ago) sin perder el anidado visual del turno anterior. No se tocó el orden interno de Etapa 0/Etapa 1: su ligero traslape de fechas (el desarrollo de Etapa 1 arrancó mientras se cerraba la validación de Etapa 0) es agrupación real por etapa contractual, no un error de orden — desintercalarlas rompería la estructura sin ganar claridad. Co-Authored-By: Claude Sonnet 5 --- planeacion/Avance-Balam-2026-07-28.xlsx | Bin 9971 -> 9975 bytes .../generar_plan_completo_2026_07_28.py | 37 ++++++++++++------ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/planeacion/Avance-Balam-2026-07-28.xlsx b/planeacion/Avance-Balam-2026-07-28.xlsx index c286ecbf7c002dbf46607fccc62c5a80f9b146f6..e81ae1445690b937c9de0f778b903f7f5862730f 100644 GIT binary patch delta 5623 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 delta 5588 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