Formatos de Autorización de Decision Gate

Formatos de autoría de escenario canónicos.

Decision Gate acepta la entrada de autoría RawScenarioSpec 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 origen identifican sintaxis hostil y no son identidades legales validadas.
  • 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. Deserializar la sintaxis RawScenarioSpec hostil cerrada.
  4. Canonizar JSON de origen (RFC 8785).
  5. Calcular el hash de origen; scenario_define realiza la admisión de prueba.

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:

cargo run -p decision-gate-cli -- authoring validate --input Docs/generated/decision-gate/examples/scenario.ron --format ron

Normalizar a JSON canónico:

cargo run -p decision-gate-cli -- authoring normalize --input Docs/generated/decision-gate/examples/scenario.ron --format ron \
+  --output /tmp/dg-doc-scenario.json

Referencias

  • Docs/generated/decision-gate/examples/scenario.ron: ejemplo de autoría en RON.
  • Docs/generated/decision-gate/examples/scenario.json: salida JSON canónica.
  • schemas/scenario.schema.json: Esquema JSON para RawScenarioSpec.