Skip to content

Modelo de Grafo para Validación (v0.1)

El Modelo de Grafo de RIGOR (GMV) define la representación interna formal de las especificaciones durante la validación. Permite análisis determinista, resolución de referencias y aplicación estructural.

1. Definición Formal

Un Grafo de RIGOR se define como un grafo dirigido y tipado:
G = (N, E, Tn, Te, C)

Donde:

  • N: Conjunto de Nodos (entidades semánticas).
  • E: Conjunto de Aristas (relaciones tipadas).
  • Tn: Tipos de Nodo.
  • Te: Tipos de Arista.
  • C: Conjunto de Restricciones.

2. Modelo de Nodos

Cada nodo es una entidad inmutable con un ID único globalmente.

2.1 Tipos de Nodo

TipoDescripción
ArtifactArchivo de especificación raíz.
ModuleAgrupación lógica de entidades.
EntityEntidad de dominio de nivel de negocio.
FieldAtributo o propiedad de una Entidad.
RuleDefinición de restricción de nivel de negocio.
ConstraintRegla formal de validación del protocolo.
RelationshipAsociación explícita entre nodos.
EnvironmentDefinición de contexto y límite de ejecución.

3. Modelo de Aristas

Las aristas representan relaciones dirigidas y no ambiguas entre nodos.

3.1 Tipos de Arista

TipoSignificado
DEFINESArtifact declara un Nodo.
BELONGS_TONodo es parte de un Módulo.
HAS_FIELDEntidad contiene un Campo.
REFERENCESUn nodo apunta a otro (Referencia cruzada).
DEPENDS_ONDependencia entre Módulos o Entidades.
VALIDATESRegla apunta a una Entidad o Campo.
CONSTRAINSRestricción del protocolo aplica a un Nodo.

4. Políticas de Ciclos y Conectividad

Para asegurar la ejecución determinista, se aplican las siguientes políticas:

Tipo de Arista¿Ciclos Permitidos?Nota
DEPENDS_ONNoDebe formar un Grafo Dirigido Acíclico (DAG).
VALIDATESNoLa lógica de validación no debe ser circular.
REFERENCESPermite estructuras de datos recursivas.

5. Pipeline de Construcción

El Grafo se construye en una secuencia determinista:

  1. Parse: Ingiera artefactos fuente.
  2. Normalize: Estandiza estructura y casing.
  3. Resolve Identity: Mapea todos los IDs al espacio de nombres global.
  4. Build Graph: Instancia nodos y aristas.
  5. Freeze: Hace el grafo inmutable antes de la validación.

6. Localización de Errores

Cada error de validación se mapea a la estructura del grafo:

json
{
  "code": "E_UNREACHABLE_STATE",
  "nodeID": "core.process.state_archived",
  "path": "root -> process -> state_archived",
  "message": "State is defined but unreachable from initial_state."
}

7. Interacción con CLI

El CLI proporciona herramientas para inspeccionar el grafo interno:

  • rigor graph: Emite el grafo completo en formato JSON.
  • rigor graph --subgraph=<id>: Extrae un subgrafo delimitado para análisis aislado.

Protocolo de Restricción de IA