Files
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

3.9 KiB

Contable

Nombre: Feldman
Estado: Implementado


Descripción

Registro final definitivo e inmutable. Representa el estado válido y oficial de cada operación. Aplica principios contables de inmutabilidad.


Características

Característica Valor
Mutabilidad Inmutable
Persistencia Permanente
Eliminación Prohibida bajo ningún concepto

Estructura Interna

Feldman es una unidad conceptual que contiene dos tablas:

┌─────────────────────────────────────────────────────────────────┐
│                        FELDMAN                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────────┐    ┌─────────────────────┐           │
│  │  Cola de Validación │ →  │   Registro Final    │           │
│  │  (espera bloques)   │    │   (inmutable)       │           │
│  └─────────────────────┘    └─────────────────────┘           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Aclaración: La división es técnica (tiempo entre validaciones), no conceptual.


Validación por Bloques

Aspecto Valor
Frecuencia Periódica
Tipo Por bloques, no transacción a transacción
Reglas M-001, M-002, M-003

Reglas de Validación

Regla Nombre Descripción
M-001 Hash único h_bloque/h_milestone no existe previamente
M-002 Encadenamiento hash_previo apunta a bloque existente
M-003 Integridad hash_contenido = SHA-256(contenido)

Encadenamiento

Bloque N-1                    Bloque N
┌──────────────────┐          ┌──────────────────┐
│ h_bloque: abc123 │ ──────►  │ hash_previo:     │
│ hash_contenido:  │          │   abc123         │
│   def456         │          │ h_bloque: ghi789 │
│ secuencia: 1     │          │ secuencia: 2     │
└──────────────────┘          └──────────────────┘

Schema Cola

CREATE TABLE feldman_cola (
    id BIGSERIAL PRIMARY KEY,
    tipo VARCHAR(50) NOT NULL,
    h_entrada VARCHAR(64) NOT NULL,
    contenido JSONB NOT NULL,
    prioridad INTEGER DEFAULT 0,
    estado VARCHAR(20) DEFAULT 'pendiente',
    created_at TIMESTAMPTZ DEFAULT NOW(),
    processed_at TIMESTAMPTZ
);

Schema Registro Final

CREATE TABLE bloques (
    id BIGSERIAL PRIMARY KEY,
    h_bloque VARCHAR(64) UNIQUE NOT NULL,
    h_instancia VARCHAR(64) NOT NULL,
    secuencia BIGINT NOT NULL,
    hash_previo VARCHAR(64),
    hash_contenido VARCHAR(64) NOT NULL,
    tipo_bloque VARCHAR(50) NOT NULL,
    contenido JSONB NOT NULL,
    metadata JSONB,
    estado VARCHAR(20) DEFAULT 'consolidado',
    created_at TIMESTAMPTZ DEFAULT NOW(),
    validated_at TIMESTAMPTZ,
    UNIQUE (h_instancia, secuencia)
);

Trazabilidad

Cualquier registro en Feldman puede rastrearse hasta Secretaría:

Bloque (Feldman) → h_entrada → Secretaría (Clara/Margaret)