Documentos de Decision Gate

Evaluación de puertas determinista, reproducible con decisiones auditables.

Documentación de Asset Core

Formatos de Autorización de Puertas de Decisión

Decision Gate acepta la entrada de autoría de ScenarioSpec en JSON o RON. JSON es el formato canónico utilizado para hashing, esquemas y runpacks. RON existe solo como una capa de autoría amigable para humanos y debe ser normalizado a JSON canónico antes de la ejecución.

JSON Canónico

  • JSON canónico utiliza RFC 8785 (JCS) para un orden determinista.
  • Los hashes de ScenarioSpec se calculan sobre bytes JSON canónicos.
  • JSON canónico es emitido por decision-gate authoring normalize.

Entradas Soportadas

  • JSON: formato canónico para almacenamiento, hashing y validación.
  • RON: formato solo de autoría normalizado a JSON canónico.
  • YAML: no soportado por defecto (agregar solo con requerimiento explícito).

Normalización de la tubería

  1. Analizar JSON o RON en un valor estructurado.
  2. Validar contra schemas/scenario.schema.json.
  3. Ejecutar la validación semántica de ScenarioSpec (IDs, condiciones, puertas).
  4. Canonicalizar a JSON (RFC 8785).
  5. Calcule el hash de la especificación canónica.

Límites

  • Tamaño máximo de entrada de autoría: 16777216 bytes.
  • Profundidad máxima de anidamiento: 64.

Uso de la CLI

Validar la entrada de autoría RON:

decision-gate authoring validate --input examples/scenario.ron --format ron

Normalizar a JSON canónico:

decision-gate authoring normalize --input examples/scenario.ron --format ron \
  --output examples/scenario.json

Referencias

  • examples/scenario.ron: ejemplo de autoría en RON.
  • examples/scenario.json: salida JSON canónica.
  • schemas/scenario.schema.json: Esquema JSON para ScenarioSpec.