تكتب الوكلات أكوادًا منطقية بسرعة، وبعضها يلجأ إلى اختصارات لن يستخدمها مهندس حذر: اختبار يتم تخطيه لتحقيق النجاح، خطأ يُهمل، كود مؤقت يُترك، تحقق من النوع يُصمت، طريقة ثانية لفعل ما يوجد بالفعل في قاعدة الكود الخاصة بك. الـ anti-slop يقوم بفحص هذه الحالات في كل تغيير ويُعيد التغيير إلى وكلاء المطورين قبل أن تراه.
إنه فحص واحد ضمن سياسة الجودة، وليس درجة تقييم منفصلة. يمر التغيير بهذا الفحص عندما لا يُدخل أي شيء يعيق العملية.
ما الذي يبحث عنه؟
تُصنّف القواعد في مجموعات. كل قاعدة إما أن تحظر، تقدم نصيحة أو تسجل معلومات.
- الاختبارات — اختبارات مركزة أو مُخطاة، اختبارات محذوفة، تأكيدات مُزالة أو مُضعفة، اختبارات لا يمكن أن تفشل.
- عمليات الإخفاء — تعطيلات جديدة للتدقيق البرمجي، تجاهلات الأنواع و
anyعمليات تحويل النوع. - بناء وCI — خطوات اختبار مُزالة أو مُعطلة، تخفيض العتبات، "النجاح دون اختبارات".
- أدلة الاختبار — نتائج مخزنة مؤقتًا تُعتبر كتشغيل فعلي، اختبارات لم تُنفذ، تشغيل جزئي يُبلغ عنه على أنه كامل.
- كود الإنتاج — بقايا وضع التصحيح، مساحات احتياطية، بيانات تجريبية، ملاحظات موجهة للمطورين، أكواد اختبار تُشحن مع المنتج.
- معالجة الأخطاء — أخطاء مُهملة، حلول بديلة تخفي الفشل، تحقق من الصلاحيات بطريقة تسمح بالوصول حتى في حالة الفشل.
- تعليقات، البنية التحتية، التعتمدات، نطاق التغيير، أمان، التخزين المؤقت وـ سجل الوكلات — سجل ما قامت به الوكالة، مثل تعديل اختبار بعد فشله مباشرة.
صفحة كل قاعدة في الجودة ← فحوصات ← Anti-slop توضح ما الذي تتطابق معه والسبب وراء أهميته.
فقط النتائج التي أُدخلت حديثًا عبر التغيير هي التي تُعيق اجتياز الفحص.
معظم المستودعات تحتوي بالفعل على بعض من هذه الأنماط. يصنّف Anti-slop كل نتيجة إلى إحدى ثلاث مجموعات:
- مُدخلة — جديدة في هذا التغيير.
- مُلمسة — موجودة مسبقًا، في سطر أو دالة قام التغيير بتعديلها.
- موجودة — موجودة في أماكن أخرى من المستودع.
فقط النتيجة المُدخلة من قاعدة تحظر تمرير الفحص. تُسجل النتائج المُلمسة والموجودة حتى تتمكن من رؤية الديون التقنية، لكنها لا توقف عملًا غير مرتبط بها. نقل الكود لا يُعتبر إدخالًا له؛ النسخ هو ما يُعتبر إدخالًا.
تم رفعها
- بوابة استشارية
وكيل المراجعة
- ماسح متصل
تم توجيهها
قابلة للتصحيح
يعود إلى المطور كعمل إعادة
كل شيء آخر
يُرفق بـ pull request
تم حلها
تم تصحيحها
يعالج التغيير هذه المشكلة
تم قبولها
صحيح، ولا يستحق التصرف هنا. يُرجى ذكر السبب.
تم إخفاؤها
نتيجة إيجابية كاذبة أو قاعدة لا تنطبق هنا. يُرجى ذكر السبب.
إضافته إلى السياسة
افتح سياسة في الجودة ← سياسات واختر إضافة إعداد مسبق لـ Anti-slop. يضيف ذلك خمس توقعات:
- لا تزال الاختبارات تثبت صحة التغيير.
- لا يتم شحن أي كود غير مكتمل أو مخصص للاختبار.
- لا توجد ديون تقنية جديدة.
- يبقى التغيير ضمن نطاقه ويتماشى مع أسلوب كود المستودع.
- التعتمدات الجديدة حقيقية وموثوقة.
نشر السياسة، وسيشمل التشغيل التالي لكل مشروع مرفق الفحص.
اختيار انضباط التغيير
يحدد الانضباط كيفية توسع التغيير من قبل وكلاء المطورين:
- جراحي — فقط ما تحتاجه المواصفات؛ أما المشاكل الأخرى فيتم الإبلاغ عنها، لا إصلاحها.
- متوازن (افتراضي) — يصلح أيضًا مشاكل صغيرة في الأسطر التي يلمسها التغيير.
- استعادي — ينظف أيضًا النتائج الموجودة داخل الدوال التي يعدلها التغيير.
تعمل الوكالة وفقًا لنفس القواعد قبل تقديم التغيير: تحصل على الانضباط وأنماط الحظر المحددة مسبقًا، وترى القواعد السريعة بعد كل تعديل، وتحصل على فرصة واحدة لإصلاح النتائج التي تحظر التمرير قبل مرحلة الفحص.
تكييفه مع قاعدة الكود الخاصة بك
- تجاوزات القواعد — إيقاف قاعدة ما، أو جعلها تقدم نصيحة بدلًا من الحظر، ضمن إعدادات الفحص.
- حزم القواعد — أنماطك الخاصة، استيرادات وتعتمدات ممنوعة، حدود حجم الملف، أو نتائج من أدوات تستخدمها مسبقًا (SARIF). تكون الحزم مصنفة بإصدارات؛ وتثبت السياسة الإصدار المستخدم.
- الحجر الصحي — أنماط لا تريد نسخها مستقبلًا، مع تحديد البديل الذي يجب استخدامه. تُطلب من الوكلات عدم نشرها، ويتم تمييز النسخ الجديدة منها.
- ملف المستودع —
.coroid/anti-slop.ymlفي المستودع يمكنه إضافة قواعد واستبعاد مسارات مولدة أو موردة. يُقرأ من قاعدة التغيير، لذا لا يمكن للتغيير تخفيف قواعده الخاصة، ويتطلب تعديله موافقة.
النتائج والإعفاءات
تظهر النتائج في الجودة ← النتائج، ويتم تصفيتها حسب الفحوصات. لقبول إحدى النتائج، قم بإلغاء تطبيقها مع ذكر سبب؛ يتم تسجيل هذا الإلغاء المرتبط بتلك النتيجة بالتحديد. لا يمكن للوكلاء إلغاء تطبيق نتائجهم الخاصة. عندما يؤكد وكيل أن الاختبار كان خاطئًا ويقوم بتعديله، يجب على المراجع الموافقة على ذلك التغيير قبل أن تمر الفحص.
قواعد Judge
تطلب قاعدتان من النموذج معلومات سطرًا تلو الآخر: فحص وقائي للتأكد من استحالة حدوث شيء ما بناءً على الكود المعروض، وتعليق يتعارض مع الكود المجاور له. كلاهما يقدم نصيحة فقط، ولا يمنع التنفيذ. تفعيل قواعد Judge يكون مفعلاً لفحص جديد، مع حد أقصى لعدد القرارات لكل تشغيل؛ يمكن إيقافه عبر إعدادات الفحص.
وكلاؤك الخاصون
يمكن للقواعد نفسها توجيه الوكلاء الذين تقوم بتشغيلهم بنفسك:
- تنزيل مقتطف AGENTS.md، في الديون التقنية علامة التبويب في الجودة ← الفحوصات ← مكافحة الانحراف، ويوفر انضباط التغييرات في المشروع وقواعد الحجر الصحي والقواعد الرئيسية كقسم يمكن لصقه في تعليمات الوكلاء.
- عبر خادم Coroid MCP server،
anti_slop_rulesيصف سياستك المنشورة وanti_slop_scanيقوم بفحص فرع من مشروع متزامن، بوضعية للقراءة فقط.