fix(routing): הוראת-יו"ר תעבוד בדרך הטבעית — הערה פותחת הרצת-CEO #415
Reference in New Issue
Block a user
Delete Branch "worktree-natural-comment-routing"
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?
הבעיה
היו"ר כותב הוראה על תיק — והסוכן "מתעלם". ההרצה מדווחת
succeeded/exit_code=0, בלי שגיאה, ואפילו עולה כסף. זו הסיבה שזה שרד חודשים בלי שאף אחד שם לב.שתי סיבות-שורש בלתי-תלויות — שתיהן מאומתות מול ה-DB והלוגים
in_reviewומשויך לאדם. Paperclip עונהissue_assignee_changed→ "אעיר את הבעלים החדש" → הבעלים הוא אדם → אף סוכן לא מתעורר.payload.prompt, וה-runner קורא רקpayload.issueId.מדידה ב-DB: 18 מתוך 18 ה-wakeups שאי-פעם נשאו
payload.promptלא הגיעו לאף הרצה — 0% מסירה, מול 107,172 עםissueIdשעובדים. אימות ישיר: בלוג-ההרצה שנבלעה (27KB) אפס אזכורים של מספר-התיק, והמודל פותח ב-"This heartbeat has no scoped wake payload".התיקון
המסלול הטבעי (הערה בטאב-הסוכנים) מפרסם את ההערה בשרשור כרגיל וגם פותח הרצת-CEO עם ההוראה, דרך
pc_open_ceo_run— הפרימיטיב היחיד שאומת כמגיע לסוכן. אותו תיקון ל-interaction-response, שסובל מאותה תקלה בדיוק (החצי השני של #228).הוכחת-שטח: הרצתי את הפרימיטיב ידנית על 1043-02-26 → CMP-202. הסוכן עבד 25 דק' והרחיב את פרק טענות-הצדדים מ-3,212 ל-7,697 מילים. הניגוד מול המסלול השבור: לוג 538KB עם 12 אזכורי-תיק, מול 27KB ואפס.
Invariants
post_comment. הוא היה המסלול המקביל, זה ששותק. נשאר מסלול-מסירה אחד.mark_comment_routed) נחשף דרךagent_platform_port.pyבלבד;leak_guard.pyעובר.mark_comment_routedמסמן את ההערה כמנותבת כך שה-sweep לא יירה הרצת-סרק (~$1) על מה שכבר טופל — ה-CEO עונה על ה-issue-הילד, מה שמשאיר את ההורה בלי תשובת-סוכן ולכן "pending" לנצח בעיני ה-sweep.למה בצד ה-backend ולא בפלאגין
ניסיתי קודם לתקן בפלאגין. זה נכשל:
ctx.issues.requestWakeupמחזירmissing, expired, or unknown invocation scopeמתוך scheduled job, למרות ש-capabilityissues.wakeupמוצהר ומותקן. אותה שגיאה מפילה גםcompanies.list/issues.list/listCommentsבתוך ה-sweep — כלומר רשת-הביטחון עצמה לא אמינה, והשגיאות קיימות מ-08:42, לפני שנגעתי בכלום. התיקון הזה יושב ב-REST של legal-ai ולכן אינו חשוף לבאג.תיעוד
docs/paperclip-quirks.md§7 — כולל שתי מלכודות שנפלתי בהן: (א)issues.createשל ה-SDK עםassigneeAgentIdלא מעיר, בעוד ה-REST המקביל כן; (ב) באג ה-invocation-scope.בדיקות
leak_guard.py✓ · syntax + wiring של ה-Port ✓ ·web/tests/test_comment_target.pyנוגע רק ב-pick_default_comment_targetש��א שונתה. אין pytest על המארח (legal-ai רץ בקונטיינר) — אימות מלא מקצה-לקצה יבוצע אחרי הפריסה, בהערה אמיתית על תיק.TaskMaster:
legal-ai#228.🤖 Generated with Claude Code