Add Oracle component and DATABASE_SPEC
- Add oracle.md: Complete specification for Oracle (prospectiva) - Puerto 5055, Capa 2 análisis prospectivo - 7 secciones del análisis, 10 reglas O-* - Integración con Grace, métricas calibración - Add DATABASE_SPEC.md: Schema v2.1 with Oracle tables - oracle_analisis, oracle_escenario - Total: 28 tables Synced from R2 skynet v10.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
253
02_COMPONENTES/internos/oracle.md
Normal file
253
02_COMPONENTES/internos/oracle.md
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
# Oracle (Prospectiva)
|
||||||
|
|
||||||
|
**Estado:** Especificación completa - Implementación pendiente
|
||||||
|
**Puerto propuesto:** 5055
|
||||||
|
|
||||||
|
## Descripción
|
||||||
|
|
||||||
|
Módulo de análisis prospectivo del Sistema de Registro Inmutable. Permite explorar escenarios futuros mediante la manipulación de supuestos inciertos, manteniendo inmutables los datos históricos y el modelo de cálculo.
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ PRINCIPIO ORACLE │
|
||||||
|
│ │
|
||||||
|
│ "No predecimos el futuro. Documentamos qué pasaría │
|
||||||
|
│ SI ciertos supuestos se cumplen. │
|
||||||
|
│ La honestidad está en los supuestos, no en el resultado." │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## Ficha Técnica
|
||||||
|
|
||||||
|
| Atributo | Valor |
|
||||||
|
|----------|-------|
|
||||||
|
| Nombre | Oracle |
|
||||||
|
| Descriptor | prospectiva |
|
||||||
|
| Versión personal | Oracle (DECK) |
|
||||||
|
| Versión corporativa | Oracle (CORP) |
|
||||||
|
| Puerto | 5055 |
|
||||||
|
| Mutabilidad | Inmutable post-emisión |
|
||||||
|
| Persistencia | Permanente |
|
||||||
|
| Eliminación | Prohibida |
|
||||||
|
|
||||||
|
## Posición en el Sistema
|
||||||
|
|
||||||
|
Oracle implementa la **Capa 2: Análisis Prospectivo** del marco de Contabilidad Bifurcada:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ CAPA 1: REGISTRO HISTÓRICO (implementada) │
|
||||||
|
│ Clara/Margaret → Mason → Feldman → [NOTARIO] │
|
||||||
|
│ Hechos consumados, inmutables, verificables │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
│ alimenta (solo lectura)
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ CAPA 2: ANÁLISIS PROSPECTIVO (Oracle) │
|
||||||
|
│ Supuestos explícitos + Escenarios + Sensibilidad │
|
||||||
|
│ Proyecciones documentadas, auditables, no vinculantes │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## Flujo de Datos
|
||||||
|
|
||||||
|
```
|
||||||
|
Feldman (libros contables)
|
||||||
|
│
|
||||||
|
│ consulta (solo lectura)
|
||||||
|
▼
|
||||||
|
Oracle (prospectiva)
|
||||||
|
│
|
||||||
|
├── Genera análisis con hash (mrf)
|
||||||
|
├── Usuario explora escenarios
|
||||||
|
├── Guarda escenarios (inmutables)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
[Almacenamiento propio de Oracle]
|
||||||
|
│
|
||||||
|
│ [cuando el horizonte temporal se cumple]
|
||||||
|
▼
|
||||||
|
Contraste con realidad (datos nuevos de Feldman)
|
||||||
|
│
|
||||||
|
└── Métricas de calibración
|
||||||
|
```
|
||||||
|
|
||||||
|
## Relación con Componentes
|
||||||
|
|
||||||
|
| Componente | Relación | Descripción |
|
||||||
|
|------------|----------|-------------|
|
||||||
|
| **Feldman** | Entrada (solo lectura) | Única fuente de datos. Oracle nunca escribe en Feldman |
|
||||||
|
| **Grace** | Colaboración | Ejecuta modelos vía S-CONTRACT, sugiere supuestos |
|
||||||
|
| **Sentinel** | Verificación | Valida integridad de análisis y escenarios |
|
||||||
|
| **ITM** | Informativo | Oracle puede evaluar viabilidad de items/objetivos |
|
||||||
|
| **MST** | Informativo | Oracle puede evaluar probabilidad de cumplimiento |
|
||||||
|
| **BCK** | Calibración | Bloques consolidados permiten contrastar predicción vs realidad |
|
||||||
|
|
||||||
|
## Arquitectura del Análisis
|
||||||
|
|
||||||
|
Cada análisis Oracle es una unidad atómica con 7 secciones:
|
||||||
|
|
||||||
|
### 1. Datos Base
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| h_bloques_feldman | Array[mrf] | Referencias a bloques de Feldman |
|
||||||
|
| periodo_inicio | Date | Inicio del período histórico |
|
||||||
|
| periodo_fin | Date | Fin del período histórico |
|
||||||
|
| h_dataset | mrf | Hash de integridad del conjunto |
|
||||||
|
|
||||||
|
### 2. Supuestos
|
||||||
|
|
||||||
|
Lista exhaustiva de afirmaciones no verificables:
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| id | String | Identificador (ej: SUP_001) |
|
||||||
|
| name_es | String | Nombre en español |
|
||||||
|
| txt | Text | Descripción |
|
||||||
|
| tipo | Enum | porcentaje, moneda, cantidad, booleano |
|
||||||
|
| valor_defecto | Numeric | Valor por defecto |
|
||||||
|
| rango_min | Numeric | Mínimo plausible |
|
||||||
|
| rango_max | Numeric | Máximo plausible |
|
||||||
|
| fuente_tipo | Enum | histórico, estimación_externa, juicio_experto |
|
||||||
|
| confianza | Enum | alta, media, baja |
|
||||||
|
|
||||||
|
### 3. Modelo
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| name_es | String | Nombre del modelo |
|
||||||
|
| version | String | Versión del modelo |
|
||||||
|
| metodologia | Text | Descripción de la metodología |
|
||||||
|
| formulas | JSONB | Fórmulas de cálculo |
|
||||||
|
| limitaciones | Text | Condiciones de no aplicabilidad |
|
||||||
|
|
||||||
|
### 4. Escenarios (Obligatorios)
|
||||||
|
|
||||||
|
| Escenario | Descripción |
|
||||||
|
|-----------|-------------|
|
||||||
|
| **Base** | Supuestos en valores por defecto |
|
||||||
|
| **Optimista** | Supuestos ajustados favorablemente |
|
||||||
|
| **Pesimista** | Supuestos ajustados desfavorablemente |
|
||||||
|
| **Estrés** | Límites del modelo - qué tendría que pasar para resultado inaceptable |
|
||||||
|
|
||||||
|
### 5. Sensibilidad
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| contribucion | JSONB | % de cada supuesto en varianza total |
|
||||||
|
| supuestos_criticos | Array | Top 3 supuestos más influyentes |
|
||||||
|
|
||||||
|
### 6. Resultado
|
||||||
|
|
||||||
|
Nunca cifra única:
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| rango_min | Numeric | Límite inferior |
|
||||||
|
| rango_max | Numeric | Límite superior |
|
||||||
|
| punto_medio | Numeric | Valor central |
|
||||||
|
| horizonte | String | Período de proyección |
|
||||||
|
| unidad | String | Unidad de medida |
|
||||||
|
|
||||||
|
### 7. Metadata
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| mrf | VARCHAR(64) | Hash público del análisis |
|
||||||
|
| private_mrf | VARCHAR(64) | Hash privado (prueba de propiedad) |
|
||||||
|
| date | Date | Fecha de emisión |
|
||||||
|
| fecha_caducidad | Date | Cuándo expira el análisis |
|
||||||
|
| condiciones_invalidacion | Text | Qué haría el análisis inaplicable |
|
||||||
|
|
||||||
|
## Interfaz de Escenarios
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ PRINCIPIO DE SEPARACIÓN │
|
||||||
|
│ │
|
||||||
|
│ INMUTABLE (no se toca) VARIABLE (el usuario mueve) │
|
||||||
|
│ ---------------------- -------------------------- │
|
||||||
|
│ - Datos históricos - Supuestos macro │
|
||||||
|
│ - Fórmulas del modelo - Tasas estimadas │
|
||||||
|
│ - Reglas de cálculo - Probabilidades asignadas │
|
||||||
|
│ - Metodología aplicada - Horizontes temporales │
|
||||||
|
│ │
|
||||||
|
│ "Cambias lo incierto, no lo calculado" │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
Cada supuesto se presenta como slider con:
|
||||||
|
- Nombre descriptivo
|
||||||
|
- Valor actual (posición del slider)
|
||||||
|
- Rango Min-Max
|
||||||
|
- Fuente del valor por defecto
|
||||||
|
- Indicador de confianza (alta/media/baja)
|
||||||
|
|
||||||
|
Cada movimiento dispara recálculo en tiempo real.
|
||||||
|
|
||||||
|
## Reglas de Validación (O-*)
|
||||||
|
|
||||||
|
| Código | Nombre | Descripción | Severidad |
|
||||||
|
|--------|--------|-------------|-----------|
|
||||||
|
| O-001 | Trazabilidad total | Todo dato debe tener mrf de Feldman | CRITICAL |
|
||||||
|
| O-002 | Supuesto explícito | Ningún supuesto implícito permitido | CRITICAL |
|
||||||
|
| O-003 | Sin cifra única | Resultados siempre como rango | HIGH |
|
||||||
|
| O-004 | Modelo nombrado | No metodologías ad-hoc | HIGH |
|
||||||
|
| O-005 | Caducidad obligatoria | fecha_caducidad requerido | HIGH |
|
||||||
|
| O-006 | Condición invalidación | condiciones_invalidacion requerido | HIGH |
|
||||||
|
| O-007 | Conservación permanente | Eliminación prohibida | CRITICAL |
|
||||||
|
| O-008 | Escenarios obligatorios | Los 4 escenarios requeridos | HIGH |
|
||||||
|
| O-009 | Sensibilidad visible | Campo sensibilidad requerido | MEDIUM |
|
||||||
|
| O-010 | Inmutabilidad post-emisión | Solo INSERT, nunca UPDATE | CRITICAL |
|
||||||
|
|
||||||
|
## Integración con Grace (S-CONTRACT)
|
||||||
|
|
||||||
|
| Módulo Grace | Uso en Oracle |
|
||||||
|
|--------------|---------------|
|
||||||
|
| PREDICTOR | Generar pronósticos base |
|
||||||
|
| CLUSTERER | Agrupar escenarios similares |
|
||||||
|
| SCORER | Evaluar calidad de supuestos |
|
||||||
|
| NARRATOR | Generar informe en lenguaje natural |
|
||||||
|
| AUDITOR | Detectar anomalías en proyecciones |
|
||||||
|
|
||||||
|
## Ciclo de Retroalimentación
|
||||||
|
|
||||||
|
Cuando el horizonte temporal se cumple:
|
||||||
|
|
||||||
|
1. Oracle recupera datos reales de Feldman
|
||||||
|
2. Compara supuestos usados vs valores reales
|
||||||
|
3. Compara resultado proyectado vs resultado observado
|
||||||
|
4. Calcula % error por supuesto incorrecto vs limitación modelo
|
||||||
|
|
||||||
|
## Métricas de Calibración
|
||||||
|
|
||||||
|
| Métrica | Descripción |
|
||||||
|
|---------|-------------|
|
||||||
|
| Sesgo de supuestos | "Tus estimaciones de crecimiento son 15% optimistas" |
|
||||||
|
| Precisión de rangos | "90% de veces el resultado cayó en tu rango" |
|
||||||
|
| Sensibilidad real vs estimada | "Dijiste inflación, pero fue tipo de cambio" |
|
||||||
|
|
||||||
|
## Lo que Oracle NO es
|
||||||
|
|
||||||
|
- No es sistema de alertas
|
||||||
|
- No toma decisiones
|
||||||
|
- No modifica datos de Feldman
|
||||||
|
- No genera "la respuesta correcta"
|
||||||
|
- No sustituye juicio humano
|
||||||
|
|
||||||
|
## Limitaciones Conocidas
|
||||||
|
|
||||||
|
| Limitación | Descripción |
|
||||||
|
|------------|-------------|
|
||||||
|
| No captura cisnes negros | Eventos radicalmente improbables no aparecen |
|
||||||
|
| Depende de calidad Feldman | Datos incorrectos = análisis heredan problemas |
|
||||||
|
| Modelos son simplificaciones | No capturan toda la realidad |
|
||||||
|
| Pasado no garantiza futuro | Cambios de régimen difíciles de anticipar |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*SKYNET v10.1 - Oracle - 6 Enero 2026*
|
||||||
450
03_MODELO_DATOS/DATABASE_SPEC.md
Normal file
450
03_MODELO_DATOS/DATABASE_SPEC.md
Normal file
@@ -0,0 +1,450 @@
|
|||||||
|
# TZZR - Especificación de Base de Datos
|
||||||
|
|
||||||
|
**Versión:** 2.1
|
||||||
|
**Fecha:** 6 Enero 2026
|
||||||
|
**Estado:** Actualizado
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Estructura de Tablas Principales
|
||||||
|
|
||||||
|
### 1.1 Esquema Completo
|
||||||
|
|
||||||
|
| hst | flg | ply | itm | loc | mst | bck | mth |
|
||||||
|
|-----|-----|-----|-----|-----|-----|-----|-----|
|
||||||
|
| num | num | num | num | num | num | num | num |
|
||||||
|
| alias | alias | alias | alias | alias | alias | alias | alias |
|
||||||
|
| ref | ref | ref | ref | ref | ref | ref | ref |
|
||||||
|
| mrf | mrf | mrf | mrf | mrf | mrf | mrf | mrf |
|
||||||
|
| private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf |
|
||||||
|
| name_es | name_es | name_es | name_es | name_es | name_es | name_es | name_es |
|
||||||
|
| name_en | name_en | name_en | name_en | name_en | name_en | name_en | name_en |
|
||||||
|
| name_ch | name_ch | name_ch | name_ch | name_ch | name_ch | name_ch | name_ch |
|
||||||
|
| group | group | group | - | - | - | - | - |
|
||||||
|
| - | - | - | set_hst | set_hst | set_hst | set_hst | set_hst |
|
||||||
|
| - | - | - | - | - | link_mst | link_mst | - |
|
||||||
|
| - | - | - | - | - | link_bck | link_bck | - |
|
||||||
|
| txt | txt | txt | txt | txt | txt | txt | txt |
|
||||||
|
| - | - | hashtags | hashtags | hashtags | hashtags | hashtags | hashtags |
|
||||||
|
| standard_md | standard_md | - | - | - | - | - | - |
|
||||||
|
| - | - | standard_data | standard_data | standard_data | standard_data | standard_data | standard_data |
|
||||||
|
| jsonb_standard | jsonb_standard | - | - | - | - | - | - |
|
||||||
|
| - | - | jsonb_data | jsonb_data | jsonb_data | jsonb_data | jsonb_data | jsonb_data |
|
||||||
|
| version | version | version | version | version | version | version | version |
|
||||||
|
| rootref | rootref | rootref | rootref | rootref | rootref | rootref | rootref |
|
||||||
|
| roothash | roothash | roothash | roothash | roothash | roothash | roothash | roothash |
|
||||||
|
| img_url | img_url | img_url | img_url | img_url | img_url | img_url | img_url |
|
||||||
|
| img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url |
|
||||||
|
| owner | owner | owner | owner | owner | owner | owner | owner |
|
||||||
|
| - | - | set_flg | set_flg | set_flg | set_flg | set_flg | set_flg |
|
||||||
|
| url | url | url | url | url | - | - | - |
|
||||||
|
| - | - | - | url_atc | - | url_atc | url_atc | url_atc |
|
||||||
|
| url_json | url_json | url_json | url_json | url_json | url_json | url_json | url_json |
|
||||||
|
| date | date | date | date | date | date | date | date |
|
||||||
|
| created_at | created_at | created_at | created_at | created_at | created_at | created_at | created_at |
|
||||||
|
| - | - | - | - | - | mth_mrf | mth_mrf | - |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Clasificación de Tablas
|
||||||
|
|
||||||
|
| Tipo | Tablas | Descripción |
|
||||||
|
|------|--------|-------------|
|
||||||
|
| Etiquetado semántico | hst, flg | Vocabulario controlado, trazabilidad |
|
||||||
|
| Entidades de negocio | ply, itm, loc | Actores, productos, ubicaciones |
|
||||||
|
| Gestión de procesos | mst, bck, mth | Burocracia, evidencia real, métodos |
|
||||||
|
|
||||||
|
### 2.1 Detalle MST/BCK/MTH
|
||||||
|
|
||||||
|
| Tabla | Nombre | Descripción |
|
||||||
|
|-------|--------|-------------|
|
||||||
|
| mst | Master | Burocracia, documentos formales, registros administrativos |
|
||||||
|
| bck | Back | Evidencia del mundo real, trabajo efectivo, hechos |
|
||||||
|
| mth | Method | Métodos, procesos productivos predefinidos |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Descripción de Campos
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| num | INTEGER | Identificador numérico autoincremental |
|
||||||
|
| alias | VARCHAR | Nombre corto del registro |
|
||||||
|
| ref | VARCHAR | Código único (típicamente 3 letras) |
|
||||||
|
| mrf | VARCHAR(64) | Hash público SHA-256 (identidad del registro) |
|
||||||
|
| private_mrf | VARCHAR(64) | Hash original SHA-256 (prueba de propiedad) |
|
||||||
|
| name_es | VARCHAR | Nombre en español |
|
||||||
|
| name_en | VARCHAR | Nombre en inglés |
|
||||||
|
| name_ch | VARCHAR | Nombre en chino |
|
||||||
|
| group | VARCHAR | Subgrupo dentro de hst/flg/ply (enum cerrado) |
|
||||||
|
| set_hst | VARCHAR(64) | mrf del hashtag que define el tipo (abierto) |
|
||||||
|
| link_mst | VARCHAR/JSONB | Enlace a un mst (único o múltiple según tabla) |
|
||||||
|
| link_bck | JSONB/VARCHAR | Enlace a bck (único o múltiple según tabla) |
|
||||||
|
| txt | TEXT | Texto libre / descripción |
|
||||||
|
| hashtags | JSONB | Array de mrfs de hst |
|
||||||
|
| standard_md | TEXT | Descripción técnica en Markdown (define formato) |
|
||||||
|
| standard_data | TEXT | Formato heredado del group |
|
||||||
|
| jsonb_standard | JSONB | Schema JSON con versiones (define estructura) |
|
||||||
|
| jsonb_data | JSONB | Datos reales según schema |
|
||||||
|
| version | VARCHAR | Versión del formato usado |
|
||||||
|
| rootref | VARCHAR | Concatenación de refs (jerarquía) |
|
||||||
|
| roothash | JSONB | Array de mrfs (jerarquía) |
|
||||||
|
| img_url | VARCHAR | URL de imagen original |
|
||||||
|
| img_thumb_url | VARCHAR | URL de thumbnail |
|
||||||
|
| owner | JSONB | Propietario(s) |
|
||||||
|
| set_flg | JSONB | Array de mrfs de flg |
|
||||||
|
| url | VARCHAR | URL externa |
|
||||||
|
| url_atc | JSONB | Array de URLs de adjuntos |
|
||||||
|
| url_json | VARCHAR/JSONB | URL(s) de archivos JSON para IA |
|
||||||
|
| date | DATE | Fecha manual significativa |
|
||||||
|
| created_at | TIMESTAMP | Fecha de creación automática |
|
||||||
|
| mth_mrf | VARCHAR(64) | Referencia al proceso productivo |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Tablas Relacionales
|
||||||
|
|
||||||
|
### 4.1 Árbol y Grafos
|
||||||
|
|
||||||
|
| tree_hst | tree_flg | graph_hst | graph_flg | library_hst | library_flg |
|
||||||
|
|----------|----------|-----------|-----------|-------------|-------------|
|
||||||
|
| mrf_parent | mrf_parent | mrf_a | mrf_a | mrf_library | mrf_library |
|
||||||
|
| mrf_child | mrf_child | mrf_b | mrf_b | mrf_hst | mrf_flg |
|
||||||
|
| - | - | weight | weight | - | - |
|
||||||
|
| - | - | edge_type | edge_type | - | - |
|
||||||
|
|
||||||
|
### 4.2 Relaciones Entidades-Tags
|
||||||
|
|
||||||
|
| ply_hst | ply_flg | itm_hst | itm_flg | loc_hst | loc_flg |
|
||||||
|
|---------|---------|---------|---------|---------|---------|
|
||||||
|
| mrf_ply | mrf_ply | mrf_itm | mrf_itm | mrf_loc | mrf_loc |
|
||||||
|
| mrf_hst | mrf_flg | mrf_hst | mrf_flg | mrf_hst | mrf_flg |
|
||||||
|
|
||||||
|
| mst_hst | mst_flg | bck_hst | bck_flg | mth_hst | mth_flg |
|
||||||
|
|---------|---------|---------|---------|---------|---------|
|
||||||
|
| mrf_mst | mrf_mst | mrf_bck | mrf_bck | mrf_mth | mrf_mth |
|
||||||
|
| mrf_hst | mrf_flg | mrf_hst | mrf_flg | mrf_hst | mrf_flg |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Grupos (group)
|
||||||
|
|
||||||
|
### 5.1 HST - Etiquetado Semántico
|
||||||
|
|
||||||
|
| group | Nombre | Regla de ref |
|
||||||
|
|-------|--------|--------------|
|
||||||
|
| hst | hashtags base | Cada registro tiene ref única |
|
||||||
|
| spe | especificaciones | Todos tienen ref = "spe" |
|
||||||
|
| vsn | visiones | Todos tienen ref = "vsn" |
|
||||||
|
| vue | valores | Todos tienen ref = "vue" |
|
||||||
|
| msn | misiones | ref = "msn", "pjt", "tgt" o "ctg" |
|
||||||
|
|
||||||
|
### 5.2 PLY - Players
|
||||||
|
|
||||||
|
| ref | group | Descripción |
|
||||||
|
|-----|-------|-------------|
|
||||||
|
| ppl | persona | Individuo humano |
|
||||||
|
| inc | empresa | Entidad jurídica |
|
||||||
|
| tem | equipo | Grupo de personas |
|
||||||
|
| ain | inteligencia artificial | Agente artificial |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Edge Types (graph)
|
||||||
|
|
||||||
|
| edge_type | Descripción |
|
||||||
|
|-----------|-------------|
|
||||||
|
| relation | Genérica |
|
||||||
|
| specialization | Es-un-tipo-de |
|
||||||
|
| mirror | Equivalencia/reflejo |
|
||||||
|
| dependency | Depende-de |
|
||||||
|
| composition | Parte-de |
|
||||||
|
| sequence | Sigue-a |
|
||||||
|
| association | Asociado-con |
|
||||||
|
| contextual | En-contexto-de |
|
||||||
|
| alternative | Alternativa-a |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Estructura de Carpetas (Servidor)
|
||||||
|
|
||||||
|
```
|
||||||
|
/hst/
|
||||||
|
├── bases/ # Backups SQL
|
||||||
|
├── images/
|
||||||
|
│ ├── hst/thumb/
|
||||||
|
│ ├── flg/thumb/
|
||||||
|
│ ├── ply/thumb/
|
||||||
|
│ ├── itm/thumb/
|
||||||
|
│ ├── loc/thumb/
|
||||||
|
│ ├── mst/thumb/
|
||||||
|
│ ├── bck/thumb/
|
||||||
|
│ └── mth/thumb/
|
||||||
|
└── map/
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Infraestructura
|
||||||
|
|
||||||
|
| Servidor | IP | Propósito |
|
||||||
|
|----------|-----|-----------|
|
||||||
|
| ARCHITECT | 69.62.126.110 | Desarrollo |
|
||||||
|
| HST | 72.62.2.84 | API tags semánticos |
|
||||||
|
| DECK | 72.62.1.113 | Usuario |
|
||||||
|
| CORP | 92.112.181.188 | Corporativo |
|
||||||
|
|
||||||
|
| Parámetro | Valor |
|
||||||
|
|-----------|-------|
|
||||||
|
| Container | postgres_hst |
|
||||||
|
| Usuario | directus |
|
||||||
|
| DB | hst_images |
|
||||||
|
| R2 Endpoint | https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Tablas Oracle (Prospectiva)
|
||||||
|
|
||||||
|
### oracle_analisis
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| num | SERIAL | Identificador |
|
||||||
|
| mrf | VARCHAR(64) | Hash público (PK) |
|
||||||
|
| private_mrf | VARCHAR(64) | Hash privado |
|
||||||
|
| name_es | VARCHAR(255) | Nombre en español |
|
||||||
|
| name_en | VARCHAR(255) | Nombre en inglés |
|
||||||
|
| txt | TEXT | Descripción |
|
||||||
|
| h_bloques_feldman | JSONB | Array de mrfs de Feldman |
|
||||||
|
| periodo_inicio | DATE | Inicio período histórico |
|
||||||
|
| periodo_fin | DATE | Fin período histórico |
|
||||||
|
| h_dataset | VARCHAR(64) | Hash integridad del conjunto |
|
||||||
|
| modelo_name | VARCHAR(255) | Nombre del modelo |
|
||||||
|
| modelo_version | VARCHAR(50) | Versión del modelo |
|
||||||
|
| modelo_metodologia | TEXT | Descripción metodología |
|
||||||
|
| modelo_formulas | JSONB | Fórmulas de cálculo |
|
||||||
|
| modelo_parametros | JSONB | Parámetros fijos |
|
||||||
|
| modelo_limitaciones | TEXT | Limitaciones |
|
||||||
|
| supuestos | JSONB | Array de supuestos |
|
||||||
|
| escenario_base | JSONB | Escenario base |
|
||||||
|
| escenario_optimista | JSONB | Escenario optimista |
|
||||||
|
| escenario_pesimista | JSONB | Escenario pesimista |
|
||||||
|
| escenario_estres | JSONB | Escenario estrés |
|
||||||
|
| sensibilidad | JSONB | Análisis sensibilidad |
|
||||||
|
| estado | VARCHAR(20) | activo, caducado, invalidado |
|
||||||
|
| fecha_caducidad | DATE | Fecha expiración |
|
||||||
|
| condiciones_invalidacion | TEXT | Qué invalida el análisis |
|
||||||
|
| autor | VARCHAR(255) | Usuario o módulo Grace |
|
||||||
|
| owner | JSONB | Propietario(s) |
|
||||||
|
| version | VARCHAR(50) | Versión |
|
||||||
|
| date | DATE | Fecha emisión |
|
||||||
|
| created_at | TIMESTAMP | Fecha creación |
|
||||||
|
|
||||||
|
### oracle_escenario
|
||||||
|
|
||||||
|
| Campo | Tipo | Descripción |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| num | SERIAL | Identificador |
|
||||||
|
| mrf | VARCHAR(64) | Hash público (PK) |
|
||||||
|
| private_mrf | VARCHAR(64) | Hash privado |
|
||||||
|
| analisis_mrf | VARCHAR(64) | FK a oracle_analisis |
|
||||||
|
| name_es | VARCHAR(255) | Nombre en español |
|
||||||
|
| name_en | VARCHAR(255) | Nombre en inglés |
|
||||||
|
| txt | TEXT | Descripción |
|
||||||
|
| valores_supuestos | JSONB | id_supuesto → valor |
|
||||||
|
| resultado_min | NUMERIC | Límite inferior |
|
||||||
|
| resultado_max | NUMERIC | Límite superior |
|
||||||
|
| resultado_medio | NUMERIC | Valor central |
|
||||||
|
| horizonte | VARCHAR(50) | Período proyección |
|
||||||
|
| comparado_con | JSONB | Array mrfs otros escenarios |
|
||||||
|
| autor | VARCHAR(255) | Usuario |
|
||||||
|
| owner | JSONB | Propietario(s) |
|
||||||
|
| date | DATE | Fecha |
|
||||||
|
| created_at | TIMESTAMP | Fecha creación |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Resumen
|
||||||
|
|
||||||
|
| Tipo | Cantidad |
|
||||||
|
|------|----------|
|
||||||
|
| Tablas principales | 8 |
|
||||||
|
| Tablas Oracle | 2 |
|
||||||
|
| Tablas árbol/grafos | 6 |
|
||||||
|
| Tablas relacionales | 12 |
|
||||||
|
| **Total** | **28** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Changelog
|
||||||
|
|
||||||
|
### v2.1 (4 Enero 2026)
|
||||||
|
- Añadido `img_thumb_url` en todas las tablas
|
||||||
|
|
||||||
|
### v2.0 (4 Enero 2026)
|
||||||
|
|
||||||
|
| Antes | Después |
|
||||||
|
|-------|---------|
|
||||||
|
| nombre_es/en/ch | name_es/en/ch |
|
||||||
|
| estandar_md | standard_md |
|
||||||
|
| estandar_data | standard_data |
|
||||||
|
| grupo | group |
|
||||||
|
| mrf_padre | mrf_parent |
|
||||||
|
| mrf_hijo | mrf_child |
|
||||||
|
| mrf_biblioteca | mrf_library |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Anexo: Cuestiones Pendientes
|
||||||
|
|
||||||
|
## A.1 Subgrupos por Definir
|
||||||
|
|
||||||
|
### FLG - Flags
|
||||||
|
|
||||||
|
| Categoría | Códigos | Ejemplos | Estado |
|
||||||
|
|-----------|---------|----------|--------|
|
||||||
|
| Países | ??? | España, USA, China | Pendiente |
|
||||||
|
| Jurisdicciones | ??? | UE, LATAM, NAFTA | Pendiente |
|
||||||
|
| Normativas | ??? | RGPD, SOX, HIPAA | Pendiente |
|
||||||
|
| Estándares | ??? | ISO 27001, Bluetooth, WiFi | Pendiente |
|
||||||
|
|
||||||
|
### ITM - Items
|
||||||
|
|
||||||
|
| Categoría | Códigos | Ejemplos | Estado |
|
||||||
|
|-----------|---------|----------|--------|
|
||||||
|
| ??? | ??? | Productos, componentes, materiales | Pendiente |
|
||||||
|
|
||||||
|
**Referencia:** Marco temporal T-N → T+N ya definido (crf, mku, zmd, prd, itm).
|
||||||
|
|
||||||
|
### LOC - Locations
|
||||||
|
|
||||||
|
| Categoría | Códigos | Ejemplos | Estado |
|
||||||
|
|-----------|---------|----------|--------|
|
||||||
|
| Punto | ??? | Coordenadas exactas | Pendiente |
|
||||||
|
| Área | ??? | Zona delimitada | Pendiente |
|
||||||
|
| Ruta | ??? | Trayecto entre puntos | Pendiente |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.2 Estructura jsonb_standard (Capas)
|
||||||
|
|
||||||
|
| Capa | Nombre | Contenido |
|
||||||
|
|------|--------|-----------|
|
||||||
|
| L1 | core | Identificación básica |
|
||||||
|
| L2 | {dominio} | Datos específicos del tipo |
|
||||||
|
| L3 | relations | Referencias a otras entidades |
|
||||||
|
| L4 | extended | Datos opcionales |
|
||||||
|
| L5 | metadata | Auditoría, versiones |
|
||||||
|
| L6+ | custom | Extensiones específicas |
|
||||||
|
|
||||||
|
**Estado:** Propuesto, no validado.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.3 Campos jsonb_data por Tabla
|
||||||
|
|
||||||
|
| Tabla | Campos esperados en jsonb_data | Estado |
|
||||||
|
|-------|--------------------------------|--------|
|
||||||
|
| ply (ppl) | fecha_nacimiento, genero, ... | Pendiente |
|
||||||
|
| ply (inc) | nombre_fiscal, codigo_fiscal, telefono, email, direccion, numero_cuenta | Parcial |
|
||||||
|
| ply (tem) | miembros, ... | Pendiente |
|
||||||
|
| ply (ain) | modelo, proveedor, ... | Pendiente |
|
||||||
|
| itm | ref_supplier, moq, lote, embalaje, unidad, coste, iva, delivery_time, specs | Parcial |
|
||||||
|
| loc | lat, lon, precision, tipo_zona, ... | Pendiente |
|
||||||
|
| mst | positivo, negativo, time, count, days, fecha_objetivo, ... | Parcial |
|
||||||
|
| bck | fecha_inicio, fecha_final, prioridad, ... | Parcial |
|
||||||
|
| mth | pasos, secuencia, validaciones, ... | Pendiente |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.4 Formatos de owner
|
||||||
|
|
||||||
|
| Caso | Formato | Estado |
|
||||||
|
|------|---------|--------|
|
||||||
|
| Propietario único | `"mrf123..."` | Definido |
|
||||||
|
| Múltiples propietarios | `[{"mrf": "...", "participacion": 51}, ...]` | Definido |
|
||||||
|
| Empresa con socios | Schema en hst ref="owner" | Pendiente |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.5 Bibliotecas
|
||||||
|
|
||||||
|
### Visibilidad Pública/Privada
|
||||||
|
|
||||||
|
| Aspecto | Decisión | Implementación |
|
||||||
|
|---------|----------|----------------|
|
||||||
|
| Diferencia en datos | No hay | - |
|
||||||
|
| Discriminación | En endpoint | Pendiente |
|
||||||
|
|
||||||
|
### Niveles de Biblioteca
|
||||||
|
|
||||||
|
| Nivel | Descripción | Estado |
|
||||||
|
|-------|-------------|--------|
|
||||||
|
| Sistema (pública) | Disponibles para todos | Existente |
|
||||||
|
| Sistema (privada) | Backup completo, solo admin | Existente |
|
||||||
|
| Usuario | Creadas por el usuario | Por implementar |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.6 Sincronización de Tablas Redundantes
|
||||||
|
|
||||||
|
| Opción | Descripción | Estado |
|
||||||
|
|--------|-------------|--------|
|
||||||
|
| Triggers | Actualización automática en INSERT/UPDATE | Por evaluar |
|
||||||
|
| Batch | Sincronización periódica | Por evaluar |
|
||||||
|
| Aplicación | Lógica en el código | Por evaluar |
|
||||||
|
|
||||||
|
**Pregunta:** ¿Cómo se sincronizan las tablas redundantes (ply_hst, itm_flg, etc.) con los campos JSONB (hashtags, set_flg)?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.7 API y Endpoints Pendientes
|
||||||
|
|
||||||
|
| Endpoint | Función | Estado |
|
||||||
|
|----------|---------|--------|
|
||||||
|
| /biblioteca/import | Importar biblioteca | Pendiente |
|
||||||
|
| /biblioteca/export | Exportar biblioteca | Pendiente |
|
||||||
|
| /sync/redundant | Sincronizar tablas redundantes | Pendiente |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.8 Validaciones
|
||||||
|
|
||||||
|
### Foreign Keys
|
||||||
|
|
||||||
|
| Decisión | Estado |
|
||||||
|
|----------|--------|
|
||||||
|
| Usar FK con DEFERRABLE INITIALLY DEFERRED | Propuesto |
|
||||||
|
| Permitir importación masiva sin validación inmediata | Propuesto |
|
||||||
|
|
||||||
|
### Constraints de Unicidad
|
||||||
|
|
||||||
|
| Campo | Tabla | Constraint | Estado |
|
||||||
|
|-------|-------|------------|--------|
|
||||||
|
| mrf | todas | UNIQUE | Por verificar |
|
||||||
|
| ref | hst (dentro de grupo) | UNIQUE | Por verificar |
|
||||||
|
| mrf_child | tree_* | UNIQUE | Existente |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## A.9 Prioridades
|
||||||
|
|
||||||
|
### Alta (Bloquea desarrollo)
|
||||||
|
|
||||||
|
1. Definir subgrupos FLG
|
||||||
|
|
||||||
|
### Media (Mejora funcionalidad)
|
||||||
|
|
||||||
|
2. Definir jsonb_data por tabla
|
||||||
|
3. Mecanismo de sincronización tablas redundantes
|
||||||
|
4. Endpoints de importación/exportación
|
||||||
|
|
||||||
|
### Baja (Optimización)
|
||||||
|
|
||||||
|
5. Subgrupos ITM, LOC, MST, BCK, MTH
|
||||||
|
6. Documentación de estándares
|
||||||
|
7. Migración a Gitea
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*TZZR Database Schema v2.1 - 6 Enero 2026*
|
||||||
Reference in New Issue
Block a user