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.
REFERENCESSíPermite 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