3.9 KiB
3.9 KiB
P2603.04 - Plan: Herencia Automática de Modo de Jornada
Objetivo
Eliminar la fricción de especificar manualmente el modo ([P], [R], [S]) en cada evento. El modo se define una sola vez al iniciar la jornada y se hereda automáticamente.
Problema Identificado
- Fricción actual: Registrar modo en cada evento es repetitivo y propenso a errores
- 4 eventos corregidos hoy (1186, 1210, 1211, 1213) por modo incorrecto
- El modo debería ser contexto de jornada, no dato por evento
Diseño Propuesto
Concepto: Jornada Define el Modo
┌─────────────────────────────────────────────────────────────┐
│ JORNADA PRESENCIAL (8:00-13:00) │
│ ├── Evento 1: 08:00-09:00 → [P] automático │
│ ├── Evento 2: 09:00-10:00 → [P] automático │
│ ├── Evento 3: 11:00-12:00 → [R] override manual │
│ └── Evento 4: 13:00-18:00 → [R] automático (fuera horario) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ JORNADA REMOTA │
│ └── Todos los eventos → [R] automático │
└─────────────────────────────────────────────────────────────┘
Reglas de Herencia
- Modo de jornada: Definido al iniciar (
jornada --iniciar --modo presencial) - Heredar por defecto: Todo evento nuevo usa el modo de la jornada
- Override manual: Si se especifica
--modoexplícitamente, se usa ese - Horario presencial: Eventos fuera de 8:00-13:00 →
[R]automático
Implementación
Fase 1: Modelo de Datos
- Agregar campo
modoa tablabitacoras - Actualizar
create_bitacorapara registrar modo de jornada
Fase 2: Lógica de Herencia
- En
BitacoraDB#create_entrada: leer modo de bitácora activa - Implementar override: si
params[:modo]existe, usar ese - Regla horario: si modo=presencial y hora > 13:00 → forzar
[R]
Fase 3: CLI
bitacora:crear --modo P|R→ especificar modobitacora:listar→ muestra columna Modoevento:crear --modo R→ override manual (para excepciones)
Fase 4: Consistencia Retroactiva
- Corregir 206 eventos existentes según modo de jornada (bitácora)
- Regla aplicada: modo bitácora → heredar, con override P+hora>=13 → R
Progreso
Fase 1: ██████████ 100% Modelo de Datos
Fase 2: ██████████ 100% Lógica de Herencia
Fase 3: ██████████ 100% CLI
Fase 4: ██████████ 100% Consistencia Retroactiva
Registro de Implementación (19/03 - 20:35)
- Columna
modoagregada a tablabitacoras.bitacoras create_bitacoraacepta parámetro--modolist_bitacorasmuestra columna Modocreate_entradahereda modo desde bitácora- Regla implementada: jornada presencial + hora > 13:00 → [R] automático
- CLI actualizado:
--modoenbitacora:crear - Test 1: Herencia automática (1218)
- Test 2: Herencia automática (1219)
- Implementada herencia automática (1220)
- Consistencia retroactiva: 206 entradas corregidas según modo de bitácora (1221)
Beneficios Esperados
- Menos fricción: 0 errores de modo por descuido
- Trazabilidad: Un lugar donde se define el contexto de trabajo
- Menos es más: Elimina dato redundante de cada evento