Files
balam/planeacion/Seguimiento-horas.md
T
Johann d9047de6fa Corte de horas al 15-sep (94.08 h): 39.25 h del 10-ago al 15-sep reconstruidas con evidencia y Excel de avance; seis sesiones sin bitácora listadas como huecos
- Seguimiento-horas.csv: 30 filas nuevas (sesiones 'Seguimiento PAF' del 21, 24
  y 26-ago y 3, 9 y 10-sep acotadas por los informes de Read AI; bloques de
  desarrollo por commits y mtimes; comunicación con Pedro y Noé). Marcadas
  `reconstruida` salvo la sesión del 12-ago (transcript). Actividades nuevas
  E1-09, E2-02, E2-03, E3-01, E3-02. Etapa 1 32.25 h, Etapa 2 23.75 h, ajuste
  Jira 14.75 h (rebasa las 7–10 aprobadas), Etapa 3 1.50 h.
- Avance-Balam-2026-09-15.xlsx generado desde generar_avance_2026_09_15.py
  (parte del corte 06b; el reparto por fila aborta si no cuadra con el CSV):
  publicación provisional en paputec.mx, cotización individual y en lote,
  prefactura por API bloqueada por BIND.
- Seguimiento-horas.md: sección del corte y criterios de la reconstrucción.
- PENDIENTES.md: huecos de registro del corte (seis sesiones sin REGISTRO,
  publicación del 3-sep y lote del 7-sep sin registrar, validación de horas,
  correos de Noé del 24-ago).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 08:48:23 -06:00

9.0 KiB
Raw Blame History

Seguimiento de horas

Fuente local de horas efectivamente trabajadas para el proyecto Balam. Se mantiene mientras Johann obtiene acceso al flujo de Jira; después, Jira será el registro operativo y este archivo/CSV servirá para conciliación y facturación.

Tarifa contractual: $600 MXN/h + IVA Cadencia: corte semanal; factura los viernes; pago a 30 días Datos tabulares: Seguimiento-horas.csv Última actualización: 2026-09-15 (corte 6-ago → 15-sep reconstruido, por validar)

Reglas de captura

  1. Registrar el tiempo el mismo día, en incrementos de 0.25 h.
  2. Separar sesiones, desarrollo, análisis, documentación y gestión técnica.
  3. Vincular cada registro con una actividad del plan y una evidencia cuando exista.
  4. No convertir porcentajes de avance en horas: el avance mide entregable; las horas miden esfuerzo real.
  5. No completar retrospectivamente una duración sin respaldo. Si solo se conoce la actividad, dejarla en la lista de reconstrucción hasta que Johann confirme el tiempo.
  6. Al habilitarse Jira, conciliar ambos registros y evitar duplicados.
  7. El esfuerzo real de una sesión incluye TODO su alrededor, no solo el desarrollo: el análisis/pensamiento previo para decidir qué se hace, la documentación de cada parte (bitácora, pendientes, investigación), y la comunicación asociada (cada correo, cada mensaje de WhatsApp, minutas y reportes). Definido por Johann el 6-ago.
  8. Para proyectar el costo final del proyecto, las horas no comprimibles (sesiones con Balam, pruebas acompañadas, capacitación, demos, gestión y comunicación) son el piso, y el objetivo de cierre es ese piso y un poco más — no el piso pelón ni el rango completo de la propuesta. Los cortes ya reportados a Erika nunca se recalculan retroactivamente (ajustado por Johann el 6-ago).

Corte al 15-sep (reconstruido, por validar)

Del 10-ago al 15-sep no se capturó nada en el CSV; el 15-sep se reconstruyeron 39.25 h con evidencia fechada (commits de ambos repos, correos, informes de reunión de Read AI y mtimes de archivos) y quedaron marcadas reconstruida (salvo la sesión del 12-ago, confirmada por transcript). Johann debe validarlas (o ajustarlas) antes de reportarlas; el corte del 6-ago (54.83 h) no se tocó.

Etapa Horas al corte Rango Estado
Etapa 0 21.83 h 18–22 h Cerrada y validada
Etapa 1 32.25 h 32–39 h Capa de escritura implementada; publicación provisional en paputec.mx (3-sep)
Etapa 2 (sin ajuste Jira) 23.75 h 38–46 h Cotización individual y en lote; prefactura por API bloqueada por BIND
» Ajuste Jira → BIND 14.75 h 7–10 h ⚠️ Rebasado: semánticas indocumentadas del API y 5 sesiones acompañadas
Etapa 3 1.50 h 24–29 h Endurecimiento y runbook hechos en la publicación
Total 94.08 h 39.25 h nuevas: 38.25 reconstruida + 1.00 confirmada (transcript del 12-ago)

Criterios usados en la reconstrucción:

  • Sesiones con Balam: duración acotada por la hora de inicio de la convocatoria y la hora en que llegó el informe de Read AI (redondeada a 0.25 h). Sin transcript no se infló nada; Johann puede subirlas si duraron más.
  • Bloques de desarrollo: del primer archivo tocado (mtime) o del inicio estimado al último commit del bloque; incluyen la documentación del mismo bloque (regla 7).
  • Seis sesiones no tienen registro en la bitácora (21-ago 1 pm, 24-ago, 26-ago, 3-sep 7 am y 1:30 pm, 9-sep, 10-sep): están en PENDIENTES.md como huecos de registro.
  • Actividades nuevas: E1-09 publicación provisional, E2-02 creación de cotizaciones desde la plataforma, E2-03 conversión cotización→prefactura/factura, E3-01 endurecimiento, E3-02 documentación técnica. El reparto CSV → filas del Excel vive en generar_avance_2026_09_15.py.

Corte al 27-jul

Etapa Horas al corte Rango estimado de la etapa Estado
Etapa 0 21.83 h 18–22 h Cerrada y validada por Balam el 24-jul; dentro del rango
Etapa 1 19.75 h 32–39 h En curso; 6 de 8 entregables terminados
Total 41.58 h

Estado de validación de las horas (27-jul):

Estado Horas Significado
confirmada 9.13 h Duración documentada (transcripts, sesiones calendarizadas, tiempo de sesión)
validada 32.45 h Reconstruida por actividad y confirmada por Johann el 27-jul contra evidencia fechada
Total 41.58 h Sin horas pendientes de validar

Distribución al 27-jul

Etapa Actividad ID Horas
0 Kickoff y preparación E0-01 2.00
0 Discovery de facturación, envío y cobranza E0-02 3.83
0 Accesos y salvaguardas E0-03 1.00
0 Validación técnica de la API de BIND E0-04 4.50
0 Prototipo navegable (incl. pulido final del 10-jul) E0-05 7.50
0 Entregable de cierre: PDF, hallazgos, plan y correo E0-06 1.50
0 Validación del prototipo con Balam (guion + sesión) E0-07 1.50
1 Backend base, auth, roles, bitácora y syncs (B0–B4) E1-01 6.50
1 Coordinación del repositorio E1-02 0.50
1 Arquitectura multi-tenant y RLS (B6) E1-03 2.00
1 Cliente productivo de la API de BIND E1-04 2.00
1 Gestión, cortes de avance y sesión de reglas E1-05 3.30
1 Entorno local, scaffold y Scalar E1-06 3.25
1 Sesión de API de Jira E1-07 0.20
1 Diseño del plan de ejecución de Etapa 1 E1-08 2.00
Total 41.58

Ajustes a la baja aplicados por Johann el 27-jul: el análisis del Discovery de facturación bajó de 1.92 a 1.00 h, la documentación del de cobranza de 1.50 a 0.75 h, y el guion de validación de 0.75 a 0.45 h. Las duraciones de sesión documentadas en transcript no se tocaron. Con esto Etapa 0 vuelve a quedar dentro del rango contractual de 18–22 h.

Nota sobre las sesiones asistidas por IA

Los bloques B0–B6 de Etapa 1 (auth, RLS, cliente de BIND, sincronización de 1,494 facturas de producción) se ejecutaron en 3.50 h de tiempo de reloj contra una estimación manual de 4–5.5 h por bloque. Se registra el tiempo efectivamente trabajado, conforme al contrato. El trabajo intelectual que hizo posible esa velocidad —diseño de arquitectura, decisión de ADRs y plan de ejecución— se registra por separado en E1-08 (2.00 h).

Consecuencia a vigilar: Etapa 1 cerrará por debajo del rango de 32–39 h. Conviene reportar avance por entregable (6 de 8) y no solo por horas, para que la eficiencia no se lea como alcance faltante.

Nota sobre el mapeo CSV → Excel

El CSV agrupa por actividad contractual; el Excel desglosa por tarea de proyecto, y no mapean 1:1. El reparto vive en HORAS_POR_FILA dentro de generar_avance_2026_07_27.py, con la trazabilidad comentada línea por línea, y el script aborta si la suma del detalle no cuadra con el CSV.

Dos casos que conviene recordar:

  • E1-06 (entorno, scaffold, Scalar — 3.25 h) no tiene fila propia: se carga a "Backend base", que se renombró y amplió su rango a 8–9 h.
  • E1-08 (diseño del plan — 2.00 h) se reparte en dos: 1.00 h de diseño general va a "Arquitectura multi-tenant y diseño de la solución" (rango 3–4 h) y 1.00 h del análisis de B7 —pipeline Draft→DryRun→Confirm, flags, regla PPD/PUE, ADR-001— va a la fila del entregable 4 (capa de escritura), para que muestre el trabajo hecho aunque la implementación siga en pausa. La entidad WriteOperation y la policy PuedeOperarEscritura no se contabilizan ahí: se hicieron en B1/B2 y ya están en "Backend base" (evita doble conteo).
  • La fila de seguimiento semanal se queda solo con gestión y cortes de avance (1.75 h). Antes acumulaba 7.00 h de trabajo técnico bajo un nombre que no lo describía, lo que se leía como sobrecosto en una actividad trivial.
  • La sesión B4 (1.00 h) se reparte entre "Sincronización de facturas" (0.50 h) y "Modelo de facturas" (0.50 h): produjo ambas cosas —el sync y el InvoiceStatusMapper con sus 13 pruebas más la migración DetalleSyncPendiente—, y antes el modelo aparecía al 85 % con 0 h.

Criterio general: ninguna fila debe mostrar avance con 0 h trabajadas. Las únicas excepciones legítimas son Azure y CI/CD, que están en 0 % y 0 h porque dependen de accesos del lado de Balam.

Corte comercial

  • La propuesta v1.2 contempla una facturación inicial de 30 h ($18,000 + IVA) que cubre Etapa 0 e inicio de Etapa 1.
  • Al 27-jul hay 41.58 h trabajadas, es decir 11.58 h por encima de esa facturación inicial. A tarifa de $600/h son $6,948 + IVA aún no facturados.
  • Todas las horas están validadas (ninguna pendiente de confirmar), por lo que el desglose ya es presentable para facturación.
  • Pendiente: conciliar contra Jira cuando Pedro lo habilite, y confirmar con Balam si la segunda factura va por el excedente o por corte de etapa.
  • La emisión de la factura inicial sigue pendiente de confirmación de Balam al correo del 2-jul.