Summary
- يعرّف
draft-wei-capability-language-core-00القيمةallow_unresolvedكقرار مستقل: القيد معروف، لكن الدليل أو المقيّم المتاح لم يحسمه. - يجب على المستهلك الاحتفاظ بمجموعة الالتزامات بعد تطبيعها، ومعالجة جميعها بوصفها شروطاً متلازمة؛ وأي خرق أو عجز عن الحسم ينتهي بالرفض.
- السماح الناتج عن حل قيد زمني ينتهي عند نهاية النافذة. لا يجوز للذاكرة المؤقتة تحويل إثبات صالح في لحظة إلى سلطة دائمة.
ثلاث حالات تدخل خط أنابيب لا يفهم إلا حالتين
لنفترض أن تدوير مفتاح إنتاج مسموح بين 04:00 و04:10، ومن نطاق إداري محدد. يؤكد النواة النطاق، لكن المستدعي لم يقدّم قيمة now موثوقة. لا يخمّن CLC revision 00؛ بل يعيد allow_unresolved ويحمل التزام الوقت في unresolved.
هذه ليست موافقة مشروطة يمكن تنفيذها أولاً وتدقيقها لاحقاً. القرار لم يكتمل بعد. إما أن يحصل المستهلك على وقت موثوق، ويرسل resolution ثم يستدعي Resolve، وإما أن يرفض.
ينشأ الخلل أحياناً من سطر بسيط: binding يحول كل enum غير صفري إلى true، أو بوابة تعد HTTP 200 إذناً، أو منصة سير عمل لا تعرف إلا النجاح والفشل. عندها يصبح المحوّل التقني صاحب القرار الفعلي، مع أنه لم يُمنح تلك السلطة.
معرفة صيغة القيد لا تثبت تحققه
صُممت CLC لتكون محايدة تجاه الـ carrier. التحقق من الحاوية الأصلية والثقة في المُصدر مسؤولية النظام المحيط. كما أن تنفيذ الفعل ليس من عمل اللغة. دورها تقييم تعبير مشترك وإظهار حدود ما استطاعت ملاحظته.
تعرف المراجعة 00 صياغة قيود الساعة والشبكة الأساسية. وهذا يسمح بتحليلها وتطبيعها ونقلها، لكنه لا ينشئ ساعة موثوقة ولا ملاحظة آنية للشبكة. إسقاط قيد معروف لمجرد غياب المقيّم يجعل capability تخرج بصلاحية أوسع مما دخلت به.
لذلك يبقى القيد في المجموعة غير المحسومة. وإذا تعددت الالتزامات من scheme/type واحد فهي علاقة AND: يجب استيفاؤها كلها. أخذ الأول أو الأخير أو أي عنصر مريح يغيّر السياسة. ويمكن دمج النسخ المتكافئة فعلاً، لا الالتزامات المختلفة.
حتى الترتيب محدد ببايتات UTF-8، لا بالمقارنة الافتراضية في لغة البرمجة. ترتيب UTF-16 المعتاد في ECMAScript قد يختلف. الغاية أن يتفق طرفان على قائمة العمل الباقي؛ الاتفاق على القائمة لا يعني إنجازها.
Resolve هو النصف الثاني من القرار
يأخذ Resolve القرار الأول ونتائج الالتزامات. الأولوية مغلقة احتياطياً: وجود حالة violated واحدة ينتج deny؛ وكون الجميع satisfied وحده ينتج allow؛ وبقاء unknown يبقي allow_unresolved. والبيانات المشوهة أو الأختام الزمنية غير الصحيحة تنتهي بالرفض.
لهذا يجب أن يربط سجل التدقيق بين إصدار اللغة، والتحقق الأصلي، والـ enum الأول، والمجموعة غير المحسومة، وهوية المقيّم وإصداره، ومرجع الدليل، ووقت الرصد، وحالة كل التزام، والـ enum النهائي، والفعل الذي أُطلق. عبارة «تم استدعاء resolver» لا تقول أي دليل أكمل أي إذن.
أما مسار مطابقة الأدلة فلا يملك حالة سماح معلّقة مماثلة؛ الشرط المجهول فيه UNSATISFIED. هذا يمنع تحويل الصراحة بشأن قرار ناقص إلى تساهل مع دليل مفقود.
سماح 04:09 ينتهي عند 04:10
عند 04:09 تثبت ساعة موثوقة أن النافذة مفتوحة، فيعيد Resolve قيمة allow بصورة صحيحة. بعد دقيقة يصل القرار إلى حد صلاحيته. استخدامه عند 04:12 من cache هو قرار جديد بلا رصد جديد.
مفتاح cache المبني على الفاعل والمورد والفعل فقط يفقد السبب الزمني. يجب حفظ السياق ووقت الحل وأقرب نهاية بين القيود الزمنية، وألا تتجاوز مدة التخزين تلك النهاية. يحدد RFC 3339 تمثيل الوقت، لكنه لا يختار الساعة الموثوقة أو الانحراف المقبول.
كما أن containment لا يحل الشرط. قد تكون capability واقعة بنيوياً داخل أخرى، لكنها غير صالحة الآن. وقد تكون مطبّعة بدقة لكنها جاءت من carrier غير موثوق. وحتى allow لا يثبت أن الفعل نُفذ أو أن أثره ظهر.
تفصل طبقات الواقع لدى Heng Lu بين النص الرمزي، والتمثيل المطبّع، والرصد التشغيلي، والفعل، والنتيجة. ويمكن للمواصفة الأولية الدنيا أن توحّد طريقة نقل الالتزام المفتوح، من دون أن تستولي على قرارات الثقة والنتائج المحلية.
تذكر المراجعة 00 عدد 123 من متجهات المطابقة و1,184 حالة خصائص وثلاثة تطبيقات. هذه أدلة تشغيلية مفيدة، لكن التطبيقات الثلاثة تشترك في مؤلف، ولم يتحقق بعد معيار التطبيق المستقل المذكور في المسودة. ينبغي لتطبيق مستقل اختبار bindings للـ enum، وترتيب UTF-8، والقيود المكررة، وحالات unknown، والأوقات غير الصحيحة، ولحظة انتهاء cache بدقة قبل اعتبار التشغيل البيني حقيقة.
Sources and limits
- https://api.github.com/repos/varwof/capability/commits/b15b51b8f94125b7a00aa281f98405806e6ea95c
- https://datatracker.ietf.org/doc/draft-wei-capability-language-core/
- https://datatracker.ietf.org/doc/draft-wei-capability-language-core/history/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://www.ietf.org/archive/id/draft-wei-capability-language-core-00.html
- https://www.rfc-editor.org/rfc/rfc2119.html
- https://www.rfc-editor.org/rfc/rfc3339.html
- https://www.rfc-editor.org/rfc/rfc7493.html
- https://www.rfc-editor.org/rfc/rfc8174.html
- https://www.rfc-editor.org/rfc/rfc8785.html
- https://www.rfc-editor.org/rfc/rfc9396.html
تثبت هذه المصادر وجود Internet-Draft فردية نشطة، وموادها العلنية، ومواصفات مرتبطة. ولا تثبت إجماع IETF أو RFC أو تبنّي مجموعة عمل أو مراجعة أمنية مستقلة أو انتشاراً واسعاً أو الثقة في الـ carrier أو نتيجة تشغيلية. يقتصر هذا المقال على قناة القيود المعروفة غير المقيّمة، وحلقة Resolve، وانتهاء قيد الزمن في revision 00.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

