Formats d'Autorització de Decision Gate

Formats d'autoria de scenario canònics.

La Decision Gate accepta l’entrada d’autoria RawScenarioSpec en JSON o RON. JSON és el format canònic utilitzat per a hashing, esquemes i runpacks. RON existeix només com una capa d’autoria amigable per a humans i ha de ser normalitzat a JSON canònic abans de l’execució.

JSON canònic

  • El JSON canònic utilitza l’RFC 8785 (JCS) per a l’ordenació determinista.
  • Els hashes font identifiquen sintaxi hostil i no són identificacions legals validades.
  • El JSON canònic és emès per decision-gate authoring normalize.

Entrades Suportades

  • JSON: format canònic per a l’emmagatzematge, hashing i validació.
  • RON: format només d’autoria normalitzat a JSON canònic.
  • YAML: no és compatible per defecte (afegeix només amb requisit explícit).

Normalització del Pipeline

  1. Analitzar JSON o RON en un valor estructurat.
  2. Valida contra schemas/scenario.schema.json.
  3. Deserialitzar la sintaxi RawScenarioSpec hostil tancada.
  4. Canonitzar JSON font (RFC 8785).
  5. Calcular el hash font; scenario_define realitza l’admissió de prova.

Límits

  • Mida màxima d’entrada d’autor: 16777216 bytes.
  • Profunditat màxima de la nidificació: 64.

Ús de la CLI

Valida l’entrada d’autoria RON:

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

Normalitzar a JSON canònic:

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

Referències

  • Docs/generated/decision-gate/examples/scenario.ron: exemple d’autoria en RON.
  • Docs/generated/decision-gate/examples/scenario.json: sortida JSON canònica.
  • schemas/scenario.schema.json: Esquema JSON per a RawScenarioSpec.