
CRUMB
Generative Game Studio · Demo
من فكرة لعبة في سطر واحد إلى مسوّدة قابلة للعب، مع عمل الوكلاء ظاهرًا ومتاحًا للتدخل.
CRUMB إطار تشغيل لاستوديو متعدد الوكلاء لنمذجة الألعاب الخفيفة.
خروج صامت صار قابلًا للملاحظة، وformatter مفقود اكتُشف عند التكامل
حالتان من مستودع العرض العام. وPlanner وBuilder وVerifier هم actors داخل العرض، لا وكلاء البرمجة في هذا العرض.
May 2, 2026
جُعل التشغيل الذي انتهى بـ exit 0 يُظهر هل أنجز عملًا فعلًا
قيد التطويرactors العرض
ملاحظة · نتيجة0 أحداث في الـ transcript · exit 0
- تسليم0 أحداث، ومع ذلك exit 0→ تمييز «انتهى لكنه لم يعمل» عن التقدم (المطوّر)
شخصالمطوّر
فعلتمييز «انتهى لكنه لم يعمل» عن التقدم
- تسليمالتشخيصات أولًا→ تشخيصات قبل الـ spawn وبعده: adapter · وجود prompt · exit · الوقت · حجم المُخرَج (تغييرات الشيفرة)
جلسة العملتغييرات الشيفرة
فعلتشخيصات قبل الـ spawn وبعده: adapter · وجود prompt · exit · الوقت · حجم المُخرَج
- تسليم→ commit 6341898 (المُخرَجات)
- تسليمالمُخرَج التشخيصي→ كان الـ planner ينتظر مُدخلًا (actors العرض)
المُخرَجاتالمُخرَجات
مُخرَجcommit 6341898
قيد التطويرactors العرض
ملاحظة · نتيجةكان الـ planner ينتظر مُدخلًا
- أُعيدانتظار المُدخل→ تمرير الهدف الحقيقي وتعليمة البدء · فحص reducer لشكل الـ prompt (تغييرات الشيفرة)
جلسة العملتغييرات الشيفرة
فعلتمرير الهدف الحقيقي وتعليمة البدء · فحص reducer لشكل الـ prompt
- تسليمالتشغيل التالي→ JSON فقط على stdout، ولم يُستدعَ event writer قط (actors العرض)
قيد التطويرactors العرض
ملاحظة · نتيجةJSON فقط على stdout، ولم يُستدعَ event writer قط
- أُعيدالبروتوكول غير محقون→ حقن وثيقة event protocol في الـ actors التي تُصدر أحداثًا (تغييرات الشيفرة)
جلسة العملتغييرات الشيفرة
فعلحقن وثيقة event protocol في الـ actors التي تُصدر أحداثًا
- تسليم→ commit 08ecb07 (المُخرَجات)
المُخرَجاتالمُخرَجات
مُخرَجcommit 08ecb07
- السياق
- انتهى تشغيل smoke حقيقي لعملية فرعية بلا أحداث في الـ transcript. ولم يكن exit 0 وحده كافيًا لمعرفة هل أُنجز العمل، فجاءت السجلات التشخيصية حول التشغيل أولًا، وبعد الإصلاح الأول ظهر إخفاق مختلف فأُصلح مرة أخرى.
- النتيجة
- فصلت السجلات التشخيصية «خرج بنجاح لكنه لم يعمل» عن التقدم، وأدى الإخفاق الباقي بعد الإصلاح الأول، عبر ملاحظة أدق، إلى الإصلاح الثاني.
- الحد
- لم يُعَد تشغيل عمليات تلك الفترة ولم تُستعَد سجلات تشغيلها الأصلية. ولا يُدرج النص الخام للتشخيص (معاينات المُخرَج وغيرها).
المصادر والحدود المتبقية
May 3, 2026
استُعيد formatter الموجز الذي فُقد أثناء دمج مسارَي عمل
جلسة العملمسار الموجز · التخطيط
فعل#140: إضافة formatter الموجز
- تسليم→ تجميع المسارين في تخطيط من أربعة أجزاء (التكامل)
جلسة العملمسار بطاقة التقييم · تفاصيل الأحداث
فعلعمل بطاقة التقييم (base قديم)
- تسليم→ تجميع المسارين في تخطيط من أربعة أجزاء (التكامل)
وكيل البرمجةالتكامل
فعلتجميع المسارين في تخطيط من أربعة أجزاء
- تسليمانحدار عند التكامل→ أرجع الـ base القديم formatter الخاص بـ #140 (التكامل)
وكيل البرمجةالتكامل
ملاحظة · نتيجةأرجع الـ base القديم formatter الخاص بـ #140
- أُعيدformatter مفقود→ استعادة formatter الخاص بـ #140 (التكامل)
وكيل البرمجةالتكامل
فعلاستعادة formatter الخاص بـ #140
- تسليمdiff مجمّع→ #145 (56f6f1b) · lint محلي · typecheck · test · build · فحص الشاشة (المُخرَجات)
المُخرَجاتالمُخرَجات
مُخرَج#145 (56f6f1b) · lint محلي · typecheck · test · build · فحص الشاشة
- تسليمتسليم للعمل اللاحق→ سجل التسليم: #142 يملكه مسار آخر · #146 قيد CI (المُخرَجات)
المُخرَجاتالمُخرَجات
مُخرَجسجل التسليم: #142 يملكه مسار آخر · #146 قيد CI
- السياق
- قُسّم عمل Studio إلى مسارات مثل الموجز والتخطيط، وبطاقة التقييم وتفاصيل الأحداث، والسمة. وبعد دمج #145، أدرج سجل التسليم للمسار التالي عملًا تملكه مسارات أخرى وعملًا لا يزال معلّقًا.
- النتيجة
- جمع #145 عمل بطاقة التقييم وتفاصيل الأحداث مع إصلاح التخطيط، فاستعاد formatter الموجز الذي كان قد أُرجع، وسجّل lint محليًا وtypecheck وformat وtest وbuild وفحصًا للشاشة.
- الحد
- لم يُعَد تشغيل الفحوص المحلية. ووقت سجل التسليم كان #146 لا يزال في CI ودُمج لاحقًا (109da28)، لذا لا تُرسم تلك اللقطة ناجحة. ولا تُسجَّل النماذج لكل مسار.