Files
system-docs/03_MODELO_DATOS/flujos.md
ARCHITECT 6ea70bd34f Update to Skynet v7 - Complete documentation restructure
- Nueva estructura de carpetas según Skynet v7
- Añadidos schemas SQL completos
- Documentación de entidades, componentes e integraciones
- Modelo de seguridad actualizado
- Infraestructura y operaciones reorganizadas
2025-12-29 18:23:41 +00:00

6.8 KiB

Flujos

Versión: 1.0
Estado: Definición


Visión General

El sistema tiene tres flujos principales según la naturaleza de la información entrante.


Flujo Estándar (entrada manual)

Condición: La información no encaja (entrada manual, incidencia, improvisación). Requiere enriquecimiento o validación manual.

Secretaría (Clara/Margaret)
         │
         │  registro inmutable
         ▼
Administración (Mason)
         │
         │  enriquecimiento (24h)
         ▼
Contable (Feldman)
         │
         │  consolidación
         ▼
      Inmutable

Flujo de Producción (procesos predefinidos)

Condición: La información encaja (viene de Producción, proceso predefinido completo). La información ya está completa y estructurada.

Producción (Alfred/Jared)
         │
         │  flujo predefinido
         ▼
Secretaría (Clara/Margaret)
         │
         │  registro inmutable
         ▼
Contable (Feldman)
         │
         │  consolidación directa
         ▼
      Inmutable

Nota: Este flujo salta Administración porque no hay nada que enriquecer.


Flujo con Incidencia

Condición: Durante un flujo de producción, el usuario improvisa o se produce un cambio.

Comportamiento: La improvisación marca el punto de quiebre. Todo lo anterior registrado se mantiene, pero lo que viene después requiere el paso por Administración.

Producción (Alfred/Jared)
         │
         │  flujo predefinido
         ▼
Secretaría (Clara/Margaret)
         │
         │  ⚠️ incidencia detectada
         ▼
Administración (Mason)
         │
         │  enriquecimiento
         ▼
Contable (Feldman)

Regla de Decisión

Condición Flujo
Encaja Secretaría → Feldman
No encaja Secretaría → Mason → Feldman

Diagrama de Decisión

                    ┌─────────────────┐
                    │   Entrada       │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │  ¿Viene de      │
                    │  Producción?    │
                    └────────┬────────┘
                             │
                    ┌────────┴────────┐
                    │                 │
                   SÍ                NO
                    │                 │
           ┌────────▼────────┐       │
           │   ¿Encaja       │       │
           │   completo?     │       │
           └────────┬────────┘       │
                    │                │
           ┌────────┴────────┐       │
           │                 │       │
          SÍ                NO       │
           │                 │       │
           ▼                 ▼       ▼
    ┌──────────┐      ┌──────────────────┐
    │ Directo  │      │      Mason       │
    │ Feldman  │      │  (enriquecer)    │
    └──────────┘      └──────────────────┘

Mecanismo de "Encaja"

Pendiente de definir: Sistema de hashes que determina automáticamente si la información encaja con un flujo predefinido.

Concepto propuesto:

def encaja(entrada, flujo_esperado):
    # Comparar estructura de datos
    # Verificar campos requeridos
    # Validar tipos
    return estructura_coincide and campos_completos

Estados del Flujo

Estado Ubicación Descripción
recibido Secretaría Entrada registrada
en_edicion Mason Usuario enriqueciendo
listo Mason Preparado para Feldman
pendiente Feldman cola En espera de consolidación
consolidado Feldman bloques Registro final inmutable

Estructura de Feldman

Feldman tiene dos tablas internas:

┌─────────────────────────────────────────────────────────────────┐
│                        FELDMAN                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  COLA (24h configurable)                                 │   │
│  │  • Registros esperando consolidación                     │   │
│  │  • Usuario puede: DEVOLVER a Mason                       │   │
│  │  • Si expira → pasa a BLOQUE                             │   │
│  └─────────────────────────┬────────────────────────────────┘   │
│                            │                                    │
│                            ▼                                    │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  BLOQUES INMUTABLES                                      │   │
│  │  GÉNESIS ─▶ BLOQUE 1 ─▶ BLOQUE 2 ─▶ ...                 │   │
│  │  (hash anterior, merkle root, timestamp)                 │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Ventanas Temporales

Etapa Default Configurable Descripción
Mason 24h Tiempo para enriquecer antes de auto-envío
Feldman cola 24h Tiempo en cola antes de cerrar en bloque