Anida el ajuste Jira→BIND dentro de la Etapa 2 (antes leía como una 5ª etapa)
Propuesta: mueve el bloque completo (antecedente, entregables, diagrama, candados fiscal, exclusiones, dependencia) de después de la Etapa 3 a justo después de la Etapa 2, y le baja el peso visual — de un div .etapa de peso igual a las 4 etapas reales, a una caja .ajuste-anidado con barra de acento, fondo crema y kicker "AJUSTE DENTRO DE LA ETAPA 2" (h4 bajo el h3 de Etapa 2 en el markdown). La fila de la tabla de Inversión (§4) se reordena igual, entre Etapa 2 y Etapa 3. Excel: mismo reordenamiento (Etapa 2 → ajuste Jira → Etapa 3) con relleno ámbar distinto del crema de una etapa contractual, para que no compita visualmente como una etapa más. Cambio incidental: el glifo ↳ no existe en Caladea/Carlito y Chromium caía a un fallback de sistema (LucidaGrande-Bold) en la fila de la tabla; se sustituyó por » en los 3 archivos y las fuentes vuelven a embeber limpio. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -170,7 +170,7 @@ ETAPA3 = ("Etapa 3 — Cobranza, tablero, reportes y cierre",
|
||||
"24/08/2026", "04/09/2026", "—", "⚪ Incluida en el cierre · sin costo"),
|
||||
])
|
||||
|
||||
JIRA = ("Integración Jira → BIND (ajuste propuesta v1.3, en aprobación)",
|
||||
JIRA = ("» Ajuste dentro de la Etapa 2: Integración Jira → BIND (en aprobación, v1.3)",
|
||||
"27/07/2026", "29/07/2026", 7, 10, [
|
||||
("Cliente de la API de Jira (token PAF): lectura de tickets FAC y control de límites",
|
||||
"27/07/2026", "27/07/2026", "2–3", PROX_JIRA),
|
||||
@@ -225,7 +225,7 @@ for i, (txt, ancho) in enumerate(zip(ENC, ANCHOS), start=1):
|
||||
ws.row_dimensions[FILA_ENC].height = 26
|
||||
|
||||
|
||||
def pinta_fila(r, nombre, ini, fin, pct, est, trab, stat, etapa=False):
|
||||
def pinta_fila(r, nombre, ini, fin, pct, est, trab, stat, etapa=False, fill=None):
|
||||
c = ws.cell(row=r, column=1, value=nombre)
|
||||
c.font = Font(bold=etapa, size=10, color=CAFE)
|
||||
c.alignment = Alignment(vertical="center", wrap_text=True, indent=0 if etapa else 1)
|
||||
@@ -270,7 +270,7 @@ def pinta_fila(r, nombre, ini, fin, pct, est, trab, stat, etapa=False):
|
||||
for col in range(1, 8):
|
||||
ws.cell(row=r, column=col).border = box
|
||||
if etapa and col in (1, 2, 3):
|
||||
ws.cell(row=r, column=col).fill = PatternFill("solid", fgColor=CREMA)
|
||||
ws.cell(row=r, column=col).fill = PatternFill("solid", fgColor=fill or CREMA)
|
||||
|
||||
|
||||
r = FILA_ENC + 1
|
||||
@@ -283,8 +283,14 @@ for f in hechas:
|
||||
f["stat"], etapa=f["etapa"])
|
||||
r += 1
|
||||
|
||||
for titulo, ini, fin, lo, hi, acts in (ETAPA2, ETAPA3, JIRA):
|
||||
pinta_fila(r, titulo, ini, fin, 0, f"{lo}–{hi}", None, "", etapa=True)
|
||||
for seccion in (ETAPA2, JIRA, ETAPA3):
|
||||
titulo, ini, fin, lo, hi, acts = seccion
|
||||
# El ajuste Jira se pinta ANIDADO dentro de la Etapa 2 (mismo lugar en la
|
||||
# propuesta): relleno ámbar "pendiente" en vez del crema de una etapa
|
||||
# contractual, y prefijo "»" para que no se lea como una 5ª etapa.
|
||||
es_jira = seccion is JIRA
|
||||
pinta_fila(r, titulo, ini, fin, 0, f"{lo}–{hi}", None, "", etapa=True,
|
||||
fill=A_FILL if es_jira else None)
|
||||
r += 1
|
||||
for nombre, aini, afin, est, stat in acts:
|
||||
pinta_fila(r, nombre, aini, afin, 0, est, None, stat)
|
||||
@@ -303,11 +309,13 @@ notas = [
|
||||
"y están sujetas a la definición del flujo de facturación (en revisión interna "
|
||||
"de Balam) y al acceso a Azure. El soporte post-lanzamiento (2 semanas, sin "
|
||||
"costo) corre del 24-ago al 4-sep, después del cierre.", False),
|
||||
("Integración Jira → BIND (7–10 h): ajuste no contemplado en la propuesta "
|
||||
"original, incorporado en la propuesta ajustada v1.3; se ejecuta tras su "
|
||||
"aprobación por escrito y una vez definido el flujo. Se programó a partir "
|
||||
"del lunes 27-jul —día en que Pedro entregó el token PAF— en paralelo con "
|
||||
"el cierre de la Etapa 1 y el arranque de la Etapa 2.", False),
|
||||
("Integración Jira → BIND (7–10 h), señalada con » dentro de la Etapa 2: "
|
||||
"ajuste no contemplado en la propuesta original, incorporado en la propuesta "
|
||||
"ajustada v1.3; se ejecuta tras su aprobación por escrito y una vez definido "
|
||||
"el flujo. Se agrupa junto a la Etapa 2 porque automatiza el mismo entregable "
|
||||
"(creación de cotizaciones); se programó a partir del lunes 27-jul —día en que "
|
||||
"Pedro entregó el token PAF— en paralelo con el cierre de la Etapa 1 y el "
|
||||
"arranque de la Etapa 2.", False),
|
||||
(f"Total del plan con el ajuste: {TOT_MIN:.0f}–{TOT_MAX:.0f} h. El avance global "
|
||||
f"({PCT_GLOBAL:.0%}) se calcula sobre el plan completo; el corte anterior (80%) "
|
||||
"se calculaba solo sobre las Etapas 0-1.", False),
|
||||
|
||||
Reference in New Issue
Block a user