- 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
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 |