Autofix
الإصلاح التلقائي طلب pull request يفتحه Polylane لحلّ شيء وجده. يحقق الوكيل أولاً، ثم يكتب التغيير على فرع ويفتح طلب pull request على GitHub؛ ويبقى الدمج بيدك.
ما الذي يفعله
تبدأ الإصلاحات التلقائية من ثلاثة أماكن. تطلب واحداً في محادثة، على سبيل المثال "افتح pull request يصلح هذا". أو تصل جولة إصلاح إلى سبب مؤكد في مستودع مربوط وتفتح الإصلاح في المحادثة نفسها. أو يقترح Polylane واحداً من تلقاء نفسه، مثل تحسينات قابلية الملاحظة التي يصوغها حين يُربط مستودع لأول مرة.
كيف يعمل
- التحقيق: يجمع الوكيل السياق من Topology وبيانات القياس والمستودع المتأثر.
- الفرع: ينشئ فرعاً على الفرع الأساسي للمستودع.
- الإصلاح: يكتب المنفّذ التغيير ويدفع commits.
- طلب pull request: يفتح طلب pull request واصفاً ما كان خطأً وما تغيّر، مربوطاً بالمحادثة أو المشكلة التي خلفه.
- مراجعتك: تقرر مراجعة الكود المعتادة لديك والتكامل المستمر الدمج. إغلاقه حصيلة صالحة، ويسجّلها Polylane.
الحالات
| الحالة | الوصف |
|---|---|
started | الجولة جارية. |
branch_pushed | الـ commits على الفرع وطلب pull request على وشك أن يُفتح. |
approval_required | تطلب مساحة العمل الإذن قبل بدء الإصلاحات التلقائية، فتنتظر هذه الجولة أن يبدأها أحد من محادثتها. |
pr_opened | طلب pull request مفتوح وينتظر مراجعتك. |
merged | دمجت طلب pull request. |
closed | أُغلق طلب pull request من دون دمج، من قِبلك أو من قِبل Polylane. |
failed | لم يستطع المنفّذ إنتاج إصلاح. |
no_fix_needed | خلص الوكيل إلى أنه لا شيء يستوجب التغيير. |
already_in_flight | تغطي جولة أخرى أو pull request مفتوح الإصلاح نفسه أصلاً. |
quota_exhausted | لا تستطيع مساحة العمل بدء جولة أخرى الآن. |
disabled | الإصلاح التلقائي موقوف لمساحة العمل. |
plan_rejected | رُفض الطلب قبل بدء الجولة. |
unreachable | لم يعد Polylane يستطيع قراءة المستودع، على سبيل المثال بعد إزالة GitHub App أو تعليقه. |
expired | تعطّلت الجولة بعد نافذتها الزمنية وأُغلقت. |
يمكن بدء الجولة المتخطاة من نظرتها العامة بـ Run anyway، والمنتهية أو الفاشلة بـ Run again، والمعلّقة بـ Approve and run. وتحت Settings > Workspace، تحمل بطاقة Autofix مفتاح Open autofix pull requests لمساحة العمل كلها وFixes Polylane starts on its own، حيث يعلّق Ask first الإصلاحات التلقائية حتى يبدأها أحد.
طلبات pull request المتروكة مفتوحة
لا ينتظر طلب pull request الذي يفتحه Polylane إلى الأبد. بعد أسبوع من دون نشاط، يرسل المسح الأسبوعي تذكيراً واحداً بالبريد الإلكتروني وفي Slack ويترك الملاحظة نفسها تعليقاً على طلب pull request؛ وحين لم يُطلب من أحد مراجعته، يُطلب ذلك من مالكي الكود الذي يمسّه. وطلب pull request الذي لا يرى شيئاً لأسبوع آخر بعد التذكير يغلقه Polylane مع تعليق يشرح السبب، ويبقى الفرع، فإعادة فتحه تعيد التغيير كما هو.
تُستثنى طلبات pull request المفتوحة أثناء ربط المستودع من التذكيرات والإغلاقات.
المنفّذون
المنفّذ هو وكيل البرمجة الذي يكتب الـ diff. لا يحتاج منفّذ Polylane الخاص إلى إعداد؛ ويمكنك بدلاً منه توجيه الإصلاحات التلقائية عبر وكيل برمجة تستخدمه أصلاً:
اربط Devin أو Cursor أو Factory أو Conductor تحت Settings > Integrations بمفتاح API الخاص بك، ثم فعّل Use Devin for all autofixes (أو المفتاح المكافئ على صفحة Cursor أو Factory أو Conductor) لجعله المنفّذ لكل إصلاح تلقائي في مساحة العمل. وإذا أُزيل ذلك التكامل أو عُطّل، تعود الإصلاحات التلقائية إلى منفّذ Polylane.
أين تجده
اقرأ الإصلاح التلقائي على المحادثة التي أنتجته. تعرض Lineage في الشريط الجانبي للمحادثة Autofix وPull request الخاص به، وتفتح عقدة الإصلاح التلقائي تبويبات Overview وDiff وSession وTimeline وProperties. ويقع Approve and run وRun again وسبب الإغلاق في نظرته العامة.
ذات صلة
- جولات الإصلاح للجولات التي تسلّم سبباً مؤكداً إلى الإصلاح التلقائي.
- مراجعات طلبات pull request للفحص الذي يحصل عليه كل pull request قبل دمجه.
- المستودعات لربط الكود الذي تكتب إليه الإصلاحات التلقائية.
- GitHub لربط مضيف الكود الذي تكتب الإصلاحات التلقائية عبره.