وثائق بوابة القرار

تقييم بوابة حتمي وقابل لإعادة التشغيل مع قرارات قابلة للتدقيق.

وثائق Asset Core

بنية بوابة القرار لتشغيل الحزم

Audience: Engineers implementing runpack export/verification and الجمهور: المهندسون الذين يقومون بتنفيذ تصدير/تحقق runpack والتعامل مع ملفات النظام/تخزين الكائنات.


جدول المحتويات

  1. نظرة عامة تنفيذية
  2. هيكل بيان تشغيل الحزمة
  3. خط أنابيب تصدير Runpack
  4. نموذج سلامة الأثر
  5. تدفق التحقق من حزمة التشغيل
  6. أمان نظام الملفات Sink/Reader
  7. أمان مستودع الكائنات (Object Store) - المصدر/القارئ
  8. مرجع متقاطع ملف بملف

نظرة عامة تنفيذية

Runpacks هي حزم حتمية من مواصفات السيناريو، سجلات التحكم، وبيانات النزاهة. يقوم الباني بكتابة قطع JSON معيارية وحساب تجزئة لكل ملف، بالإضافة إلى تجزئة جذرية على قائمة تجزئات الملفات. تتحقق عملية التحقق من النزاهة، وتتحقق من تفرد سجلات القرارات، وتتحقق اختياريًا من نقاط الأدلة عندما تكون سياسة النقطة موجودة. F:crates/decision-gate-core/src/runtime/runpack.rs L83-L374

تُخزَّن مرجعيات الأدلة كما هي في سجلات runpack. بالنسبة للمرجعيات المعتمدة على الملفات (file_path_rooted)، تتضمن المرجعيات معرف جذر ثابت root_id بالإضافة إلى مسار نسبي بأسلوب POSIX لضمان اتساق التجزئات عبر أنظمة التشغيل.

تقوم تصديرات Runpack باختيار وجهة بهذا الترتيب: واجهة RunpackStorage الخلفية الاختيارية (تقوم بالتصدير إلى دليل مؤقت وتفوض التخزين)، واجهة تخزين كائن OSS عند تكوينها، أو تصدير نظام الملفات الذي يتطلب output_dir. F:crates/decision-gate-mcp/src/runpack_storage.rs L31-L67 F:crates/decision-gate-mcp/src/tools.rs L2342-L2480


هيكل بيان Runpack

المخطط هو الفهرس القياسي لقطع العمل في runpack. تشمل الحقول الرئيسية:

  • معرفات السيناريو / التشغيل وهاش المواصفات
  • خوارزمية التجزئة ووضع التحقق
  • سياسة الربط الاختيارية وسياق الأمان
  • قائمة تجزئة الملفات وتجميع الجذر
  • إدخالات فهرس الأثر

F:crates/decision-gate-core/src/core/runpack.rs L57-L116

نسخة البيان واضحة. يدعم المدقق حاليًا v1 ويفشل في حالة القيم غير المعروفة لـ manifest_version للحفاظ على ضمانات التوافق مع الإصدارات السابقة مع تقديم إصدارات جديدة. F:crates/decision-gate-core/src/runtime/runpack.rs L60-L374

تلتقط بيانات السياق الأمني الوضعية المسموح بها من قبل المطور وسلطة مساحة الأسماء عند توفيرها من قبل خادم MCP. F:crates/decision-gate-core/src/core/runpack.rs L94-L104


خط أنابيب تصدير Runpack

يتم بدء تصدير Runpack عبر أداة MCP runpack_export:

  1. يقوم جهاز التوجيه للأدوات بتحميل حالة التشغيل من المتجر المكون.
  2. A RunpackBuilder is created with the active anchor policy and optional يتم إنشاء RunpackBuilder مع سياسة الربط النشطة وبيانات السياق الأمنية الاختيارية.
  3. Artifacts are written via filesystem or object-store sinks depending on يتم كتابة العناصر عبر أنظمة الملفات أو مخازن الكائنات حسب التكوين.
  4. يمكن طلب التحقق الاختياري أثناء التصدير.

F:crates/decision-gate-mcp/src/tools.rs L2342-L2480 F:crates/decision-gate-mcp/src/runpack_object_store.rs L94-L260

عند تكوين تجاوز RunpackStorage، يقوم MCP ببناء الحزمة على القرص ويفوض التخزين إلى الواجهة الخلفية. خلاف ذلك، تقوم صادرات تخزين الكائنات بكتابة كائنات لكل عنصر مباشرة؛ تتطلب صادرات نظام الملفات output_dir.

يكتب الباني مخرجات JSON الحتمية لـ:

  • مواصفات السيناريو
  • سجل التشغيل
  • سجل تقييم البوابة
  • سجل القرارات
  • سجل الحزمة
  • سجل التقديم
  • سجل استدعاء الأداة

F:crates/decision-gate-core/src/runtime/runpack.rs L130-L214


نموذج سلامة الأثر

لكل عنصر، يقوم الباني:

  • يتم تسلسل البيانات باستخدام JCS
  • يرفض القيم العائمة غير المنتهية أثناء التحويل القياسي (NaN/±Infinity)
  • يحسب تجزئة الملف
  • يضيف إدخال تجزئة ملف وسجل عنصر

يتم حساب تجزئة الجذر على القائمة القياسية لتجزئات الملفات للحماية من إعادة ترتيب العناصر أو حذفها. F:crates/decision-gate-core/src/runtime/runpack.rs L433-L480


تدفق التحقق من حزمة التشغيل

التحقق يؤكد سلامة وثوابت الهيكلية:

  • تتطابق جميع تجزئات الأصول مع البيان.
  • يتطابق جذر الهاش مع قائمة هاش الملفات.
  • سجل القرارات لا يحتوي على قرارات مكررة لكل معرف حدث.
  • يتم تشغيل تحقق سياسة الربط عند وجوده في البيان.

F:crates/decision-gate-core/src/runtime/runpack.rs L314-L567

أداة runpack_verify تقوم بتحليل البيان، وتقرأ العناصر من القرص، وتعيد تقرير تحقق منظم. F:crates/decision-gate-mcp/src/tools.rs L2497-L2513

ملاحظة التفاعل (checked_files semantics): runpack_export مع include_verification = true يولد تقرير التحقق قبل إضافة عنصر verifier_report.json إلى البيان. بسبب ذلك، يقوم runpack_export.report.checked_files بحساب ملفات البيان قبل التقرير.

runpack_verify يتحقق من قائمة تجزئة ملف البيان النهائي (بما في ذلك verifier_report.json)، لذا من المتوقع أن تكون runpack_verify.report.checked_files بالضبط runpack_export.report.checked_files + 1 لنفس الـ runpack عندما يكون التحقق في وقت التصدير مفعلًا.


أمان نظام الملفات Sink/Reader

تُعالج عناصر نظام الملفات بواسطة تنفيذات مُعزَّزة للقراءة/الكتابة:

  • يجب أن تكون المسارات نسبية ولا يمكنها الهروب من جذر التشغيل.
  • يتم تطبيق حدود مكونات المسار وطول المسار الكلي.
  • يتم تطبيق حدود الحد الأقصى لعدد البايتات وتفشل في حالة الانتهاكات.

F:crates/decision-gate-mcp/src/runpack.rs L43-L217


أمان مستودع الكائنات (Object Store) للقراءة/الكتابة

تفرض محولات تشغيل تخزين الكائنات نفس ضمانات الأمان كما هو الحال في تخزين نظام الملفات:

  • يتم اشتقاق المفاتيح من المستأجر/مساحة الأسماء/السيناريو/تشغيل/هاش_المواصفات.
  • يتم التحقق من مقاطع المسار وتحديد طولها.
  • يتم تحديد الحد الأقصى للقطع الأثرية عند MAX_RUNPACK_ARTIFACT_BYTES.
  • تقرأ الفشل مغلقًا عندما يتم تجاوز حدود الحجم.

F:crates/decision-gate-mcp/src/runpack_object_store.rs L94-L260


مرجع متقاطع لكل ملف

المنطقةالملفالملاحظات
مخطط البيانcrates/decision-gate-core/src/core/runpack.rsحقول البيان، السلامة، سياق الأمان.
الباني + المدققcrates/decision-gate-core/src/runtime/runpack.rsمنطق كتابة والتحقق من الأرتيفكت.
تكامل الأدواتcrates/decision-gate-mcp/src/tools.rsتدفقات runpack_export/runpack_verify.
إدخال وإخراج نظام الملفاتcrates/decision-gate-mcp/src/runpack.rsمصب/قارئ الأرتيفكت الآمن مع التحقق من المسار.
إدخال وإخراج تخزين الكائناتcrates/decision-gate-mcp/src/runpack_object_store.rsمصب/قارئ تخزين الكائنات لأرتيفكتات runpack.