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
This commit is contained in:
188
03_MODELO_DATOS/flujos.md
Normal file
188
03_MODELO_DATOS/flujos.md
Normal file
@@ -0,0 +1,188 @@
|
||||
# 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:
|
||||
|
||||
```python
|
||||
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 |
|
||||
Reference in New Issue
Block a user