Production & Agent Infrastructure

دراسة حالةالبنية التحتية والتشغيلمشروع 07

قيد التشغيل · النشر الإنتاجي يعمل فعليًا منذ أكتوبر 2026 · أدوات محطة العمل منذ أغسطس 2026 · أملكه وأشغّله بنفسي

مخطط Production & Agent Infrastructure — مخطط للبنية (توضيحي، دون أسماء مضيفين أو بيانات عميل)

الملخص

ثلاثة أنظمة أشغّلها، بُنيت بمساعدة الذكاء الاصطناعي تحت توجيهي وسُجّلت مع أدلتها: النشر الإنتاجي لموظف استقبال بالذكاء الاصطناعي (مسار إصدار يمرّ ببوابة ثم بمرحلة تهيئة مع أرشيفات للتراجع، ومراقبة نبضات تنبّه عند الصمت، ونسخ احتياطية مُختبَرة بالاستعادة، وتعافٍ تلقائي للعمليات المنهارة)؛ ونظام ذاكرة طويلة الأمد محدد النطاق لوكيل البرمجة (بوابة MCP يكون فيها النطاق معاملًا إلزاميًا، يعيد مُفهرِس يعمل عبر launchd فهرستها عند أي تعديل، وتُفحص صحتها كل ليلة)؛ وضوابط على طرفية الوكيل (خطّاف PreToolUse مع حزمة انحدار). وكل قاعدة في مسار الإصدار تعود إلى حادثة وقعت قبلها. وقد استُبعدت التفاصيل التشغيلية لبيئة العميل من هذه الصفحة عمدًا.

المشكلة والمستفيدون

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

أنا بصفتي المشغّل؛ وعميل موظف الاستقبال وعملاؤه، الذين يعتمدون على بقاء الخدمة قيد العمل؛ وجلسات الوكيل الخاصة بي، التي تعتمد على نظامَي الذاكرة والحماية. لا يُسمّى العميل هنا بانتظار موافقته على الذكر العلني.

دوري

المالك والمشغّل. أملك صلاحيات الوصول، وأعتمد كل نشر وكل إجراء على الحسابات، واتخذت المفاضلات الهندسية المسجّلة، ونفّذت الخطوات في لوحات التحكم، وتلقّيت إشعارات التدريبات التي تُعدّ دليلًا. كان التنفيذ بمساعدة الذكاء الاصطناعي (Claude Code) تحت هذا التوجيه: وُلّدت السكربتات والبوابة والمُفهرِس والخطّاف وأدلة التشغيل وفق مواصفاتي وراجعتها بنفسي، وتولّى الوكيل كثيرًا من القراءة اليومية لحالة النظام وأجرى عمليات النشر عبر البوابة بموافقتي. ويبيّن السجل أيّ القراءات كانت للوكيل وأيّها كانت لي.

البنية

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

القرارات والمفاضلات

  • بوابة، ثم مرحلة تهيئة، ثم إثبات، مع الاحتفاظ بالإصدار السابق. كل قاعدة جاءت بعد حادثة: مرة صار نشرٌ حيًا مع اختبار فاشل لأن آخر أمر في سلسلة الأنابيب نجح (والآن يُشترط سطر «fail 0» الصادر عن الحزمة نفسها)؛ ومرة لم توقف إعادة تشغيل أي شيء لأنها طابقت المسار الخطأ (والآن يجب أن تُبلغ عملية جديدة واحدة لكل خدمة عن إيداع الإصدار)؛ ومرة أعادت شجرة قديمة الإصدار إلى الخلف بصمت (والآن يرفض المُجهِّز الرجوع إلى إصدار أقدم ما لم يُطلب منه ذلك صراحة). والنشر الذي يكون فيه الموقع سليمًا وموظف الاستقبال غير سليم يخرج برمز فشل حتى لو نجحت الاختبارات.
  • مراقبة تنجو من توقّف الجهاز. لا يستطيع مراقب على الجهاز أن يُبلغ بأن الجهاز متوقف، والخدمة الخارجية التي تتصل به تحتاج إلى عنوان عام. لذا يتصل الجهاز بالخارج وفق جدول زمني ويكون الصمت هو الإنذار. ولسجل التدريبات أهميته: وُصفت المراقبة بأنها «مُعدّة، لا تعمل» إلى أن أنتجت نبضة فُوّتت عمدًا تنبيهًا حقيقيًا.
  • التعافي بمشغّل تكرار، لا بإعادة التشغيل عند الفشل. أظهر إنهاء العامل قسرًا في 2026-09-27 أن إعادة التشغيل المدمجة في المجدول لا تغطي عملية تموت تحت مهمة قيد التشغيل. لذا تُطلَق كل مهمة خدمة الآن أيضًا وفق جدول زمني قصير.
  • النطاق معامل في المخطط، لا قاعدة. أُزيل خادم الذاكرة الذي كان مرشّحه اختياريًا. تشترط البوابة تحديد مجال، وتستعلم كل مجال داخل النطاق على حدة فلا تُقرأ الملاحظات الخارجة عن النطاق إلى العملية أبدًا، ولا تضيف المجال المقيّد ضمنيًا أبدًا، ولا توسّع نتيجة فارغة أبدًا. المفاضلة: لا يوجد «بحث في كل شيء».
  • يجب ألا تحجب الضوابط عملًا مشروعًا أبدًا. الحارس الذي يحجب عملًا حقيقيًا حين يرتبك أسوأ من عدم وجوده، لذا فكل قاعدة ضيقة ومُختبَرة على حدة، والقراءات لا تُرفض أبدًا، ونصوص heredoc تُزال حتى لا تُطلِق الكتابةُ عن قاعدةٍ تلك القاعدةَ. وتضم الحزمة 16 حالة.

نتائج مُتحقَّق منها

الصفوف التي تستشهد بسجل جولة أو سجل إطلاق أو سجل إعداد المراقبة أو دليل التشغيل موثّقة لا مُتحقَّق منها: قُرئت من سجلات المشروع نفسه في 2026-10-24 ولم يُعَد تشغيلها لهذه الصفحة. أمّا حزمتا الذاكرة والحماية فشُغّلتا في 2026-10-24.

المقياسالنتيجةالدليل
إعادة تشغيل منسّقةعادت الخدمات دون إشراف خلال نحو 3 دقائق؛ ونجح 18 من 18 فحصًا بعد الإقلاعسجل الجولة، 2026-10-16
ثغرة اكتُشفت وأُغلقتأُصلحت في اليوم التالي ثغرة واحدة في التعافي كشفها اختبار إعادة التشغيل، وأُعيد اختبارهاسجل الجولة، 2026-10-17
تدريبات التنبيهأنتجت الإخفاقات المفتعلة إشعارات DOWN وUP حقيقيةسجل إعداد المراقبة، 2026-10-16؛ وأكّدتُ الاستلام بنفسي
بوابة الإصدار1,845 / 1,845 عند الإصدار 05c7664؛ والإصدار السابق محفوظ أرشيفًا للتراجع؛ والرجوع إلى إصدار أقدم مرفوض دون علامة صريحةسجل البوابة 2026-10-19؛ سكربت الترقية
النسخ الاحتياطيةمُختبَرة بالاستعادة قبل الإطلاقسجل الإطلاق، 2026-10-18
التعافي من الانهياربقي عامل أُنهي قسرًا متوقفًا حين اقتصر الأمر على عدّاد إعادة التشغيل في المجدول؛ ويغطي مشغّل التكرار هذه الحالة الآندليل التشغيل، اختبار الإنهاء القسري 2026-09-27
مُفهرِس الذاكرةيعمل تحت launchd؛ سُجّلت 370 مزامنة منذ 2026-08-30، آخرها بـ 0 أخطاء؛ و73 ملاحظة، و0 روابط معطّلةأمر الحالة والسجلات، 2026-10-24
حزمة بوابة الذاكرة16/18: كل فحوص النطاق والتسرّب ناجحة؛ والفشلان توقعات ترتيب لملاحظات محددةتشغيل الحزمة 2026-10-24
حزمة حماية الطرفية16/16 حالة؛ قيد الاستخدام منذ 2026-10-04تشغيل الحزمة 2026-10-24
زمن التوافرلم يُقَس على نافذة زمنية محددةسُجّل انقطاع واحد قبل الإطلاق دام ≈2 ساعة، وإعادة تشغيل مخطط لها دامت ≈3 دقائق

القيود والعمل المتبقي

  • لا يوجد رقم لزمن التوافر على نافذة زمنية محددة؛ وسجل توافر على مدى 90 يومًا هو الدليل التالي الذي يستحق الجمع.
  • أدلة التعافي والمراقبة والنسخ الاحتياطي مصدرها سجلات المشروع نفسه وتدريباتي أنا، لا تدقيق مستقل، وهي موثّقة لا مُعاد تشغيلها لهذه الصفحة.
  • حزمة الذاكرة: يفشل اليوم 2 من 18 من توقعات الترتيب؛ وكل فحوص النطاق والتسرّب ناجحة.
  • لا تُنشر هنا التفاصيل التشغيلية لبيئة العميل عمدًا، ولا تصف هذه الصفحة إعدادها الحالي.