FlowWatch
مراقبة للأتمتة التي تتوقف بصمت
90 ثانية: أتمتة حية تُطفأ بصمت — ويُكتشف ذلك خلال دقيقتين. لا أحد يلمس شيئاً.
المشكلة
الأعمال تعمل على الأتمتة — عملاء محتملون وفواتير وطلبات تنتقل بين الأنظمة. عندما يفشل شيء بصوت عالٍ، ترى خطأً. أما عندما يتوقف بصمت — فلا يحدث شيء: لا خطأ، لا تنبيه، والشاشة لا تزال تعرض "نشط". تكتشف الأمر بعد أسابيع، عندما يسأل أحدهم أين اختفى العملاء المحتملون.
التسمية على الشاشة نيّة، وليست حقيقة. إنها تصف ما يُفترض أن يحدث — لا ما يحدث فعلاً.
هكذا يبدو التوقف الصامت
تعديل واحد على سير العمل. نفس الدقيقتين بعد الثانية ليلاً من يوم الثلاثاء. أسبوعان مختلفان تماماً.
بدون مراقبة
أحدهم يعدّل سير العمل. تُلغى الجدولة بصمت. الشاشة لا تزال تعرض "نشط".
العملاء المحتملون يواصلون الوصول إلى الموقع. لا أحد منهم يصل إلى نظام إدارة العملاء. لا يُسجَّل أي خطأ.
أحدهم يسأل: "لماذا لم يتابع أحد ذلك العميل المحتمل؟"
نحو 40 عميلاً محتملاً بلا ردّ. اكتُشف الأمر بالصدفة.
مع FlowWatch
نفس التعديل. نفس التوقف الصامت.
🔴 تنبيه في Slack: "توقفت أتمتة عن العمل — ولم يُسجَّل أي خطأ"، مع ما الذي تغيّر ومتى.
يُعاد تشغيل سير العمل. ✅ النظام يغلق المشكلة بنفسه.
إجمالي وقت العمى: دقيقتان.
سيناريو توضيحي. الحوادث في قسم "بُني على إخفاقات حقيقية" أدناه — هي التي وقعت فعلاً.
ماذا يفعل النظام
يكتشف التوقف الصامت خلال دقيقتين — بالتحقق من آخر تشغيل فعلي لكل أتمتة، ولا يثق أبداً بعلامة "نشط".
يرسل تنبيهات بلغة البشر: "توقفت أتمتة عن العمل — ولم يُسجَّل أي خطأ." النص التقني الخام يُدفع إلى هامش تقني.
يشير إلى السبب: "معطل منذ تحرير سير العمل في 22 أغسطس" — استناداً إلى النسخة التي تعمل فعلاً، لا المسودة.
يغلق الدائرة بنفسه: يجمع التكرارات في تنبيه واحد بدل مئتين، ويرسل رسالة "عاد كل شيء إلى طبيعته" واحدة عند التعافي.
بُني على إخفاقات حقيقية
أثناء التطوير، أبلغت المنصة "نشط" ثلاث مرات بينما كانت الجدولة متوقفة بصمت. هذا هو بالضبط الفشل الذي بُني النظام لاكتشافه — وقد حدث داخلياً قبل أن يحدث عند أي عميل.
ومرة واحدة، أمام الكاميرا أثناء تصوير العرض: أُطفئت الأتمتة — واستمرت في العمل دقيقة أخرى. قالت الشاشة "مطفأ" بينما استمر العمل. الفجوة بين التسمية والحقيقة تعمل في الاتجاهين، وفي هذه الفجوة تخسر الأعمال المال دون أن تعلم.
تحت الغطاء
أربعة قرارات هندسية، وما يمنحه كل منها لك:
لا تثق بعلامة الحالة
أبلغت المنصة "نشط" بينما لم يكن شيء يعمل — ثلاث مرات. لذلك تُستنتج السلامة من أوقات التشغيل الفعلية فقط.
لا تستطيع الشاشة أن تكذب عليك، لأننا لا نسألها أصلاً.
الإنذار الكاذب أسوأ من العطل الفائت
عندما يعجز المراقب نفسه عن قراءة البيانات، يصمت بدلاً من إعلان أن كل شيء متوقف.
بعد ثلاثة تنبيهات خاطئة، لا أحد يقرأ الرابع — وهو الحقيقي.
حمّل المسؤولية للنسخة العاملة، لا للمسودة
يعتمد الربط السببي على وقت نشر النسخة التي تعمل فعلاً — فالمنصة تحتفظ بتاريخين لكل سير عمل، والخاطئ قد يبعد ساعات.
"ما الذي سبّب العطل" لا ينفع إلا إذا كان صحيحاً.
كل قرار قابل للاختبار
التأخر، الخطورة، فترة التهدئة، الربط السببي — منطق صافٍ معزول عن الإدخال/الإخراج، مغطى بـ 103 اختبار وحدة.
التنبيه الذي يصلك في الثانية فجراً قرّره كود مُثبَت، لا كود نأمل أن يعمل.
منطق القرارات الصافي (التأخر، الخطورة، فترة التهدئة، الربط السببي) معزول عن الإدخال/الإخراج ومغطى بـ 103 اختبار وحدة.
هل تعمل لديك أتمتة في عملك؟
اسأل نفسك: ما الذي يثبت — الآن — أنها كلها تعمل؟ إذا كان الجواب "إنها معلَّمة نشطة"، فهذا ليس إثباتاً.