الخلاصة

  • تنظم المراجعة 28 من Concise Diagnostic Notation تمثيلاً مقروءاً لـ CBOR وامتدادات مسجّلة، لكنها لا تجعل النص عقد تنفيذ مكتفياً بذاته.
  • يحتاج المسار الحساس إلى إيصال تفسير يثبت المراجعة ولقطة السجل ومواصفة الامتداد وتنفيذه وإصداره وقائمة السماح والتحذيرات والقيمة الناتجة وبصمة البايتات عند الحاجة.

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

يحاول مشروع Concise Diagnostic Notation لدى مجموعة CBOR في IETF توحيد الصياغة النصية لنموذج بيانات CBOR. تستدعي السلسلة ذات البادئة امتداداً تطبيقياً: قد يحول h أو b64 النص إلى بايتات، ويتعامل dt مع الوقت، وip مع العناوين والبادئات. ويمكن لتسلسل ذي بادئة أن يمرر معاملات وينتج عنصراً واحداً.

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

توضح المراجعة 28 هذا الحد. CDN موجهة للبشر وليست تمثيلاً حتمياً؛ فالعودة من قيمة إلى نص ثم إلى قيمة لا تضمن الصياغة نفسها أو البايتات نفسها. وإذا ظهر مؤشر ترميز في وسيط امتداد لا يحدد له معالجة خاصة، فعلى المستهلك قبوله إما بالمعالجة أو بالتجاهل، مع توصية بتحذير عند عدم المعالجة. لذلك لا يثبت نجاح التحليل أن كل علامة رآها المراجع أثرت في الناتج.

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

السجل ينسق الأسماء ولا يشغّل الشيفرة

يقترح المشروع سجلاً لمعرّفات الامتدادات، ويجعل h وb64 وt1 وb1 وdt وip إلزامية التنفيذ. يقلل ذلك التصادم، لكنه لا يدمج قيد السجل والمواصفة والتنفيذ وسياسة النشر في حقيقة واحدة.

سياسة التسجيل هي Expert Review. ويتوقع النص حالات لا تتوفر فيها مواصفة كاملة بعد، أو يسجل فيها الخبراء اسماً مستخدماً فعلاً لمنع التصادم. إذن «مسجّل» دليل على تنسيق الاسم، لا على اكتمال الدلالة أو تطابق المكتبات أو سلامة التمكين أو الإذن باستخدام النتيجة.

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

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

وثيقة تعلن عدم يقينها

يعرض Datatracker المراجعة 28 كمشروع Internet-Draft نشط لدى مجموعة CBOR وفي مرحلة النداء الأخير للمجموعة، وحالة IESG هي “I-D Exists”. ليست RFC ولا معياراً معتمداً.

وتوجد مفارقة في الحالة المستهدفة: رأس النص يقول “Standards Track”، بينما تسجل واجهة Datatracker “Informational”. لا تختار هذه المقالة أحدهما ولا تحوله إلى نتيجة نهائية.

تقول ملاحظة المراجعة إن النسخة 28 تحاول عكس عمليات حذف نوقشت في القائمة بوصفها فرقاً عن 27. وتعترف بأن النص غير متسق جزئياً، وأن شروحاً قد تصبح مضللة، وأن رأي المجموعة لم يصل بعد بشأن أسماء CDN وb1/t1. ويؤكد الفرق حذف امتداد CRI وسجل مؤشرات الترميز وتمثيلات ثنائية موسومة لمدخلات CDN.

لذلك لا تكفي عبارة «يدعم المراجعة 28». ينبغي إثبات ما إذا كانت الميزات المحذوفة قد اختفت من التنفيذ، وما إذا بقيت خلف خيارات توافق، وأي لقطة سجل استُخدمت.

تفكيك كلمة «صالح»

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

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

الحل هو إيصال تفسير. هذه توصية تشغيلية من Daniel Kade وليست مطلباً في المراجعة 28. يسجل الإيصال المصدر والمراجعة والسجل والمعرّف والمواصفة والتنفيذ والإصدار والمعاملات والإعدادات الخارجية وقائمة السماح وسياسة المؤشرات والتحذيرات والقيمة الناتجة وبصمة الترميز عند الحاجة.

وينتهي الإيصال عند خرج المفسر. التحقق بالمخطط والتوقيع والتفويض وتغيير الشبكة والأثر التجاري تحتاج إلى أدلتها الخاصة. جمعها في علم واحد باسم «صالح» يخفي موضع الخلل.

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

تشرح RFC 8949 وRFC 8610 وRFC 4648 وRFC 3339 طبقات CBOR وCDDL والترميزات الأساسية والوقت، لكنها لا تثبت أن مفسرين يستخدمان الشيفرة والإعدادات نفسها. أما RFC 9741 فتتناول ترميز قيمة محددة، لا اختيار القيمة التي ينتجها الامتداد.