هيكل المستودع
تحديث الهيكل في 2026-10-07: نجحت مهام CI الأربع على e08ed3b، بما فيها Docker والتثبيت على مضيف فارغ؛ راجع أدلة المصدر المحدد. يجمع deploy/ci-artifacts.py تقارير CI الحديثة المسموح بها فقط، وينشئ lab/private_directories.py المجلدات الخاصة وآباءها ويتحقق منها. يبقى قبول الاستعادة الكاملة واستمرارية Cron والإنتاج مفتوحا. تُحسب المسارات من موقع التثبيت دون تبعية لجهاز المطور.
سجلات تحقق تاريخية
نقطة تحقق تاريخية في 2026-10-06: نجح التحقق الكامل للشيفرة الملتقطة بنتيجة 1449 اختبارا، دون فشل أو أخطاء أو تحذيرات أو تجاوز، وقبلته مراجعة مستقلة. تشمل الإصلاحات إغلاق اتصالات SQLite واستجابات HTTPError، وملكية الملفات المؤقتة والتقاط تشخيصات الاختبارات المتوقعة. نجحت أيضا حالات تجهيز التشغيل الـ52، لكن تشغيل PostgreSQL الأصلي واستمرارية Cron وVault والاستعادة الفيزيائية لم تُقبل بعد. راجع الحالة الحالية لنتائج CI وحدود الأدلة.
حصل نطاق public55 V3 المنفصل على قبول عملي: نجحت 25 حالة للمكوّن و30 للمضخة، وطابقت قراءة الملفات الأصلية الـ290 وقراءة الملفات الأربعة المضافة مع فحص صلاحياتها الأدلة، وحُذفت الحاويات الثلاث المعروفة دون موارد معلقة. وحصل نطاق بيانات المساعدة العامة BusyBox V8 على قبول عملي: أعاد Bash 5.3.3 وBusyBox 1.37.0 في المسارين المحددين بيانات الإصدار والمساعدة مع خروج بالرمز 0، وحُذفت حاويته الوحيدة. لا تقبل النتيجتان طلبا خاصا أو توقيت timeout وإشاراته أو مصدر الملف التنفيذي أو تشغيل المرشح أو استمرارية Vault وCron الباردة والدافئة أو الاستعادة الفيزيائية أو الإنتاج.
أعلنت تجربة نافذة التحذيرات V4 المحفوظة نجاح 1447 اختبارا عاديا، لكنها سجلت ستة ResourceWarnings وخرجت بالرمز 1، وكانت نافذة الملاحظة 839 لكل التحذيرات. تحمل ثلاثة سجلات النوع الدقيق sqlite3.Connection، وثلاثة اسم tempfile.py والسطر 484 مع مصدر NoneType. لا تحدد نافذة الملاحظة موضع التخصيص أو سببه؛ وما زالت أصول تحذيرات tempfile الثلاثة مجهولة. كان يلزم عند تلك النقطة التاريخية ربط المصدر والهوية والصلاحيات والمجموعة الكاملة من جديد، ثم CI للإصدار النهائي واستلام الخادم الخالي بتشغيل يدوي. تحتفظ نتائج CI والموقع للإيداع المنشور 0e745394 بنطاق ذلك الإيداع فقط.
يبني صباربيز طبقة إدارة وتشغيل فوق خدمات Supabase الأصلية. تساعد هذه الخريطة في العثور على الكود والأدلة والإجراءات؛ ولا تعني أن المشروع اجتاز قبول الإنتاج.
| المجلد | ما تجده فيه |
|---|---|
src/ |
طبقة التحكم وفهرس البيئات والبوابة وواجهة الإدارة البرمجية، مكتوبة بـ TypeScript |
ui/ |
لوحة المشغّل؛ أما إدارة بيئة Supabase فتستخدم Studio الأصلي |
lab/ |
أدوات التشغيل والإدارة المكتوبة بـ Python، وبيئات الاختبار والفحوص الحية؛ اقرأ ملف README فيه قبل تشغيل حاويات |
tests/ |
اختبارات TypeScript |
deploy/ |
إعدادات حاويات Docker، وسكربتات الخادم، وأدوات التحقق المعزولة |
fragments/ |
ملاحظات تطوير وتفاصيل تنفيذ محددة |
docs/explain/ |
شرح التصميم وحدوده |
docs/guides/ |
إجراءات المشغّل |
docs/reference/ |
الحالة والإعدادات ومرجع API |
docs/decisions/ |
القرارات وبدائلها وشروط إعادة النظر فيها |
docs/engineering/ |
الملاحظات المؤرخة والخطط والمراجعات وتعليمات متابعة العمل وسجل الأدلة |
docs/evidence/ |
نتائج منشورة لتجارب حية سابقة، يحتفظ كل منها بنطاقه وتاريخه |
website/ |
الموقع العام، وله سير عمل مستقل للبناء |
film/ |
مصادر إنتاج الفيديو الشارح |
graft/ |
خريطة سياق الكود وروابط الملفات والرموز |
الإصدار المعلن في الحزمة 0.5.12، وما زال إصدار تطوير غير جاهز للإنتاج. يحتفظ سجل التغييرات بتاريخ إصدار المصدر 0.1.0. وتجمع الحالة الميزات وحدودها، بينما توضح جاهزية النشر ما جُرّب وما يحتاج إلى إثبات.
ملفات الدمج الإضافية
الملفات التالية موجودة في لقطة الدمج المفحوصة. وجودها لا يثبت التشغيل الفعلي أو استيفاء متطلبات الميزة كاملة.
| المجال | مواقع المصدر |
|---|---|
| مسار قاعدة البيانات | src/control/database-workflow.ts, lab/pooler_migration_contract.py |
| النقل الإداري | src/control/transfer-history.ts, lab/transfer-history-check.py |
| تسوية Storage | src/control/storage-settlement-contract.ts, lab/disposable-storage-settlement-drill.py |
| دورة الحياة وسلطتها | src/control/lifecycle.ts, src/control/lifecycle-authority.ts, lab/lifecycle_native_authority.py |
| متطلبات الاستعادة | src/control/lifecycle-recovery.ts, lab/lifecycle_recovery.py, lab/recovery_bundle.py |
| مواد استعادة إدارة المنصة كاملة | lab/sqlite_material.py, lab/original_schema_fixture.ts, lab/test_sqlite_material.py |
يحفظ مساعد SQLite قواعد بيانات Catalog والمفاتيح المدارة الخاصة كاملة، ويجهز ملفات مستعادة جديدة دون استبدال ملفات موجودة. تستخدم اختباراته المصدرية الستة عشر أصناف Catalog وKeyStore الأصلية للتحقق من صفوف كل الجداول وإلغاء المفاتيح وسلوك أجيال التشغيل. يبقى إيقاف الكتابة الفعلي والتحقق من مصدر المخطط وسياسة الجلسات الإدارية القديمة وأذونات التنفيذ وإعادة بناء الخدمات كاملة مطلوبا قبل تفعيلها.
تحفظ خطة الدمج متطلبات الإكمال. تبقى الحزم المحلية المتجاهلة مواد تطوير، وليست تبعيات للمنتج المنشور.
مصادر تجهيز التشغيل الأصلي
هذه الملفات العامة الثمانية أدوات تجهيز واختبار، وليست قاعدة مرشحة مقبولة أو مضخة طلبات خاصة مكتملة. اقرأ عقد التجهيز قبل أي تشغيل عملي.
| المصدر | المسؤولية |
|---|---|
lab/native_startup_materials.py |
مواد التشغيل وتسليم وحدات التخزين المحفوظة |
deploy/verify/native_factory_startup_inspect.py |
منفذ التجهيز المحدود والقبول الأصلي الدقيق |
deploy/verify/native_startup_contract.py |
عقود الهوية والإسقاط والرفض العامة المشتركة |
deploy/verify/native_startup_guardian.py |
حارس مستقل للملكية والمهل |
deploy/verify/native-startup-preparation.md |
نطاق التجهيز ومدخلاته وحدوده |
lab/test_native_startup_materials.py |
اختبارات المواد، الحد الأدنى 14 |
lab/test_native_factory_startup.py |
اختبارات المنفذ، الحد الأدنى 9 |
lab/test_native_startup_guardian.py |
اختبارات الحارس وعزل العمليات، الحد الأدنى 29 |
يتحقق lab/test_notification_producers.py منفصلا من رسالة فشل البدء المتوقعة كاملة. تحفظ بيئة اختبار الحارس حالة subreaper الأصلية وتعيدها حتى عند فشل اختبار داخلي. نتائج المصدر والتجهيز الفعلي أدلة منفصلة.
مصادر إكمال طلبات SQL الخاصة
تحدد هذه المكونات العامة بروتوكول إكمال طلبات SQL الخاصة بحدود زمنية وحجمية واضحة. نجح التحقق الكامل للمصدر العام المجمّد، وعدد ملفاته 881، في 1504 اختبارا دون فشل أو أخطاء أو تحذيرات أو تجاوز؛ واجتازت النتيجة المراجعة العملية المستقلة والتحقق النهائي. راجع أدلة اختبارات المصدر العامة. تغطي نتيجة CI التاريخية، 6c86، خط الأساس قبل إضافة هذه الملفات الأربعة؛ ولم تُشغّل أو تُقبل أدلة مصدر العميل الأصلي المثبت، وسلطة بدء الجلسة الخاصة، وإذن إعادة التشغيل المملوك، واستمرارية Cron وVault الباردة والدافئة، والاستعادة الكاملة.
| المصدر | المسؤولية |
|---|---|
deploy/verify/private_psql_producer.py |
ترميز الاستعلامات المحددة، وحماية مساحة الأسماء الحصرية، وتأطير التحكم، وحدود النقل |
deploy/verify/private_request_pump.py |
دورة طلب وإكمال محدودة، ونتائج محددة، ورفض الإكمال غير المؤكد |
lab/test_private_psql_producer.py |
31 اختبارا عاما للمكوّن |
lab/test_private_request_pump.py |
30 اختبارا عاما للمضخة |
ما يرجع إليه العمل الحالي
تحدد أهداف المشروع وخطة المنتج وطريقة التنفيذ والتحقق اتجاه التطوير الحالي. ويفصل عقد مكان التشغيل الأصلي البنية المستقلة التجريبية عن البنية المشتركة العاملة.
يربط سجل الأدلة كل نتيجة بنسخة مصدرها ونطاقها، ويحتفظ بالتجارب الناجحة والفاشلة. بعض مساراته تشير إلى ملفات محلية لا توزّع مع المستودع؛ فلا تُعد أدلة عامة منشورة. وتبقى خطط سبتمبر ونقاط التحقق المؤرخة سجلات سابقة.
التحقق من المصدر
من جذر المستودع، يعمل التحقق المعزول عبر Docker بهذا الأمر:
sh deploy/verify/run.shينشئ الأمر حاوية تحقق مؤقتة بحدود موارد محددة، ويشغّل الفحوص دون اتصال بالشبكة، ويحفظ الأدلة في .lab/ المستبعد من Git. تفاصيل النطاق في دليل التحقق. تخطت تجربة Docker التاريخية على 0e745394 مهمة المضيف الخالي الاختيارية حينها. نجح e08ed3b الحالي في Docker وقبول المضيف الخالي التلقائي عند الرفع إلى main؛ وتحتفظ أدلته المؤرشفة بهذه النطاقات المحددة. يحتاج المصدر والوثائق بعد تعديلهما إلى فحوص جديدة؛ ولا تثبت هذه الفحوص الاستعادة الكاملة أو دعم كل الخوادم أو الجاهزية للإنتاج.
يحتوي .lab/ و.secrets/ على حالة محلية خاصة لا تدخل في نشر المصدر. كذلك تُولّد مجلدات الاعتماديات ومخرجات البناء أثناء العمل، ولا تحل محل ملفات إصدار يمكن إعادة بنائها والتحقق منها.