تخطَّ إلى المحتوى

الأوضاع

الوضع خاصية من خصائص المساحة، يُخزَّن عمودًا واحدًا في صفها. كل محادثة داخل المساحة تشترك فيه، والخيوط كذلك: يرث الخيط وضع مساحته كما تفعل أي محادثة أخرى. لذلك قد يكون الوكيل نفسه في أوضاع مختلفة، في مساحات مختلفة، في الوقت نفسه، وتبديل وضع المساحة يغيّر ما يجري في الجولة التالية من غير أن يمس الوكيل.

هناك أربعة بالضبط: chat وreview وplan وorchestrate. التعداد نفسه لا يحمل سياسة. كل ما يضمنه الوضع يُعلَن مرة واحدة في ملف تعريف القدرات، وتشتق منه كل طبقة فرض ما تفرضه:

  1. سطح الأدوات: أي الأدوات توجد أصلًا في هذا الوضع، بمستوى موافقة أقصى، وقائمة سماح، وقائمة منع، ومجموعة أصناف أثر مرفوضة.
  2. فعل الإخراج المطلوب: ما يجب أن يستدعيه التشغيل ليُعدّ قد سلّم شيئًا.
  3. أصناف الأثر المرفوضة: ما ترفضه ضوابط الإجراء رفضًا مباشرًا.
  4. وضعية شجرة العمل: أتجوز الكتابة في شجرة العمل. يُفرض ذلك بنزع أدوات التعديل من السطح، وهذا ما يجعل القيد يصمد على كل مضيف. إذا كان للمضيف بيئة نظام تشغيل معزولة، تحدّد الوضعية نفسها قواعد الكتابة في نظام الملفات أيضًا، فيركّب وضع القراءة فقط شجرة العمل للقراءة فقط. هذه نسخة ثانية من الضمان، وليست النسخة التي تنجز العمل.
  5. كتلة موجّه النظام: تمهيد مُولَّد للقدرات، يُشتق من قائمة الأدوات المتحققة فعلًا، ويُضاف إليه توجيه مكتوب باليد.

تشتق كل طبقة فرض من هذا الملف الواحد، فلا يستطيع سطح الأدوات وضوابط الإجراء ووضعية شجرة العمل والمطالبة أن تختلف.

الدردشة، وتُعرض باسم «الوكيل»

قسم بعنوان “الدردشة، وتُعرض باسم «الوكيل»”

هو الوضع الافتراضي، والوحيد بلا قيود زائدة: سطح الأدوات كامل حتى مستوى التنفيذ، وشجرة عمل قابلة للكتابة، ولا أصناف أثر مرفوضة، ولا عقد إكمال. يُستخدم للتنفيذ وإصلاح الأخطاء والأسئلة عن الشفرة وكل عمل غير مخطط له.

لاحظ التسمية: في حقل الكتابة يُعرض الوضع باسم «الوكيل» لا «دردشة».

التخطيط: قراءة فقط، وتسليم واحد

قسم بعنوان “التخطيط: قراءة فقط، وتسليم واحد”

يجعل وضع التخطيط شجرة العمل للقراءة فقط، وينزع أدوات الكتابة من السطح بالكامل، فيصير القيد في البنية لا في التعليمات. يقرأ الوكيل ويبحث ويستقصي، ويسلّم شيئًا واحدًا بالضبط: استدعاء submit_plan يحمل مخطط تبعية مُنمَّطًا، فيه هدف وعُقد بمفاتيح وعناوين وأوصاف، ومفاتيح العُقد التي تعتمد عليها كل عقدة.

تظهر الخطة صفًا مختصرًا في المحادثة، وتفتح استوديو الخطط في لسان إلى جوارها. الموافقة عليها تحوّل المخطط إلى تنسيق، وتشغّل العمل المولَّد، وتعيد مساحة التأليف إلى وضع الوكيل.

إذا انتهى تشغيل في وضع التخطيط ولم يستدعِ submit_plan قط، تحقن الحلقة أولًا تنبيهًا يقول إن الخطة لا توجد حتى ينجح ذلك الاستدعاء. يُجيز التنبيه خروجًا صادقًا مفاده أن لا حاجة إلى خطة هنا، لأن وضع التخطيط إعداد للمساحة، والسؤال العادي داخله لا يفرض خطة صورية.

هناك مخرج ثانٍ مستقل: exit_plan_mode. هو بوابة موافقة صارمة، لا فعل إخراج. الوكيل الذي يستدعيه بدل submit_plan لم يسلّم شيئًا. الاستدعاء الأول يفتح موافقة plan_exit دائمة ويعيد pending، وتبقى المساحة للقراءة فقط. تبقى الاستدعاءات التالية على pending ولا تفتح بوابة ثانية. لا ينقلب وضع المساحة إلى الدردشة إلا بعد منح الموافقة، وذلك في استدعاء لاحق. الرفض يتيح للوكيل فتح طلب جديد لخطة منقَّحة.

للخروج من وضع التخطيط بنفسك، بدّل قائمة الوضع في حقل الكتابة (أو Shift+Tab). يُحسم exit_plan_mode بأداة MCP decide_approval. صفوف «موافقة الوكيل» في الوارد أمر مختلف: مطالبات تأكيد في كل جولة، من وكيل قيد التشغيل.

المراجعة: قراءة فقط، وبلا عقد

قسم بعنوان “المراجعة: قراءة فقط، وبلا عقد”

وضع المراجعة لمراجعة طلبات السحب. يجعل شجرة العمل للقراءة فقط، ويضع سقف سطح الأدوات تحت مستوى التنفيذ، ويطبّق قائمة سماح منتقاة لأدوات المراجعة والتذاكر والتواصل. المساحة التي تُفتح لطلب سحب تُنشأ في وضع المراجعة تلقائيًا.

مخرجات الوكيل نتائج منظَّمة، هي عُقد مراجعة، وعند إنهاء المراجعة حكم. تحمل العقدة نوعًا (bug أو suggestion أو recommendation أو question أو ticket)، وأولوية من P0 (تمنع الإصدار) إلى P3 (تحسين مرغوب)، وثقة يقدّرها الوكيل بنفسه، ومرساة اختيارية (ملف مع نطاق أسطر، وملاحظات المستودع كله بلا مرساة)، وحالة دورة حياة تنتقل من open إلى consensusReady متى أكّدها قرين، لا المؤلف. النتيجة التي تغيب أولويتها أو ثقتها، أو تخرج إحداهما عن المدى، تُسقَط عند حد القراءة حتى لا تلوّث الحكم.

الحكم هو Ship أو Hold أو Block، ولا تجعله نتائج المحاور المطوية فيه إلا أشد: محور عليه بوابة وفشل يفرض block، ومحور عليه بوابة ولم يستطع العمل يفرض hold على الأقل. غياب الدليل لا يحوّل البوابة إلى خضراء.

بخلاف التخطيط والتنسيق، لا تحمل المراجعة عقد إكمال. تتراكم النتائج عبر add_review_node وتنشرها finalize_review، ويجوز، عن حق، ألا تُستدعى أي منهما ولا مرة. فوكيل خط أنابيب في وضع المراجعة قد يكون هناك لينجز تذكرة.

التنسيق: قراءة فقط، ويقترح فريقًا

قسم بعنوان “التنسيق: قراءة فقط، ويقترح فريقًا”

يحوّل وضع التنسيق هدفًا واحدًا إلى خطة للفريق كله. هو مثل وضع التخطيط للقراءة فقط، ولا يستطيع كتابة الملفات. فوق سطح البحث يملك فعلًا مميّزًا واحدًا، propose_orchestration، يُصدر به اقتراحًا منظَّمًا: أدوارًا، وشجرة تذاكر فرعية، وخطوة تركيب، وميزانية. لا تسمّي المطالبة إلا أدوات السطح، فلا يصرف النموذج جولات في سرد توظيف أو عمل تذاكر لا يستطيع استدعاءه.

لا يُنفَّذ شيء من الاقتراح حتى توافق عليه. عند الموافقة يوظّف المُجسِّد الحتمي الوكلاء، وينشئ التذاكر ومشروعًا، ويشغّل خط أنابيب مولَّدًا. الموافقة للمشغّل وحده: لا توجد أداة MCP تنفّذها، فالوكيل يقترح ولا يوافق على خطته. إعادة الاقتراح بمبادرة الوكيل مقيّدة بفترة تهدئة من دقيقتين، فتُرفض إعادات التخطيط المتتالية ويُطلب منها أن تتجمّع في اقتراح واحد. انظر التنسيق.

فعل الإخراج الخاص بالوضع لا يُرفض أبدًا. submit_plan وpropose_orchestration مثبَّتان في سطح الأدوات، وموافَق عليهما مسبقًا بما يتجاوز مرشّح الأدوات وبوابة الموافقة وضوابط الإجراء معًا، فلا يملك ضبط الاستقلالية في المساحة أن يُسكت ما يسلّمه الوضع. ask_user في الإطار المضمّن مثبَّت للسبب نفسه: فهو وسيلة بلوغ التشغيل إلى المشغّل، ووضع بوابة عليه يُدخل التشغيل الذي يحتاج إلى سؤال في طريق مسدود. هو في مستوى القراءة، فيحتفظ به كل وضع للقراءة فقط، وهو معفى من غلاف الموافقة. مطالبة أمام مطالبة تفشل مغلقة إذا لم يكن هناك معتمِد متصل، وذلك يمنع الوكيل من فعل السؤال.

أوضاع القراءة فقط لا تمنع الوصول إلى الشبكة ولا إلى الأسرار. أصناف الأثر التي ترفضها المراجعة والتخطيط والتنسيق هي التي تغيّر العالم: حذف الملفات، والكتابة خارج شجرة العمل، والإيداع، والدفع، وإنشاء طلبات السحب ونشرها، وكتابات مزامنة المزوّد، وتثبيت الحزم، وإنشاء العمليات، وتعديل مساحة العمل، والتحكم في الحاوية المعزولة. يبقى خروج الشبكة والوصول إلى الأسرار على افتراضاتهما عن قصد، فالبحث هو غاية وضع القراءة فقط.

تعرض قائمة الوضع في حقل الكتابة ثلاثة خيارات: الوكيل (دردشة)، وتخطيط، والتنسيق. review لا يختاره المستخدم. يضبطه النظام عند إنشاء مساحة مراجعة طلب سحب، وتضبطه خطوات خط الأنابيب.

عقدة خط أنابيب تفتح مساحة تستطيع أن تثبّت وضع تلك الغرفة بمفتاح extras['mode'] (chat أو review أو plan). المفتاح مطابقة تامة: أي إملاء آخر، بما في ذلك orchestrate، يُتجاهل في صمت، وتحصل الغرفة على افتراضي الجسم (review في جسم إنشاء المساحة). خطوة الوكيل تنضم إلى غرفة لم تنشئها، ولا تعيد منحها الأذونات.

الحسم نفسه بسيط. يقرأ المُرسِل عمود mode في المساحة. أما الإرسال بلا مساحة فيُحسم إلى chat: إرسال لمرة واحدة، أو استدعاء من سطر الأوامر، أو معرّف مساحة من مساحة عمل أخرى، وهذا الأخير غير موجود أصلًا في ملف قاعدة بيانات مساحة العمل هذه. يسري تغيير الوضع من الجولة التالية.

يبني الإطار المضمّن سطح أدوات الوضع ويفرضه. هو النقل الوحيد الذي يجعل الأداة غير مرئية لا مرفوضة بعد ظهورها، ويضع بوابة على كل استدعاء قبل تشغيله، ويراقب عقد إكمال.

على نقل Claude Code يُمرَّر أي وضع غير الدردشة بالشكل --permission-mode plan. يلتزم Claude بذلك عرفًا، وتعمل أدوات القراءة والكتابة والتحرير الخاصة به من غير رصد، ولا يفحص أوامر الصدفة إلا خطاف يقرأ سطر الأمر. لهذا النقل يبقى الوضع إرشادًا لا حدًا يفرضه Control Center. انظر نموذج الوكيل.

تقيّد قوائم السماح أدوات مستوى الكتابة فما فوق. مستوى القراءة في الإطار المضمّن يصل مع ذلك إلى أدوات لا تسمّيها أي قائمة. على Claude Code تُرفض الأداة التي تغفلها قائمة السماح، سواء أكانت لدى الخادم أم لم تكن.