مسودة مكتملة. كل الادعاءات محصورة في المستودع عند الالتزام 359e492
(v0.5.1). ما فيه إصدار 1.0 ولا يُدّعى؛ ولا يُختلق خارطة طريق v0.6. يحدد المقال دا
المعايير اللي كانت السلسلة تبني نحوها، مقابل الأدلة اللي سجلتها المقالات السابقة.
رقم الإصدار وعد بما ممكن للآخرين البناء فوقه.
changelog v0.1 صريح في معنى رقم إصداره: واجهة Rust للتجارب غير مستقرة صراحةً، ومخطط artifact
تنشيطات v0.2 بلا ضمان توافق (CHANGELOG.md). كان داك الوضع الصحيح لمحرك بحثي
يكتشف شكله. وهو الوضع الخاطئ للشيء اللي تصفه السلسلة دي، سير عمل يقدر باحث لا يقرأ Rust
أبدًا تشغيله والتحقق منه، بمخططات artifacts لازم تصمد عبر النقل والزمن.
جادلت السلسلة، مقالًا بعد مقال، أن مخرج Ember الحقيقي عقود: مواقع hooks بدلالات معرّفة، artifacts بترتيبات معرّفة، مواصفات تُحل حتميًا. يسأل المقال دا إيش لازم تصبح تلك العقود قبل ما يقدر رقم الإصدار أن يقول 1.0 بأمانة.
المعايير، كالتزامات لا كميزات:
ember.experiment.v1 عن معنى "v1 ضمن
0.5.x".ember.bundle.v1 قابلة للتحقق
بثنائيات مستقبلية.ember.hook.v1).examples/experiments/ يفعل داك فعلًا).docs/validation.md محدث، و"مدعوم"
مو معناها أبدًا بصمت "مُتحقق golden".
أربعة عقود مُرقّمة قائمة (docs/v05-research-contract.md): مواصفة التجربة
(ember.experiment.v1)، الحزمة (ember.bundle.v1)، جدول واصفات
الـ hook الدلالي (ember.hook.v1)، وخطة التنفيذ (v04-plan/1). سياسة
التوافق مكتوبة: majors غير معروفة تفشل بإغلاق آمن؛ minor أحدث بحقول اختيارية متوافقة
معروفة مسموح؛ والسياسة صريحة أن "v1 تعني مستقرًا ضمن Ember 0.5.x، لا أن كل حقل مستقبلي
مجمّد إلى الأبد" (القسم 17 من العقد).
تلك الجملة الأخيرة هي البيان الصادق لمكان المشروع: المخططات مُرقّمة وتفشل بإغلاق آمن، بس الإصدارات لسه إصدارات المشروع نفسه. إصدار 1.0 هو لما يتوقف العقد عن كونه بيانًا عن المشروع ويصبح بيانًا عن كل من بنى عليه.
| المعيار | الحالة عند v0.5.1 | الدليل |
|---|---|---|
| مخطط تجارب مستقر | جزئي، v1 مستقر ضمن 0.5.x بس؛ majors غير معروفة تفشل | docs/v05-research-contract.md §17 |
| مخطط حزم مستقر | جزئي، النطاق نفسه | docs/v05-research-contract.md §17 |
| معاني الـ hooks مستقرة | غالبًا، جدول واصفات مجمّد؛ لسه نطاق 0.x | docs/v05-research-contract.md §1 |
| سياسة توافق/ترحيل | موجودة للمخططات؛ لا أدوات ترحيل بعد | docs/v05-research-contract.md §17 |
| تثبيت نظيف | جزئي، بناء + scripts/download_models.sh موثّق؛ لا تثبيت معبأ | README.md؛ scripts/download_models.sh |
| أمثلة قابلة للاستنساخ | نعم، تجزئات SHA-256 مثبّتة للنموذج والـ tokenizer، سير عمل متحقق | examples/experiments/README.md |
| حالة تحقق واضحة | نعم كوثيقة؛ عدة صفوف معلّقة (qwen3 golden، gemma4 رقمي، فحوص المرجعية للتنشيطات) | جدول حالة docs/validation.md |
| مستخدم خارجي ناجح | معيار لا ادعاء | ، |
| لا إعادة تصميم كبرى | واعد غير مثبت، أعلام CLI لـ v0.2 تشتغل على ثنائي v0.5؛ واجهة Rust للتجارب استقرت في v0.5 بس | قسم التوافق في CHANGELOG.md v0.5 |
بصدق: ستة من التسعة مُحققة جزئيًا بس، واثنان متحققان، والأهم للثقة الخارجية، باحث خارج المشروع شغّل تجربة وتحقق منها، هو غير المتحقق. هذي هي نقطة القائمة: 1.0 يُعرَّف بما ممكن للآخرين الاعتماد عليه، وتنتهي السلسلة حيث يتوقف هذا التعريف عن كونه أمنية.
بناء محرك استدلال يزداد سرعة من غير ما يصبح أصعب في الوثوق به. كل مقال في السلسلة هذي كان إجابة على نصف تلك الجملة: جعل v0.1 المحرك مقروءًا، وv0.2 قابلًا للتدخل، وv0.3 أبقى الأوزان الكمّية صادقة، وv0.4 خطط التنفيذ من غير إخفاء الـ tensors، وv0.5 جعل التجربة قابلة للتحقق، والنتيجة الصفرية جعلت الأدوات تستحق بقاءها. 1.0 هي النقطة اللي تتوقف عندها الثقة عن كونها ادعاء المؤلف وتصبح عقدًا يبني عليه الآخرون. لا شيء في المقال دا يحقق ذلك؛ بس يقول ما لازم، وبأي ترتيب.