مهارة تعقّب الانحدار عبر git bisect (تحديد أول commit كسر السلوك)
مهارة تشغيل جاهزة لوكلاء الكود (Claude Code وCursor وCodex وAntigravity) تُنظّم استخدام git bisect لتعقّب الانحدار (Regression Hunting): عندما ينكسر اختبار أو يظهر سلوك خاطئ كان يعمل في نسخة سابقة، تحدّد المهارة أول commit أدخل العطل عبر بحث ثنائي في تاريخ المستودع بدل قراءة الفروق يدويًا commit تلو الآخر. تبدأ بتثبيت مرجعين: مرجع «سليم» (good) معروف أنه يعمل ومرجع «معطوب» (bad) غالبًا HEAD، ثم تشغّل git bisect الذي يقفز إلى منتصف المدى ويطلب الحكم على كل نقطة، فيتقلّص النطاق إلى النصف كل خطوة (عدد الخطوات ≈ log₂ لعدد الـ commits). الأقوى أن المهارة تعتمد الوضع الآلي git bisect run مع أمر اختبار يرجع 0 عند النجاح وقيمة غير صفرية عند الفشل، فيجري البحث كاملًا دون تدخل ويطبع «first bad commit» مع بيانات الـ commit والفرق. تفرض المهارة قواعد صارمة: أمر اختبار حتمي (deterministic) لا يعتمد على حالة خارجية متقلبة، واستخدام git bisect skip للـ commits التي لا تُبنى أو لا يمكن اختبارها، و git bisect reset دائمًا في النهاية لاستعادة الفرع الأصلي، وعدم الخلط بين «العطل» الذي نتعقّبه وأعطال أخرى غير متعلقة. مناسبة لتضييق نطاق خطأ في مشروع كبير خلال دقائق، وربط الانحدار بتغيير محدد قبل إصلاحه، وأتمتة الفرز داخل سير عمل الوكيل.
جلسة git bisect منظّمة تنتهي بتحديد أول commit معطوب: هاشه وعنوانه وملفاته والفرق المسؤول عن الكسر، مع عدد الخطوات (≈ log₂ لعدد الـ commits)، تسبقها خطوة تحقق من صحة المرجعين وتليها خطوة git bisect reset واقتراح إصلاح واحد مرتبط بالتغيير المكتشف — دون اختراع أي هاش أو نتيجة خارج مخرجات git الفعلية.