عن المشروع
Lithoglyph (من اليونانية lithos "حجر" + glyphein "نحت") تُوصف بأنها نواة قاعدة بيانات سردية أولاً، قابلة للعكس، بمعايير تدقيق. أطروحتها المعلنة هي أن المخططات والقيود والترحيلات والكتل والسجلات هي أعمال سردية وليست ركيزة معتمة، وأن البيانات منحوتة في الحجر: دائمة وقابلة للتدقيق وقابلة للعكس.
حالة المشروع معلنة كنشط لكن بأولوية ثانوية. يقول ملف README إنه يعمل نحو الإنتاج للاستخدام المتخصص في الصحافة والفنون السردية والإعلام/الاتصالات، بينما يُذكر VeriSimDB كمشروع أساسي حالي. يقترح أن Lithoglyph ولغة الاستعلام GQL هما على الأرجح الخيار الصحيح لمعظم سير عمل الصحافة والقصص والإعلام، بينما يصبح VeriSimDB وVCL/VCL-UT ذوي صلة بالتحقق الاستقصائي عبر المصادر، وتتبع الكيانات على نطاق واسع، واتساق الهوية طويل الأمد، أو إثبات أن البيانات عبر قواعد البيانات لم تنحرف.
القيم الأساسية المعلنة ترتب قابلية التدقيق فوق الأداء، والمعنى فوق الميزات، وقابلية العكس فوق الإنتاجية، مع اشتراط فهم الوكيل. المجالات المستهدفة المذكورة هي الصحافة الاستقصائية، والحوكمة/الامتثال، والأنظمة الوكيلة، والتسليم متعدد المستودعات، والأرشيفات الثقافية أو المؤسسية طويلة الأمد.
المستودع منظم إلى spec (مواصفات AsciiDoc والأساس المنطقي)، وcore-forth (Form.Blocks وForm.Model، الموصوفان كنواة الحقيقة)، وcore-zig (Form.Bridge، وABI وتأطير المنفذ)، وcore-factor (Form.Runtime، وGQL والاستبطان)، وcontrol-plane (بوابة Elixir/OTP اختيارية)، وtools (أدوات render/inspect/doctor)، وtest-vectors (بايتات ذهبية وعروض ذهبية)، وstories (أمثلة سردية وأعمال تأهيل).
البنية متعددة الطبقات حسب اللغة والمسؤولية. يوفر Form.Blocks في Forth تخزينًا حتميًا وسجلات وقابلية عكس: كتل بحجم ثابت مع رؤوس رمزية، وسجل إلحاق فقط، واسترداد من الانهيار وفحوصات سلامة، وإرشادات إصلاح. Form.Model في Forth هو الطبقة المنطقية متعددة النماذج التي تغطي مجموعات المستندات ومجموعات الحواف وبيانات المخطط والقيود وأعمال الترحيل. يقدم Form.Bridge في Zig ABI ثابتًا بدون اعتماد على C، ومقابض معتمة، ومخازن بايت، ورموز خطأ صريحة، ويقوم فقط بالترميز ويستخدم callconv(.C) لتوافق FFI بدون سلسلة أدوات C. يتعامل Form.Runtime في Factor مع تحليل/تخطيط/تنفيذ GQL، وexplain والاستبطان، واستبطان خطوات المخطط، وأسطح شرح القيود وأسطح التتبع. يجمع Form.Normalizer بين Factor وLean 4 للاكتشاف التلقائي للتبعيات الوظيفية (DFD/TANE/FDHits)، وترميز الأنواع للتبعيات الوظيفية في GQL-DT، ومسندات الأشكال الطبيعية من 1NF إلى BCNF، وتطور المخطط الحامل للإثبات، والتفسيرات السردية لقرارات التطبيع. Form.ControlPlane في Elixir/OTP اختياري ويوفر محركًا أساسيًا خارج العملية عبر منفذ، وجلسات، وإشراف، وتنسيق حواف الكتلة.
تُعرض الثوابت الأساسية على أنها غير قابلة للتفاوض: ملكية الحقيقة على القرص تعود لطبقة الكتل/السجلات ولا تتجاوزها الطبقات الأعلى؛ كل عملية تعديل تُسجل قبل اعتبارها ملتزمة؛ كل عملية ملتزمة يجب أن يكون لها معكوس محدد أو تُعلن صراحةً كغير قابلة للعكس مع قصة؛ يجب أن تكون الكتل وإدخالات السجلات قابلة للعرض بشكل حتمي في شكل قابل للقراءة البشرية/الوكيلة؛ يمكن أن تتضمن نتائج الاستعلام اختياريًا مؤشرات تتبع إلى السجلات والكتل؛ والقيود قابلة للتفسير، مع إرجاع الرفض للأسباب والمؤشرات والأساس المنطقي السردي.
GQL (Glyph Query Language) هي واجهة الاستعلام الأصلية. تغطي مجموعة الإثبات الفرعية إدراج مستند في مجموعة، وإدراج حافة مع from وto وtype وprops، وSELECT مع مسندات بسيطة، وEXPLAIN لإرجاع الخطة والأسباب، وINTROSPECT للمخطط والقيود، وإخراج تتبع اختياري.
الأهداف غير المعلنة تشمل عدم كونها بديلاً مباشرًا لـ Postgres، وعدم الفوز في معايير الأداء الدقيقة، وعدم شحن إجماع موزع كامل في الإثبات الأول. معايير قبول الإثبات تشمل فتح/إغلاق عقدة واحدة، وسجل إلحاق فقط مع عرض حتمي، وإدراج/اختيار مستندات وحواف، ورفض قيد يعيد حمولة explain، وترحيل مسجل وقابل للعكس، واجتياز ناقلات اختبار ذهبية، وفحوصات وصلات (B↔M، M↔R، B↔R) ناجحة عند التجميد.
تُتتبع الأسئلة المفتوحة في ملف تسليم قابل للقراءة آليًا، وتغطي الحد الأدنى لتخطيط رأس الكتلة، والحد الأدنى لمخطط إدخال السجل، واختيار ترميز كتلة ABI، وقواعد GQL للإثبات، وتوقيت تقديم Elixir/OTP، وعدة مواضيع تطبيع ذاتي مثل خوارزمية اكتشاف التبعية الافتراضية، ومعالجة التبعيات التقريبية، ونطاق إزالة التطبيع، وتكامل إثبات GQL-DT، وإعادة كتابة الاستعلام.
يربط ملف README وثائق للبدء السريع، والإصدارات، وسجل التغييرات، والبنية، وخارطة الطريق، والفلسفة، ومواصفات GQL، والأنواع المعتمدة في GQL، وقاعدة البيانات ذاتية التطبيع، وتنسيقات الكتل والسجلات، والنشر، والمراقبة، والأمان والمصادقة، ومرجع API، والترحيل من RDBMS، وأنماط التكامل، وحزمة عمل وثائقية/صحفية تفاعلية. المشاريع ذات الصلة المذكورة تشمل GQL-DT وLithoglyph Studio وBoFIG وZotero-Lithoglyph وLithoglyph Debugger وFormBase. الكود مرخص بـ MPL-2.0 والوثائق بـ CC-BY-SA-4.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.