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

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

وثائق Asset Core

مصطلحات بوابة القرار

تعريفات قصيرة وقانونية لمصطلحات بوابة القرار.

Condition

عقدة ورقة في شجرة المتطلبات تشير إلى condition_id المحدد في ScenarioSpec. عند تقييمها، تبحث عن ConditionSpec، تستعلم عن فحص مزود الأدلة، تطبق المقارن، وتعيد نتيجة ثلاثية الحالة. يجب أن تكون معرفات الحالة مستقرة ووصفية (مثل ‘env_is_prod’، ‘after_freeze’).

ConditionSpec

يربط condition_id باستعلام الأدلة، والمقارن، والقيمة المتوقعة. يتم الإشارة إلى condition_id من قبل أوراق المتطلبات. عند التقييم، يقوم وقت التشغيل باستعلام المزود باستخدام EvidenceQuery (provider_id + check_id + params)، ويطبق المقارن على الأدلة، ويعيد true/false/unknown. يؤدي عدم وجود المتوقع (باستثناء exists/not_exists) إلى الحصول على unknown.

EvidenceAnchor

بيانات التعريف التي تربط الأدلة بمصدرها للتحقق غير المتصل. تحتوي على anchor_type و anchor_value المحددين من قبل المزود (مثل ‘receipt_id’، ‘log_offset’). تتيح المراسي مسارات التدقيق: عند وجود مرساة، يمكنك إعادة استعلام المزود (إذا كان لا يزال متاحًا) أو التحقق من اللقطات المؤرشفة. يتم تضمين المراسي في حزم التشغيل.

EvidenceContext

تم تمرير سياق وقت التشغيل إلى مزودي الأدلة أثناء الاستعلامات. يتضمن tenant_id و run_id و scenario_id و stage_id و trigger_id و trigger_time و correlation_id الاختياري لارتباط التدقيق. السياق هو بيانات وصفية فقط ولا يغير منطق الشرط.

EvidenceQuery

تم إرسال الطلب إلى مزود الأدلة. يحتوي على provider_id (أي مزود يجب الاستفسار عنه)، check_id (أي فحص لمزود يجب تنفيذه)، وparams (معاملات محددة للمزود). الاستعلام حتمي: نفس الاستعلام دائمًا يعيد نفس النتيجة عند وجود نفس الحالة الخارجية. يتم تسجيل الاستعلامات لأغراض التدقيق.

EvidenceRef

مرجع URI غير شفاف يشير إلى محتوى الأدلة المخزنة خارج وقت التشغيل. يسجل وقت التشغيل المرجع ولكنه لا يسترجعه أو يحله؛ يمكن للمراجعين الخارجيين استخدام URI لاسترجاع الأدلة حسب الحاجة.

EvidenceResult

استجابة من مزود الأدلة. تحتوي على قيمة الدليل (أو هاشه إذا تم حظر الكشف الخام)، evidence_hash من أجل النزاهة، رابط مرجعي للمصدر، وبيانات تعريف توقيع اختيارية. تقوم المقارنات بالتقييم بناءً على حقل القيمة. يتم التقاط النتائج في حزم التشغيل لإعادة التشغيل.

EvidenceValue

حمولة الأدلة الفعلية التي يعيدها المزود. يمكن أن تكون JSON (كائنات، مصفوفات، سلاسل نصية، أرقام، قيم منطقية، null) أو بايتات خام. يقوم المقارن بتفسير نوع القيمة: تتطلب المقارنات الرقمية أرقامًا، بينما تتطلب in_set أن تكون القيمة المتوقعة مصفوفة. تؤدي عدم تطابق الأنواع إلى نتائج غير معروفة.

GateOutcome

نتيجة الثلاث حالات لتقييم بوابة: صحيحة، خاطئة، أو غير معروفة. تعني “صحيحة” أن المتطلب قد تم تلبيته. تعني “خاطئة” أن الأدلة تتعارض مع المتطلب. تعني “غير معروفة” أن الأدلة مفقودة، أو أن المقارن لا يمكنه التقييم (عدم تطابق النوع)، أو أن المزود قد فشل. يمكن أن يتفرع التوجيه بناءً على أي نتيجة؛ فقط “صحيحة” تتقدم بالمراحل الخطية/الثابتة.

GateSpec

يحدد بوابة واحدة داخل مرحلة. تحتوي كل بوابة على معرف بوابة (gate_id) وشجرة متطلبات (تعبير RET). تمر البوابة فقط عندما يتم تقييم متطلباتها على أنه صحيح وفقًا لمنطق كليين الثلاثي. تفشل البوابات في حالة الإغلاق: الكاذب أو المجهول يمنع التقدم. يتم تقييم عدة بوابات في مرحلة معًا.

Provider

مصدر الأدلة (خادم MCP مدمج أو خارجي) الذي يجيب على فحوصات EvidenceQuery. يتم تكوين المزودين في decision-gate.toml ويتم اكتشافهم عبر عقود MCP.

RET

شجرة تقييم المتطلبات. جبر بولياني على نتائج ثلاثية الحالة يتكون من عقد And و Or و Not و RequireGroup و Condition. تجعل شجرات تقييم المتطلبات منطق البوابة واضحًا وقابلًا للتدقيق.

RequireGroup

مشغل نصاب N-of-M في شجرة المتطلبات. يحدد الحد الأدنى (min) من متطلبات الأطفال التي يجب أن تمر. يستخدم منطق ثلاثي الحالة: يُرجع true عندما يكون هناك على الأقل min من الأطفال صحيحين؛ يُرجع false عندما لا يمكن حتى لجميع المجهولين أن يصبحوا صحيحين الوصول إلى min؛ وإلا يُرجع unknown. يُستخدم للموافقة متعددة الأطراف، توقيعات العتبة، أو الفحوصات الزائدة.

Requirement

شجرة تقييم المتطلبات (RET) هي جبر بولي على نتائج ثلاثية الحالة. تتكون من عقد And و Or و Not و RequireGroup و Condition في شكل شجرة. يستخدم التقييم منطق كليين القوي: الخطأ يهيمن على And، والصحيح يهيمن على Or، والمجهول ينتشر. تمر البوابات فقط عندما يتم تقييم الجذر إلى صحيح. تجعل RETs منطق البوابة واضحًا وقابلًا للتدقيق وإعادة التشغيل.

سيناريوسبك

المواصفات الكاملة لعملية اتخاذ قرار حتمية. تحتوي على قائمة مرتبة من المراحل، وتعريفات الشروط، وسياسات/مخططات اختيارية. إن ScenarioSpec غير قابلة للتغيير بمجرد تسجيلها: يتم تجزئة شكلها القياسي بصيغة JSON لإنتاج spec_hash. نفس المواصفة + نفس الأدلة = نفس القرارات، دائمًا.

TimeoutPolicy

سياسة التحكم فيما يحدث عندما تنتهي مهلة مرحلة. الخيارات: ‘فشل’ تشير إلى أن التشغيل قد فشل بسبب انتهاء المهلة؛ ‘التقدم مع العلم’ يتقدم ويحدد علم انتهاء مهلة القرار؛ ‘فرع بديل’ يوجه باستخدام نتائج غير معروفة في قواعد الفروع. اختر بناءً على أهمية سير العمل واحتياجات التوجيه.

TriState

نتيجة تقييم الحالة الثلاثية: صحيحة، خاطئة، أو غير معروفة. تُستخدم بواسطة المقارنات وتقييم RET لتمثيل الأدلة المفقودة أو عدم تطابق النوع دون إيجاد إيجابيات كاذبة.

advance_to

السياسة التي تتحكم في كيفية تقدم التشغيل من المرحلة الحالية. أربعة أوضاع: ‘linear’ تتقدم إلى المرحلة التالية بالترتيب؛ ‘fixed’ تقفز إلى مرحلة مسماة؛ ‘branch’ توجه بناءً على نتائج البوابة (true/false/unknown كل منها يطابق next_stage_id)؛ ‘terminal’ تنهي التشغيل. وضع الفرع يمكّن سير العمل الشرطي.

allow_default

يسمح باستخدام مساحة الأسماء ‘default’ حرفياً (اختياري). يتطلب namespace.default_tenants. يجب أن تستخدم عمليات النشر في الإنتاج مساحات أسماء محددة لتجنب تصادمات بين المستأجرين.

allow_http

إعداد لكل مزود يسمح بروابط http:// لمزود الأدلة HTTP. الإعداد الافتراضي هو غير مفعل (HTTPS فقط). قم بتمكينه لنقاط الصحة الداخلية التي تفتقر إلى TLS. يفضل استخدام HTTPS لأي خدمات يمكن الوصول إليها عبر الشبكة.

allowinsecurehttp

يتيح استخدام عناوين URL http:// (غير TLS) لمزودي MCP على مستوى العالم. يجب تعطيله في الإنتاج. استخدمه فقط للتطوير المحلي أو الشبكات المعزولة. حركة مرور HTTP غير مشفرة وعرضة للاعتراض.

allow_logical

يسمح بتوقيتات منطقية في فحوصات الوقت بدلاً من الحاجة إلى unix_millis الحقيقي. يمكن تفعيله للاختبار والمحاكاة حيث تكون السيطرة على الوقت الحتمي مطلوبة. يجب تعطيله في الإنتاج بسبب قيود الوقت الحقيقي.

allow_raw

إعداد لكل مزود يسمح بالكشف عن الأدلة الخام. يتطلب أن تكون allow_raw_values صحيحة على مستوى عالمي. يتم تعيينه على المزودين الذين تكون أدلتهم آمنة للكشف (مثل، الطوابع الزمنية، حالة الصحة). يتم حذفه للمزودين الحساسين (الأسرار، بيانات الاعتماد).

allowrawvalues

إعداد عالمي يسمح بقيم الأدلة الخام في النتائج. عندما يكون غير صحيح، يقوم المزودون بإرجاع تجزئات بدلاً من القيم. قم بتمكينه فقط عندما تحتاج الأنظمة المستهلكة إلى محتوى الأدلة الفعلي. اجمعه مع require_provider_opt_in للتحكم المتعدد الطبقات.

allow_yaml

يسمح بتحليل YAML في مزود الأدلة JSON. YAML هو مجموعة فرعية من JSON مع بناء جملة إضافي. قم بتمكينه عندما تستخدم ملفات التكوين تنسيق YAML. قم بتعطيله للحد من استخدام JSON النقي للتحقق الأكثر صرامة.

allowed_comparators

قائمة السماح بالمقارنات الصالحة لهذا المخرج من الفحص.

allowed_hosts

قائمة السماح لأسماء المضيفين لطلبات الخروج لمزود HTTP. يُسمح فقط بعناوين URL التي تتطابق مع هذه المضيفين. يمنع SSRF: الاستعلامات إلى المضيفين غير المعتمدين تفشل مع خطأ أمني. مطلوب لمزودي HTTP في الإنتاج.

allowlist

قائمة مفاتيح متغيرات البيئة التي يمكن لموفر البيئة قراءتها. الاستعلامات عن المفاتيح غير المدرجة في القائمة المسموح بها تفشل مع خطأ في السياسة. استخدم القوائم المسموح بها لتقليل التعرض: سمح فقط بالمتغيرات المحددة التي تحتاجها فحوصاتك.

anchor_types

سلاسل نوع المرساة التي قد تصدرها عملية التحقق من المزود.

audit_enabled

تمكين تسجيل تدقيق MCP المنظم. عندما يكون غير صحيح، يتم تجاهل أحداث التدقيق. الافتراضي هو صحيح للحفاظ على أدلة الأمان والامتثال.

audit_path

مسار نظام الملفات لسجلات تدقيق MCP (خطوط JSON). عند عدم تعيينه، تُكتب أحداث التدقيق إلى stderr.

bind

عنوان خادم MCP الذي يتم الربط به لنقل HTTP أو SSE. التنسيق: ‘host:port’ (على سبيل المثال، ‘127.0.0.1:8080’، ‘0.0.0.0:9000’). مطلوب عندما يكون نقل الخادم http/sse. استبعد عند استخدام stdio.

capabilities_path

مسار نظام الملفات إلى عقد مزود JSON (عقد القدرة). يعلن العقد عن الفحوصات المدعومة، ومخططات المعلمات، وتوافق المقارنات. يتحقق وقت التشغيل من الاستعلامات مقابل العقد قبل الإرسال. وزع العقود جنبًا إلى جنب مع ثنائيات المزود.

check_id

معرف فحص المزود للتقييم داخل مزود. كل مزود يكشف عن فحوصات مسماة (مثل ‘get’ للبيئة، ‘after’ للوقت، ‘status’ لـ http). يحدد check_id ما يعيده المزود وما المعلمات التي يقبلها. راجع providers.json للحصول على الكتالوج الكامل للفحوصات لكل مزود.

checks

قائمة الفحوصات المقدمة من خلال عقد المزود.

المقارن

عامل المقارنة المطبق على الأدلة. المقارنات المدعومة: يساوي، لا يساوي، أكبر من، أكبر من أو يساوي، أقل من، أقل من أو يساوي، يحتوي على، في المجموعة، موجود، غير موجود. جميع المقارنات باستثناء موجود/غير موجود تتطلب قيمة متوقعة وتعيد حالة غير معروفة عند عدم تطابق النوع. تعيد المقارنات الرقمية حالة غير معروفة للأرقام غير الرقمية. يتجاهل موجود/غير موجود القيمة المتوقعة.

condition_id

معرف ثابت لحالة ضمن ScenarioSpec. يتم الإشارة إلى معرفات الحالة بواسطة أوراق المتطلبات ويجب أن تكون وصفية وثابتة (على سبيل المثال، ‘env_is_prod’).

conditions

قائمة إدخالات ConditionSpec في ScenarioSpec. كل شرط يربط فحص مزود بقواعد المقارنة والقيم المتوقعة لتقييم البوابة.

config_schema

مخطط JSON للتحقق من صحة إدخالات تكوين المزود.

contains

صحيح عندما تحتوي الأدلة (مصفوفة أو سلسلة) على القيمة المتوقعة.

content_hash

بيانات التجزئة لأي محتوى حمولة. تشمل خوارزمية التجزئة وقيمة التجزئة. تمكن من التحقق من سلامة الحزم، والتقديمات، والأدلة دون الحاجة إلى الوصول إلى المحتوى الخام. تُستخدم في جميع أنحاء runpacks.

نوع_المحتوى

نوع محتوى MIME المرتبط بقيمة دليل أو حمولة حزمة (على سبيل المثال، application/json). يُستخدم لفحوصات الكشف والتوافق.

content_types

أنواع محتوى MIME المسموح بها لقيم الأدلة أو فحوصات قواعد السياسة. تُستخدم في عقود المزودين وقواعد السياسة لتقييد تنسيقات الحمولة.

correlation_id

معرف يربط الطلبات والقرارات ذات الصلة عبر الأنظمة. قم بتمرير correlation_id مع المحفزات لتتبع تدفقات القرار من خلال السجلات، والقياسات، والخدمات الخارجية. يتم تمريره في EvidenceContext لتسجيل مزود الخدمة.

يبحث في وثائق بوابة القرار للحصول على إرشادات وأفضل الممارسات. يعيد الأقسام مرتبة مع العناوين، بيانات دور المستخدم، والمتابعات المقترحة. استخدم هذا للإجابة على أسئلة المنتج أو السياسة دون مغادرة جلسة MCP.

decision_id

معرف فريد لقرار مسجل. يتم إنشاؤه عندما ينتج تقييم الزناد نتيجة ويرتبط بتسلسل القرار، trigger_id، و stage_id. تمكّن معرفات القرار من تتبع التدقيق وتصحيح الأخطاء.

deep_equals

المساواة الهيكلية العميقة لكائنات JSON والمصفوفات.

deepnotequals

عدم المساواة الهيكلية العميقة لكائنات JSON والمصفوفات.

افتراضي

يتم تطبيق تأثير السياسة الافتراضية عندما لا تتطابق أي قواعد. الافتراضي هو “رفض” لسلوك الفشل المغلق.

default_policy

سياسة الثقة الافتراضية لمزودي الأدلة. الخيارات: ‘audit’ أو ‘require_signature’ (مع قائمة المفاتيح). يمكن لمزودين فرديين تجاوز ذلك. ابدأ بـ ‘audit’ وقم بتشديد السياسة حسب الحاجة لكل مزود.

default_tenants

قائمة السماح لهويات المستأجرين المسموح لهم باستخدام مساحة الأسماء الحرفية ‘default’. مطلوبة عندما تكون allow_default صحيحة؛ القائمة الفارغة مرفوضة.

denylist

قائمة مفاتيح متغيرات البيئة التي يجب ألا يقرأها مزود البيئة أبدًا. تفشل الاستعلامات عن المفاتيح المرفوضة على الفور. استخدم قوائم الرفض للدفاع المتعدد: حظر المفاتيح الحساسة المعروفة (API_KEY، SECRET_*، إلخ) حتى لو تم الاستعلام عنها عن طريق الخطأ.

الوصف

ملخص قصير يصف سلوك المزود ونواياه.

الحتمية

تحقق من استقرار مخرجات المزود: حتمي، يعتمد على الوقت، أو خارجي.

dispatch_targets

وجهات يتم تسليم الحزم المنبعثة إليها. قم بتكوين الأهداف في run_config: agent، session، external، أو channel. تتيح الأهداف المتعددة التوزيع على أنظمة مختلفة.

effect

قواعد تأثير السياسة: ‘إذن’، ‘رفض’، أو ‘خطأ’ (فشل مغلق مع خطأ في السياسة).

المحرك

سياسة اختيار محرك الإرسال. الخيارات: ‘permit_all’، ‘deny_all’، أو ‘static’. استخدم ‘static’ لتطبيق التفويض القائم على القواعد. يمكن إضافة محركات إضافية عبر المحولات دون تغيير النواة.

entry_packets

تُصدر حزم الكشف عند دخول عملية إلى مرحلة. استخدم entry_packets لإصدار المعلومات في نقاط سير العمل المحددة: على سبيل المثال، كشف التكوين بعد الموافقة، إصدار أحداث التدقيق، أو تفعيل الأنظمة downstream. تتضمن الحزم الحمولة، schema_id، وvisibility_labels للتحكم في الوصول.

equals

صحيح عندما تتساوى الأدلة مع المتوقع (أرقام، سلاسل، قيم بوليانية، أو قيم JSON).

error_message

رسالة الخطأ للإبلاغ عنها عندما يكون التأثير ‘خطأ’. مطلوب لقواعد الخطأ.

evidence_anchor

حقل EvidenceResult يحتوي على بيانات التعريف الخاصة بالمرساة (anchor_type + anchor_value) المستخدمة لربط الأدلة بمصدرها للتحقق منها في وضع عدم الاتصال.

evidence_hash

SHA-256 هاش لقيمة دليل للتحقق من النزاهة. تم حسابه على الشكل القياسي لـ EvidenceValue. تتيح هاشات الأدلة التحقق دون الكشف عن القيم الخام: يمكن للمراجعين تأكيد تطابق الأدلة مع التوقعات حتى عندما يتم حظر الكشف عن القيم الخام.

استعلام_الأدلة

يستعلم عن مزود الأدلة مع تطبيق سياسة الإفصاح المكونة. يُرجع EvidenceResult الذي يحتوي على القيمة (أو الهاش)، بيانات التعريف الخاصة بالمرساة، والتوقيع الاختياري. استخدم هذا لتصحيح الأخطاء أو بناء بوابات مخصصة خارج تدفق السيناريو القياسي.

evidence_ref

حقل EvidenceResult يحتوي على مرجع URI خارجي لمحتوى الأدلة المخزنة خارج وقت التشغيل.

أمثلة

مثال على استدعاءات الفحص مع المعلمات والنتائج.

exists

صحيح عندما تكون قيمة الدليل موجودة. يتم تجاهل المتوقع.

المتوقع

قيمة الهدف مقارنةً بمخرجات الأدلة. يجب أن يتطابق النوع مع نوع الدليل: قيم JSON لـ equals/in_set، أرقام لـ greater_than، مصفوفات لـ in_set (يتطابق الدليل مع أي عنصر). إذا كانت القيمة المتوقعة مفقودة أو غير متطابقة، فإن المقارن يُرجع unknown (فشل مغلق). غير مطلوب لـ exists/not_exists.

forbid_labels

علامات الرؤية التي يجب ألا تكون موجودة لتطابق القاعدة.

forbidpolicytags

علامات السياسة التي يجب ألا تكون موجودة حتى يتطابق القاعدة.

نتيجة البوابة

نتيجة الثلاث حالات لتقييم بوابة: صحيحة، خاطئة، أو غير معروفة. تعني “صحيحة” أن المتطلب قد تم تلبيته. تعني “خاطئة” أن الأدلة تتعارض مع المتطلب. تعني “غير معروفة” أن الأدلة مفقودة، أو أن المقارن لا يمكنه التقييم (عدم تطابق النوع)، أو أن المزود قد فشل. يمكن أن يتفرع التوجيه بناءً على أي نتيجة؛ فقط “صحيحة” تتقدم بالمراحل الخطية/الثابتة.

gate_id

معرف لبوابة داخل مرحلة. يجب أن يكون فريدًا داخل المرحلة. يظهر في سجلات التشغيل، والقرارات، وتوجيه الفروع. استخدم أسماء وصفية تعكس ما تتحقق منه البوابة: ‘env_gate’، ‘time_gate’، ‘approval_gate’.

gates

قائمة GateSpecs التي تم تقييمها عند دخول عملية إلى مرحلة. يتم تقييم جميع البوابات معًا (دون استخدام الدائرة القصيرة). تحدد سياسة advance_to للمرحلة كيف تؤثر نتائج البوابات على التقدم. تتيح البوابات المتعددة إجراء فحوصات متوازية: على سبيل المثال، تحقق من قيود الوقت والموافقات قبل التقدم.

generated_at

تم تسجيل الطابع الزمني في بيان تشغيل الحزمة الذي يشير إلى متى تم إنشاء التصدير. يتم التعبير عنه كـ ISO 8601. مفيد لسجلات التدقيق وفحوصات الحداثة. لا يؤثر على نتيجة التحقق.

greater_than

صحيح عندما تكون الأدلة الرقمية أكبر من المتوقع.

greaterthanor_equal

صحيح عندما تكون الأدلة الرقمية أكبر من أو تساوي المتوقعة.

hash_algorithm

الخوارزمية المستخدمة لتجزئة الأدلة وقطع التشغيل. حالياً تستخدم SHA-256 حصرياً. يتم تسجيلها في البيانات الوصفية لضمان التوافق المستقبلي. لا تفترض وجود خوارزميات أخرى دون التحقق من هذا الحقل.

in_set

صحيح عندما تكون الأدلة موجودة في المصفوفة المتوقعة.

include_verification

علامة تشير إلى ما إذا كان يجب إصدار تقرير تحقق جنبًا إلى جنب مع تصدير runpack. عند تفعيلها، يقوم runpack_export أيضًا بتشغيل التحقق ويتضمن التقرير. مفيد للتحقق الفوري بعد التصدير.

issueentrypackets

علامة تتحكم فيما إذا كان scenario_start يصدر entry_packets للمرحلة الأولية. قم بتعيينها إلى false لتأجيل إصدار الحزم حتى يتم تشغيل الأول أو التالي. مفيد عندما تحتاج العمليات إلى إعداد قبل بدء الإفصاحات.

jsonpath

محدد JSONPath المستخدم من قبل مزود JSON لاستخراج القيم من الوثائق. تتبع الصياغة RFC 9535. أمثلة: ‘$.version’، ‘$.config.features[*].name’. تصبح القيمة المستخرجة دليلاً لتقييم المقارن.

less_than

صحيح عندما تكون الأدلة الرقمية أقل من المتوقع.

lessthanor_equal

صحيح عندما تكون الأدلة الرقمية أقل من أو تساوي المتوقعة.

lexgreaterthan

مقارنة السلاسل المعجمية: صحيحة عندما يتم فرز الأدلة بعد المتوقع.

lexgreaterthanorequal

مقارنة السلاسل المعجمية: صحيحة عندما يتم فرز الأدلة بعد أو تساوي المتوقع.

lexlessthan

مقارنة السلاسل المعجمية: صحيحة عندما يتم فرز الأدلة قبل المتوقع.

lexlessthanorequal

مقارنة السلاسل المعجمية: صحيحة عندما تكون الأدلة مرتبة قبل أو تساوي المتوقع.

logprecheckpayloads

الاشتراك الصريح لتسجيل أحمال طلبات/استجابات الفحص الأولي الخام. القيمة الافتراضية هي خطأ؛ يتم دائمًا إصدار تدقيق يعتمد على التجزئة عند تمكين التدقيق.

منطقي

قيمة الطابع الزمني المنطقي المستخدمة للترتيب الحتمي عندما يكون الوقت الحقيقي غير متاح. يتم قبول الأعداد الصحيحة المقدمة من المتصلين (>= 0) فقط عندما يكون allow_logical مفعلًا. مفيد للاختبار والمحاكاة.

manifest

بيان الحزمة الذي يحتوي على بيانات وصفية وهاش لجميع العناصر. يسرد كل ملف في الحزمة مع هاش SHA-256 الخاص به، بالإضافة إلى طابع زمني للتوليد ومرجع spec_hash. تتحقق عملية التحقق من الهاشات المحسوبة مقابل البيان لاكتشاف التلاعب أو الملفات المفقودة.

manifest_name

تجاوز اسم الملف لبيان التشغيل. الافتراضي هو ‘manifest.json’. قم بتخصيصه عند تصدير عدة حزم تشغيل إلى نفس الدليل أو عند التكامل مع أنظمة تتوقع أسماء ملفات محددة.

manifest_path

مسار ملف البيان داخل دليل runpack. يُستخدم بواسطة runpack_verify لتحديد موقع البيان. عادةً ما يكون ‘manifest.json’ في جذر runpack. يقوم المدقق بقراءة هذا الملف أولاً لاكتشاف جميع العناصر الأخرى.

maxbodybytes

حجم جسم الطلب الأقصى بالبايتات لطلبات JSON-RPC. يمنع الأحمال الزائدة من استنفاد موارد الخادم. يتم رفض الطلبات التي تتجاوز هذا الحد قبل المعالجة. قم بتكوين الإعدادات بناءً على أحجام الأحمال المتوقعة.

max_bytes

الحجم الأقصى للملف بالبايتات الذي سيقوم موفر JSON بقراءته. يمنع استنفاد الموارد بسبب الملفات الكبيرة جدًا. تفشل الاستعلامات للملفات التي تتجاوز هذا الحد مع خطأ في التحقق. قم بتحديد الحجم بشكل مناسب لملفات التكوين الخاصة بك.

maxkeybytes

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

maxresponsebytes

أقصى حجم لجسم استجابة HTTP الذي سيقرأه مزود HTTP. يمنع استنفاد الذاكرة من الاستجابات غير المحدودة. يتم تقصير أو رفض الاستجابات التي تتجاوز هذا الحجم. الحجم للاستجابات النموذجية لفحص الصحة أو API.

maxvaluebytes

الحد الأقصى لطول البايت لقيم متغيرات البيئة التي يتم إرجاعها بواسطة مزود env. يمنع القيم الكبيرة من تضخيم نتائج الأدلة. يتم تقليم القيم التي تتجاوز هذا الحد أو رفضها وفقًا لتكوين المزود.

الوضع

وضع تشغيل الخادم: ‘صارم’ (افتراضي) أو ‘dev_permissive’ القديم. يُفضل استخدام التبديل الصريح dev.permissive. يقوم dev-permissive بتخفيف الأدلة المؤكدة فقط ولا يسمح تلقائيًا بالنطاق الافتراضي.

name

اسم المزود القابل للقراءة البشرية المعروض في الوثائق وواجهات المستخدم.

not_equals

صحيح عندما لا تساوي الأدلة المتوقع.

not_exists

صحيح عندما تكون قيمة الدليل مفقودة. يتم تجاهل المتوقع.

notes

ملاحظات اختيارية حول سلوك المزود أو الحتمية.

on_timeout

سياسة مهلة المرحلة (TimeoutPolicy). موجودة دائمًا في StageSpec وتستخدم فقط عند تعيين المهلة؛ يتم تجاهلها عندما تكون المهلة فارغة. تدعم سلوكيات ‘فشل’، ‘التقدم مع العلم’، أو ‘فرع بديل’.

output_dir

دليل حيث يقوم runpack_export بكتابة حزمة التدقيق لتخزين نظام الملفات. اختياري عند تكوين تخزين runpack المُدار. تأكد من وجود أذونات الكتابة ومساحة كافية على القرص. قد يتم الكتابة فوق الملفات الموجودة.

تجاوزات

خريطة تجاوز حتمية لقيم البيئة أثناء الاختبار. المفاتيح في التجاوزات تحل محل عمليات البحث الحقيقية في البيئة، مما يضمن أدلة قابلة للتكرار. استخدمها في CI/CD حيث تختلف البيئة عبر العدائين.

packet_id

معرف لحزمة الإفصاح. يجب أن يكون فريدًا ضمن السيناريو. يُستخدم لتتبع الانبعاثات، والتصفية حسب نوع الحزمة، والتوافق مع dispatch_targets. يُشار إليه في entry_packets وdisclosure logs.

packet_ids

معرفات الحزم المسموح بها بموجب القاعدة.

params

تمرير معلمات محددة لمزود الخدمة إلى عملية الفحص. الهيكل يختلف حسب المزود: env.get يحتاج إلى {key}، time.after يحتاج إلى {timestamp}، http.status يحتاج إلى {url}. تؤدي المعلمات المطلوبة غير الصحيحة أو المفقودة إلى فشل المزود، مما ينتج عنه نتيجة غير معروفة.

params_required

سواء كان يجب تقديم EvidenceQuery.params لهذا الفحص.

params_schema

مخطط JSON لحمولات معلمات فحص المزود.

حمولة

جسم محتوى حزمة أو تقديم أو حمولة مشغلة. مشفر كـ PacketPayload: json، bytes، أو content_ref خارجي (uri + content_hash، تشفير اختياري). يتم تجزئة الحمولة لضمان السلامة وقد يتم التحقق من صحتها وفقًا للمخطط قبل الإخراج.

permissive

تبديل صريح مخصص للمطورين فقط للسماح بالأدلة المؤكدة. استخدمه فقط في بيئات التطوير المحلية أو بيئات الاختبار المسيطر عليها؛ يصدر تحذيرات وبيانات تدقيق.

permissiveexemptproviders

معرّفات مقدمي الخدمة المعفاة من تخفيفات الإذن التطويري (مثل مقدمي Asset Core).

permissive_scope

محدد نطاق متساهل للمطورين. حالياً ثابت على asserted_evidence_only للإصدار 1.

permissivettldays

اختياري TTL (أيام) لتحذيرات السماح بالتطوير. يستخدم mtime من الإعدادات لإصدار تحذيرات انتهاء الصلاحية عند تجاوز TTL.

permissive_warn

إصدار تحذيرات وأحداث تدقيق أمني عند تمكين أو انتهاء صلاحية dev-permissive.

policy_tags

تُطبق العلامات على العمليات، الشروط، أو الإفصاحات لتوجيه السياسات. تتيح العلامات سلوكًا شرطيًا: قواعد إفصاح مختلفة لكل بيئة، حدود معدلات محددة لكل مستأجر، أو فئات تدقيق. عرّف العلامات في ScenarioSpec وطبقها على العمليات، الشروط، الحزم، أو مهلات الوقت حسب الحاجة.

فحص مسبق

يقيم سيناريو مقابل البيانات المصرح بها دون تغيير حالة التشغيل. يتحقق من البيانات المصرح بها مقابل شكل مسجل ويعيد نتيجة القرار للمحاكاة. استخدم هذا كحلقة تكرار سريعة للوكلاء قبل تشغيل السيناريو المدقق scenario_next.

providercheckschema_get

يسترجع تفاصيل مخطط مستوى التحقق لمزود (مخطط المعلمات، مخطط النتائج، قوائم السماح للمقارنات، والأمثلة). استخدم هذا لتأليف النماذج أو إرشادات LLM دون تحميل العقد الكامل للمزود.

providercontractget

يسترجع JSON عقد المزود القياسي وهاشه لمزود معين. استخدم هذا لاكتشاف مخططات التحقق، قوائم السماح للمقارنات، والأمثلة. يتم التحكم في الكشف بواسطة سياسة التفويض ورؤية عقد المزود.

provider_id

معرف لمزود الأدلة المسجل في decision-gate.toml. يوفر المزودون الفحوصات: ‘time’ للطوابع الزمنية، ‘env’ لمتغيرات البيئة، ‘http’ لفحوصات الصحة، ‘json’ لاستعلامات الملفات. يمكن تسجيل المزودين المخصصين عبر تكوين MCP.

providers_list

قائمة بمزودي الأدلة المسجلين وملخص قدراتهم. تعيد معرفات المزودين، بيانات النقل، ورؤية محددة بالسياسة. استخدم هذا لاكتشاف المزودين المتاحين والفحوصات المدعومة.

سجل

غلاف لردود التقديم. يحتوي على submission_id، run_id، payload، content_type، content_hash، submitted_at، وcorrelation_id. تسجل السجلات أن العناصر قد تم تقديمها وتجزئتها للتدقيق.

request

غلاف لحمولات طلب الأداة. يُستخدم في رسائل بروتوكول MCP. يحتوي على اسم الأداة، والمعلمات، وبيانات الطلب الوصفية. الهيكل الداخلي؛ يتفاعل معظم المستخدمين عبر أدوات السيناريو_* ذات المستوى الأعلى.

require_labels

علامات الرؤية التي يجب أن تكون موجودة لكي يتطابق القاعدة.

requirepolicytags

علامات السياسة التي يجب أن تكون موجودة لكي يتطابق القاعدة.

requireprovideropt_in

يتطلب من المزودين الاشتراك صراحة في الكشف الخام عبر allow_raw في إعداداتهم. حتى إذا كانت allow_raw_values صحيحة على مستوى عالمي، فإن المزودين الذين لم يشتركوا يعودون بقيم هاش. دفاع متعدد الطبقات للأدلة الحساسة.

requirement

عبارة RET التي يجب أن يلبيها البوابة. يحتوي هذا الحقل على جذر شجرة المتطلبات (And/Or/Not/RequireGroup/Condition). تمر البوابة فقط عندما تقيم الشجرة بالكامل إلى true. صمم المتطلبات للتعامل مع النتائج غير المعروفة بشكل صريح عبر التفرع أو عتبات RequireGroup.

النتيجة

مثال على قيمة الناتج لاستدعاء الفحص.

result_schema

مخطط JSON لقيم مخرجات فحص المزود.

جذر

دليل الأساس لحل ملفات مزود JSON. يتم حل مسارات الملفات في الاستعلامات بالنسبة للجذر. يمنع تجاوز الدليل: المسارات التي تتجاوز الجذر تفشل مع خطأ أمني. يتم تعيينه إلى دليل التكوين أو مجلد بيانات مخصص.

القواعد

قائمة مرتبة من قواعد السياسة. القاعدة الأولى التي تتطابق مع طلب الإرسال تفوز.

run_config

تكوين يتم توفيره عند بدء تشغيل عبر scenario_start. يتضمن tenant_id و run_id و scenario_id و dispatch_targets و policy_tags. تكوين التشغيل غير قابل للتغيير بعد البدء ويتم تسجيله في runpacks لضمان إمكانية التكرار.

run_id

معرف فريد يحدد تنفيذًا واحدًا لسيناريو. يتم إنشاؤه عند بدء السيناريو ويستخدم لجميع العمليات اللاحقة. تظهر معرفات التشغيل في حزم التشغيل، والقرارات، وسجلات التدقيق. احتفظ بمعرفات التشغيل للربط واستجابة الحوادث.

runstatestore

تكوين الخلفية للحفاظ على حالة التشغيل. تشمل الخيارات الذاكرة (للاختبار) أو SQLite. يحتفظ المتجر بتقدم التشغيل، تاريخ القرارات، والمحفزات المعلقة. قم بتكوين المتانة والاحتفاظ بناءً على احتياجات الامتثال.

runpack_dir

دليل الجذر لحزمة التشغيل للتحقق. يقوم runpack_verify بقراءة البيان من هذا الموقع والتحقق من جميع العناصر المرجعية. أشر إلى الدليل الذي يحتوي على manifest.json.

runpack_export

يصدر حزمة تدقيق حتمية (runpack) تحتوي على مواصفات السيناريو، وجميع المحفزات، وتقييمات البوابات، والقرارات، وحزم الإفصاح. يتضمن البيان تجزئة SHA-256 لكل عنصر. تتيح حزم التشغيل التحقق غير المتصل: يمكن لأي شخص إعادة تشغيل منطق القرار وتأكيد نفس النتائج.

runpack_verify

يتحقق من بيان الحزمة والقطع الفنية في وضع عدم الاتصال. يتحقق من تطابق جميع التجزئات، وأن تسلسل القرارات متسق داخليًا، وأنه لا توجد قطع فنية مفقودة أو تم العبث بها. يُرجع تقرير تحقق. استخدم هذا لتدقيق الامتثال، مراجعة الحوادث، أو التحقق من بوابة CI/CD.

تحديد_السيناريو

يسجل ScenarioSpec مع وقت التشغيل ويعيد spec_hash القياسي الخاص به. يتحقق وقت التشغيل من بنية المواصفة، ويتأكد من وجود جميع الشروط والمزودين المشار إليهم، ويحسب تجزئة SHA-256 للصيغة القياسية بتنسيق JSON. قم بتخزين spec_hash للتدقيق: فهو يثبت أي مواصفة محددة تحكم عملية التشغيل.

scenario_id

معرف ثابت لسيناريو عبر دورة حياته: التسجيل، التشغيل، والتدقيق. اختر معرفات وصفية، ذات إصدارات (مثل، ‘deployment-gate-v2’). معرف السيناريو بالإضافة إلى تجزئة المواصفات معًا يحدد بالضبط أي تعريف سير عمل تم استخدامه.

scenario_ids

معرفات السيناريو المسموح بها بموجب القاعدة.

سيناريو_التالي

يقيم البوابات للمرحلة الحالية ويتقدم أو يحتفظ بالتشغيل. هذا هو المحرك الرئيسي لعمليات العمل التي يتحكم فيها الوكيل. يجب أن تكون جميع البوابات صحيحة للتقدم؛ وإلا فإن التشغيل يتوقف. تستخدم مراحل الفروع نتائج البوابات لاختيار next_stage_id بمجرد اجتياز البوابات. قد تقوم سياسات المهلة بتوليف النتائج لتوجيه الفروع البديلة. تعيد القرار والمرحلة الجديدة، مع مستويات ملاحظات اختيارية (ملخص، تتبع، دليل) عندما يسمح بذلك سياسة ملاحظات الخادم.

سيناريو_البداية

ينشئ حالة تشغيل جديدة لسيناريو مسجل. يبدأ التشغيل في المرحلة الأولى ويصدر اختيارياً entry_packets كإفصاحات. يعيد run_id الذي يحدد جميع العمليات اللاحقة. يبدأ التشغيل في الحالة النشطة مع تعيين stage_entered_at من started_at.

حالة السيناريو

يسترجع لقطة قراءة فقط من عملية دون تعديلها. يعيد current_stage_id، status، last_decision، issued_packet_ids، و safe_summary اختياري لعرض واجهة المستخدم. استخدم هذا للوحات المعلومات، والاستطلاع، وتصحيح الأخطاء. تستثني الاستجابة قيم الأدلة الخام.

سيناريو_تقديم

يقدم العناصر الخارجية إلى سجل تدقيق التشغيل للمراجعة لاحقًا. استخدم هذا لإرفاق المستندات أو التوقيعات أو الإيصالات للتدقيق وتصدير حزمة التشغيل. يتم تجزئة الحمولة إلى content_hash وتسجيلها في سجل التقديم. التقديمات متكررة بواسطة submission_id؛ الحمولة المتضاربة تعيد خطأ تضارب.

مشغل_السيناريو

يقدم حدث تحفيزي مع طابع زمني صريح ويقيم التنفيذ. على عكس scenario_next، تحمل المحفزات نوعًا وsource_id وبيانات وصفية اختيارية للتحقق من الوقت والتدقيق. يضمن trigger_id معالجة متكررة: المكالمات المتكررة بنفس trigger_id تعيد القرار المخزن.

قائمة السيناريوهات

قوائم السيناريوهات المسجلة لمستأجر واسم نطاق. تعيد معرفات السيناريو وهاش المواصفات لدعم الجرد والتدقيق.

schema_id

معرف لنموذج مرتبط بالحزم. تتحقق النماذج من بنية الحمولة قبل الإرسال. قم بتسجيل النماذج في مصفوفة النماذج الخاصة بـ ScenarioSpec. تشير الحزم إلى النماذج بواسطة schema_id لضمان سلامة النوع والتوثيق.

schema_ids

معرفات المخطط المسموح بها بموجب القاعدة.

schemas_get

يسترجع شكل بيانات محدد بواسطة schema_id والإصدار لمستأجر وnamespace. يفشل في حالة عدم وجود المخطط.

قائمة_المخططات

يسجل قوائم أشكال البيانات المسجلة لمستأجر وفضاء أسماء. يدعم التصفح عبر المؤشر والحد. استخدم هذا لاكتشاف إصدارات المخطط المتاحة.

schemas_register

يسجل مخطط شكل البيانات لمستأجر وفضاء أسماء. المخططات غير قابلة للتغيير؛ إعادة تسجيل نفس النسخة تفشل. قم بتضمين created_at لتوثيق متى تم تأليف المخطط.

توقيع

بيانات التعريف الخاصة بالتوقيع التشفيري المرفقة بالأدلة. تحتوي على مخطط التوقيع (مثل، ed25519)، معرف المفتاح العام، وبايتات التوقيع. تمكن المزودين من إثبات صحة الأدلة. يمكن للمحققين التحقق من التوقيعات دون اتصال باستخدام مرجع المفتاح المثبت.

spec_hash

هاش SHA-256 القياسي لـ ScenarioSpec في شكل JSON حتمي. دائمًا ما تنتج مواصفات متطابقة المحتوى نفس الهاش بغض النظر عن ترتيب الحقول. قم بتخزين spec_hash عند بدء التشغيل: فهو يثبت بالضبط أي إصدار من المواصفات كان يحكم القرارات. ضروري للتدقيق والامتثال.

stageenteredat

تم تسجيل الطابع الزمني عند دخول التشغيل المرحلة الحالية. يُستخدم لتقييم مهلات المرحلة ولإعادة تشغيل التدقيق. يتم تعيينه عند scenario_start ويتم تحديثه عند التقدم.

stage_id

معرف لمرحلة ضمن سيناريو. يجب أن يكون فريدًا ضمن ScenarioSpec. يتم الإشارة إليه بواسطة سياسات advance_to وأهداف الفروع. تظهر معرفات المرحلة في حالة التشغيل، والقرارات، وإصدارات entry_packet. استخدم أسماء وصفية: ‘الموافقة’، ‘التحقق’، ‘الإصدار’.

stage_ids

معرفات المرحلة المسموح بها بموجب القاعدة.

المراحل

قائمة مرتبة من مراحل القرار في ScenarioSpec. تحتوي كل مرحلة على بوابات للتقييم وسياسة advance_to. تتقدم العمليات عبر المراحل بشكل متسلسل ما لم تقم الفروع بإعادة توجيهها. تعزل المراحل المخاوف: قد تتحقق المراحل المبكرة من المتطلبات المسبقة، وتتحقق المراحل الوسطى من الشروط، وتفوض المراحل النهائية الإجراءات.

started_at

توقيت تم توفيره من قبل المتصل يحدد متى بدأت العملية. مطلوب عند scenario_start ويستخدم لحسابات التوقيت، stage_entered_at، وسجلات التدقيق. يُفضل استخدام توقيتات صريحة لإعادة التشغيل المحددة.

ثابت

تكوين سياسة الإرسال الثابت. ينطبق عندما تكون policy.engine = ‘static’.

الحالة

مؤشر الحالة الحالي للتشغيل أو التحقق. حالات التشغيل: ‘نشط’، ‘مكتمل’، ‘فشل’. حالات التحقق: ‘نجح’، ‘فشل’. تحقق من الحالة لتحديد الإجراءات التالية أو ظهور المشكلات.

storage_uri

موقع التخزين الاختياري الذي يتم إرجاعه بواسطة واجهات تخزين runpack المدارة (على سبيل المثال، s3://bucket/tenant/namespace/run/runpack.tar). يظهر فقط عندما يتم تكوين الخادم لتصدير runpacks إلى تخزين الكائنات.

submission_id

معرف لعنصر خارجي تم تقديمه عبر scenario_submit. يجب أن يكون فريدًا ضمن التشغيل. يمكّن من تقديمات غير متكررة: الاستدعاءات المتكررة بنفس الحمولة تعيد السجل الموجود، بينما تعيد الحمولات المتعارضة خطأ.

النظام

اسم النظام الخارجي لأهداف الإرسال.

target

معرف الهدف الخارجي لأهداف الإرسال.

target_id

معرف الهدف لمحددات الوكيل/الجلسة/القناة.

target_kind

نوع الهدف لمحدد صريح. الخيارات: ‘agent’، ‘session’، ‘external’، ‘channel’.

target_kinds

أنواع الأهداف المسموح بها بواسطة القاعدة. الخيارات: ‘agent’، ‘session’، ‘external’، ‘channel’.

targets

اختيار أهداف صريح لتفويض الإرسال.

tenant_id

معرف لعزل المستأجرين في نشرات متعددة المستأجرين. نطاقات التشغيل، تخزين الحالة، والسياسات. يتم فصل بيانات كل مستأجر بشكل منطقي. الافتراضي هو مستأجر واحد إذا لم يتم تحديده. مطلوب لأنماط SaaS والبنية التحتية المشتركة.

timeout

إعدادات مهلة المرحلة. تعيينها إلى TimeoutSpec تحتوي على timeout_ms و policy_tags، أو null لعدم وجود مهلة. تمنع المهلات العمليات من التوقف إلى أجل غير مسمى ويتم التعامل معها بواسطة on_timeout.

timeout_ms

مهلة بالمللي ثانية. تُستخدم لوقت المهلة في المراحل (TimeoutSpec) ولطلبات مزود HTTP. العمليات التي تتجاوز هذه المدة تفشل وفقًا للسياسة.

transport

بروتوكول نقل MCP للتواصل مع المزودين: ‘stdio’ لخطوط الأنابيب الفرعية، ‘http’ لـ JSON-RPC عبر HTTP، ‘sse’ للأحداث المرسلة من الخادم. اختر بناءً على النشر: stdio لمزودي الخدمة المحليين، http/sse للخدمات البعيدة. قم بتكوين ذلك في decision-gate.toml [[providers]].

trigger

تم تقديم حمولة الحدث عبر scenario_trigger لتقديم تشغيل. تحتوي على trigger_id، run_id، kind، time، source_id، حمولة اختيارية، وcorrelation_id. يتم تسجيل المحفزات لإعادة تشغيل التدقيق.

trigger_id

معرف يضمن معالجة الزناد بطريقة متكررة. المكالمات المتكررة بنفس trigger_id تعيد القرار المخزن دون إعادة التقييم. استخدم UUIDs أو معرفات مستمدة من الأحداث. هذا أمر حاسم لإعادة المحاولة بشكل آمن في الأنظمة الموزعة.

trigger_time

تاريخ ووقت تم توفيره من قبل المتصل من حدث الزناد المستخدم في فحوصات الوقت وEvidenceContext. يستخدم نوع Timestamp (unix_millis أو logical عند السماح بذلك) لتجنب قراءات الساعة الحائطية. يمكن للمراجعين إعادة تشغيل العمليات مع trigger_time المسجل.

unix_millis

توقيت Unix معبر عنه بالمللي ثانية منذ بداية العصر (1970-01-01 UTC). تنسيق قياسي لـ trigger_time وفحوصات الوقت. دقة المللي ثانية تمكن من جدولة دون الثانية. تحويل من ISO 8601: تحليل إلى Date، استدعاء getTime().

user_agent

سلسلة رأس User-Agent لطلبات مزود HTTP. الافتراضي هو معرف Decision Gate. قم بتخصيصه وفقًا لمتطلبات API، أو تحديد معدل الحد، أو لأغراض التصحيح. يظهر في سجلات الخدمات الخارجية.

visibility_labels

تسميات التحكم في الوصول المرفقة بالحزم المنبعثة. التسميات متاحة لمتخذي القرارات السياسية والمستهلكين في الأسفل لتنفيذ قواعد الإفصاح. استخدم للإفصاح المتدرج: بعض الأنظمة ترى ملخصات، بينما ترى أنظمة أخرى التفاصيل الكاملة.