يحدّد وضع المراجعة هل يسألك وكيلك قبل أن يحفظ تغييرات التوثيق في commit:
required(الافتراضي): يعرض عليك الوكيل فروقات التوثيق (diff) وينتظر موافقتك قبل الـ commit.auto: يحدّث الوكيل التوثيق ويحفظه في commit ويرفعه من دون أن يسأل.
اضبطه بـ LARECIPE_REVIEW=auto في .env، أو اختره في المثبّت:
php artisan larecipe:install --review=autoثم شغّل php artisan larecipe:agents، لتذكر كتلة AGENTS.md ذلك (ومع Laravel Boost، php artisan boost:update). أما خطّاف pre-push فيقرأ الإعدادات مع كل push ولا يحتاج إلى شيء.
وفي الحالتين، يبقى تغيير التوثيق داخل الـ pull request الخاص بك، ولكل تغيير مراجعة (revision) محفوظة، ونسبةٌ إلى من أجراه، ويمكن التراجع عنه بخطوة واحدة.
أين تراه
required (الافتراضي) |
auto |
|
|---|---|---|
كتلة AGENTS.md |
"Review mode is required: show the user the docs diff and wait for approval before committing it." |
"Review mode is auto: update the docs and push without asking." |
| رسالة خطّاف pre-push | "...run php artisan larecipe:validate, show the user the docs diff and wait for approval, then commit and push again." | "...run php artisan larecipe:validate, then commit and push again." |
| المهارات | اتبع الوضع المذكور في AGENTS.md: اعرض الفروقات وانتظر. |
اتبع الوضع المذكور في AGENTS.md: احفظ في commit وارفع. |
الإعداد هو review في config/larecipe.php. ويمكن لكل مجموعة أن تختار وضعها الخاص بـ 'review' => 'auto' في إدخالها تحت sets. اكتب القيمة بأحرف صغيرة: فأي قيمة غير auto تُعدّ required.
ومع عدة مجموعات توثيق، لا تقول كتلة AGENTS.md إن الوضع auto إلا حين تكون كل المجموعات auto، وتطلب رسالة الخطّاف الموافقة حين تنتمي أي صفحة قديمة إلى مجموعة required. وعند الشك، يسأل الوكيل.
في الـ pull request، الـ pull request هو المراجعة
تغيير التوثيق الذي يصل داخل pull request يُراجَع هناك، مع الكود، في الوضعين. فالوضع auto لا يتخطّى الـ pull request أبدًا؛ بل يتخطّى السؤال في جلستك.
- مجموعة المستودع: التغييرات ملفات Markdown في الفرع. ودمجها هو نشرها.
- مجموعة قاعدة البيانات: تنتقل التغييرات على شكل ترحيل التوثيق الخاص بالفرع. وحين يطبّقه
php artisan migrateعند النشر، تُنشر تغييراته. وإن تغيّرت صفحة في الإنتاج بعد كتابة الترحيل، فلا يستبدلها الترحيل أبدًا: تنتظر نسخته على شكل مسودة تعارض حتى يحسمها شخص.
خارج الـ pull request: مسودات أو مراجعات منشورة
لا تقبل التغييرات من خارج الـ pull request إلا مجموعة قاعدة البيانات، مثل التغييرات من وكيل على خادم MCP عبر الويب، أو من larecipe:sync على الإنتاج. وهناك يحدّد الوضع ما يُنشر: تحت required ينتظر تغيير الوكيل على شكل مسودة حتى ينشره شخص، وتحت auto يُنشر فورًا. أما مجموعات المستودع فلا تقبل مثل هذه التغييرات أبدًا: فمكان تغييراتها هو git.
من ينشر ماذا، وكيف تفعّل أدوات التأليف عبر الويب
| من يجري التغيير | required |
auto |
|---|---|---|
| وكيل يستخدم أدوات التأليف في خادم MCP عبر الويب | مسودة | منشور |
larecipe:sync حين يكتب مباشرة في مجموعة قاعدة البيانات |
مسودة | منشور |
| شخص في لوحة الإدارة | منشور، أو مسودة إن اختار ذلك | كذلك |
ترحيل توثيق يطبّقه php artisan migrate |
منشور | كذلك |
| جلسة البرمجة المحلية لديك، عبر خادم MCP المحلي | يُطبَّق على قاعدة بياناتك المحلية ويُكتب في ترحيل التوثيق الخاص بالفرع | كذلك |
يرفض خادم MCP عبر الويب أدوات التأليف لمجموعات المستودع. وفي مجموعة قاعدة البيانات تكون متوقفة افتراضيًا: فعّلها بـ mcp.web.author_tools، ولا يستخدمها إلا مستدعٍ مسجّل الدخول تسمح له البوابة (gate) manageLarecipe:
// config/larecipe.php
'sets' => [
'handbook' => [
// route, source and access as usual
'mcp' => ['web' => ['author_tools' => true]],
],
],تذكر كل أداة تأليف ما حدث في outcome الخاص بها: published، أو drafted، أو conflicted (تغيّرت الصفحة منذ قرأها الوكيل)، أو unchanged، أو rejected (أخطاء تحقق؛ لم يُكتب شيء). وتعيد معه المراجعة وتقرير التحقق. راجع خادم MCP.
تنتظر المسودات في قائمة مراجعة حتى ينشرها شخص أو يرفضها. والنشر يتحقق من المسودة مرة أخرى أولًا، لأن القواعد قد تكون تغيّرت منذ كُتبت. وتعمل على القائمة في لوحة الإدارة، في قائمة المراجعة (The pass)، حيث يمكن للمراجع أيضًا أن يعدّل المسودة قبل نشرها. وتحت auto، تسرد قائمة المراجعة ما نشره الوكلاء مؤخرًا، وكلٌّ منه على بُعد نقرة واحدة من التراجع.
تفاصيل
مراجعات محفوظة، ونسبة إلى صاحبها، وإمكانية تراجع، في كل وضع
- مراجعات محفوظة. في مجموعة المستودع، كل تغيير هو commit. وفي مجموعة قاعدة البيانات، كل تغيير صفٌّ في
larecipe_revisionsيحمل الحالة الكاملة التي يؤدي إليها، ولا يُعدَّل بعد ذلك أبدًا إلا في حالة مراجعته. - نسبة إلى صاحبها. في مجموعة المستودع، يقرأ LaRecipe آخر تغيير من git: راجع بيانات التحديث (provenance). وفي مجموعة قاعدة البيانات، تسجّل كل مراجعة هل أجراها شخص أم وكيل (ويُسمّى الوكيل باسم عميل MCP الخاص به)، والقناة التي جاءت منها (
pull_requestأوadmin_uiأوremote_agentأوsyncأوmigration)، وترحيل التوثيق، وملخصًا من سطر واحد. وتعرض الصفحات ذلك في بيانات التحديث. - إمكانية التراجع. في مجموعة المستودع، تراجع عن الـ commit. وفي مجموعة قاعدة البيانات، يعيد التراجع مراجعة سابقة على شكل مراجعة منشورة جديدة، ويَسِم المراجعة التي يحلّ محلّها بأنها متراجَع عنها، فيُظهر السجل ما حدث بالضبط، ويمكن التراجع عن التراجع نفسه.
التالي
- خطّاف pre-push: حيث يظهر الوضع لحظة الـ push.
- مصدر قاعدة البيانات: تعمّق أكثر في المسودات والمراجعات ولوحة الإدارة.