מסלול-יקיצה יחיד להערת-יו"ר — יישור כלל-הניתוב ל-needs_ceo_run (legal-ai #772) #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & Why
ב-10.09.2026 הערת-יו"ר בודדת על CMP-324 הפעילה שתי ריצות-CEO במקביל שרצו 18 דקות זו לצד זו, יצרו שני issues לכותב על אותו בלוק, שתי רשומות
chair_feedback, ושני ייצואי DOCX זהים. תיעוד מלא: legal-ai #772.הראיה המדודה (Paperclip DB, סוכן 752cebdd)
issue_commented(נייטיבי)29f937ca(CMP-324)3aea82f1user_commented_on_CMP-324(הפלאגין)8ac0f2bbמחרוזת ה-reason היא בדיוק הפורמט של
routeCommentToCeo(src/worker.ts:707), כלומר המקור השני הואctx.agents.invokeשל הפלאגין.סיבת-השורש
src/worker.ts:801-812מדלג על הניתוב רק כאשרissue.assigneeAgentId === ceoAgentIdוגםpayload.reopened === true.done→ ההערה פתחה אותו מחדש →reopened=true→ הפלאגין דילג. תקין.in_review(פתוח, משויך ל-CEO) → איןreopened→ הפלאגין ניתב בנוסף ליקיצה הנייטיבית.הכלל הנכון כבר קיים ומדוד בצד legal-ai —
web/paperclip_client.py:714needs_ceo_run():כלומר: פותחים מסלול-מסירה משלנו בדיוק במקום שבו הנייטיבי מת — issue סגור, או issue שאינו משויך לסוכן. הפלאגין מממש כלל שני, צר יותר, לאותה החלטה — וזה ה-drift (G2).
Acceptance Criteria
issue.comment.createdבפלאגין מדלג עלctx.agents.invokeבכל issue פתוח (statusשאינוdone/cancelled) שמשויך לסוכן — לא רק כשה-reopened===true. הסימון (markCommentRouted) נשאר, כדי שה-sweep לא ישחזר את הכפילות.needs_ceo_runואינו מועתק כניסוח שלישי — או ע"י קריאה ל-legal-ai, או ע"י הערה מפורשת בקוד שמצביעה למקור-האמת ומתעדת שכל שינוי שם מחייב שינוי כאן.reopened→ איןagents.invoke, ישmarkCommentRouted.agents.invoke.pm2 restart paperclip, ואימות חי: הערת-יו"ר על issue פתוח משויך-CEO מייצרת wakeup אחד ב-agent_wakeup_requests.הערה
ctx.agents.invokeב-SDK מקבל{prompt, reason}בלבד (@paperclipai/plugin-sdk/dist/types.d.ts:1199) — אין אפשרות ל-scope את הריצה ל-issue. לכן "לא לירות כשהנייטיבי מכסה" הוא הפתרון היחיד בצד-הלקוח; ריצה לא-scoped נחסמת ממילא מכל כתיבת-בקרה (cross_issue_influence_run_context_required) ואינה יכולה אפילו לקבועblockedByIssueIds.