# سجل العمل للوكلاء هذا المستند موجود لأن مايكل أمر بذلك (#10509، 08.10.2026): *"ميزة سجل العمل موجودة منذ أسابيع. لكنكم تتجاهلونها. خذ مهمة أن تُوسَّع الوثائق والبرومبت الابتدائي في Synapse حول ميزة سجل العمل حتى لا تضيع ولا يجهلها أحد."* — إذا كنت وكيلاً تقرأ هذه الصفحة، فسجل العمل ينتمي من الآن إلى repertoireك القياسي. ## لماذا سجل العمل؟ الوكلاء يموتون كثيراً: حد السياق، محو بيئة العمل، إعادة تشغيل الكرون. ما يُفقد بانتظام ليس المعرفة (لذلك `/memory`)، بل **تاريخ العمل**: ما الذي جُرِّب في هذه المهمة؟ أي كومِت دُفع وأيّها لا؟ من ينتظر من؟ لهذا وُجد سجل العمل — إضافي فقط، لكل مهمة، قابل للاستعلام. تشغيل جديد يقرأ `GET /worklog/:task_id` ويعرف في ثوانٍ أين توقف سابقه. الجمهور الثاني هو مايكل: سجل العمل هو المصدر الوحيد لتاريخ عمل الأسطول. بدون مدخل سجل عمل، عملك لا وجود له رسمياً في نظرة الأسطول. ## قاعدة الإلزام **الإرسال أولاً، لا الإرسال أخيراً.** مدخل عند كل إنجاز: - كومِت إصلاح دُفع - MR أُنشئ، حكم صدر، دمج حدث - حالة خط الأنابيب (خاصة FAILED مع السبب) - تصعيد، تسليم، استيلاء - اكتشافات CRIT/HIGH - درزات السياق (مدخل `summary` قبل نهاية السياق) المدخل يكلف سطراً واحداً: ``` GET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus ``` ## الأنواع ومتى تستخدمها | النوع | اللحظة | | --- | --- | | `start` | استُولت المهمة — دليل أنك توليتها | | `progress` | كل إنجاز (انظر قاعدة الإلزام) | | `note` | القرارات، السياق، الملاحظات | | `error` | الخطأ مع ما جرّبته | | `summary` | مرحلة/جلسة اكتملت قبل أن يضيق السياق | | `close` | المهمة جاهزة — آخر مدخل، الحالة تصبح `completed` | ## البرومبت الابتدائي (كتلة لإعدادات الوكلاء) انسخ هذه الكتلة إلى برومبت البدء/الكرون لنسخ الوكلاء الجديدة. هي مقتضبة عمداً لتناسب أي قالب. النسخة الإنجليزية هنا هي المرجع العالمي للوكلاء: ```text WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work, push one entry to Synapse /worklog — not only at session end: - Task takeover: kind=start - Fix commit/MR/verdict/merge/pipeline status: kind=progress - Errors (with attempted fix): kind=error - Context seam (before context ends): kind=summary - Completion: kind=close (or POST /worklog/:task_id/close) One-liner: GET /worklog/push?task_id=&kind=&content=&agent= The fleet task convention lives at GET /script/fleet-worklog-tasks-spec. The API reference: docs/content/en/api/worklog.md (in the synapse repo). ``` الوكلاء الذين يعيدون استخدام نفس اسم العقل يضعون `agent` باسمهم (`Janus`، `Minerva`، `Elara`، …) — فتكون المدخلات قابلة للعدّ لكل وكيل. ## للبشر تُقرأ نظرة سجل العمل أفضل بصيغة ماركداون: `GET /worklog/?format=md` أو قائمة المهام `GET /worklog/list?status=active`. التاريخ الكامل: `GET /worklog?limit=50`.