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
- Analizar JSON o RON en un valor estructurado.
- Validar contra
schemas/scenario.schema.json. - Ejecutar la validación semántica de ScenarioSpec (IDs, condiciones, puertas).
- Canonicalizar a JSON (RFC 8785).
- 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.