Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
9.1 KiB
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-16 (corte 6-ago → 16-sep reconstruido, por validar)
Reglas de captura
- Registrar el tiempo el mismo día, en incrementos de 0.25 h.
- Separar sesiones, desarrollo, análisis, documentación y gestión técnica.
- Vincular cada registro con una actividad del plan y una evidencia cuando exista.
- No convertir porcentajes de avance en horas: el avance mide entregable; las horas miden esfuerzo real.
- 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.
- Al habilitarse Jira, conciliar ambos registros y evitar duplicados.
- 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.
- 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 16-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 (más 0.50 h del 16-sep: Excel publicado en Google Sheets) 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.75 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.58 h | 39.75 h nuevas desde el 6-ago: 38.75 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.mdcomo huecos de registro. - Actividades nuevas:
E1-09publicación provisional,E2-02creación de cotizaciones desde la plataforma,E2-03conversión cotización→prefactura/factura,E3-01endurecimiento,E3-02documentación técnica. El reparto CSV → filas del Excel vive engenerar_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 entidadWriteOperationy la policyPuedeOperarEscriturano 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
InvoiceStatusMappercon sus 13 pruebas más la migraciónDetalleSyncPendiente—, 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.