تنسيقات تأليف Decision Gate

تنسيقات تأليف السيناريو القياسية.

تقبل Decision Gate مدخلات تأليف RawScenarioSpec بصيغة JSON أو RON. JSON هو التنسيق القياسي المستخدم للتجزئة، والمخططات، والتشغيل. RON موجود فقط كطبقة تأليف صديقة للبشر ويجب تحويله إلى JSON القياسي قبل التنفيذ.

JSON القياسي

  • يستخدم JSON القياسي RFC 8785 (JCS) لترتيب حتمي.
  • تحدد تجزئات المصدر الصيغ المعادية ولا يتم التحقق من هويات القانون.
  • يتم إصدار JSON القياسي بواسطة decision-gate authoring normalize.

المدخلات المدعومة

  • JSON: تنسيق قياسي للتخزين، التجزئة، والتحقق.
  • RON: تنسيق مؤلف فقط تم تطبيعه إلى JSON القياسي.
  • YAML: غير مدعوم بشكل افتراضي (يضاف فقط عند الحاجة الصريحة).

خط أنابيب التطبيع

  1. تحليل JSON أو RON إلى قيمة منظمة.
  2. تحقق من صحة schemas/scenario.schema.json.
  3. فك تشفير صيغة RawScenarioSpec المعادية المغلقة.
  4. قم بتحويل JSON المصدر إلى الشكل القياسي (RFC 8785).
  5. احسب تجزئة المصدر؛ يقوم scenario_define بإجراء إثبات القبول.

الحدود

  • الحد الأقصى لحجم إدخال التأليف: 16777216 بايت.
  • عمق التعشيش الأقصى: 64.

استخدام واجهة سطر الأوامر

تحقق من إدخال تأليف RON:

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

قم بتطبيع إلى JSON القياسي:

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

المراجع

  • Docs/generated/decision-gate/examples/scenario.ron: مثال تأليف في RON.
  • Docs/generated/decision-gate/examples/scenario.json: مخرجات JSON القياسية.
  • schemas/scenario.schema.json: مخطط JSON لـ RawScenarioSpec.