fix(agents): ניתוב הערת-יו"ר לא ל-issue סגור — תמיד ל-CEO החי #412

Merged
chaim merged 1 commits from worktree-comment-routing-fix into main 2026-07-07 15:07:15 +00:00
Owner

הבעיה (חוזרת)

הקלדת הוראה בתיבת "כתוב הוראה לסוכנים..." בדף-התיק נבלעה בשקט. השרת (api_post_agent_comment) בחר את ה-issue היעד ב-active[-1] תוך סינון סטטוס done בלבד — לא cancelled. כאשר ה-child האחרון שנוצר בוטל, ההערה נותבה אליו, ו-Paperclip מדלג על wakeup ל-issue מבוטל → הסוכן לא מתעורר וההוראה נעלמת.

תרחיש חי (1027-04-26): ה-child "חישוב טיעונים משפטיים" (cancelled, נוצר 12:01) היה חדש יותר מה-issue הראשי-החי (in_review, 11:42), ולכן active[-1] בחר בו.

התיקון (G1 — נרמול במקור)

  • pick_default_comment_target חדש ב-paperclip_client.py: מעדיף את ה-issue הראשי-החי של ה-CEO (parent_id IS NULL + פתוח), נופל ל-issue פתוח כלשהו, ואז ל-top-level, ולעולם לא מעדיף child-סגור.
  • get_case_issues מחזיר כעת parent_id.
  • app.py מנתב דרך ה-picker ומחזיר issue_status (לסימון יעד-סגור ב-UI).
  • נחשף דרך ה-Port כ-pc_pick_default_comment_target (G12).
  • 6 בדיקות ל-picker כולל תרחיש 1027-04-26 המדויק (web/tests/test_comment_target.py).

Invariants

  • G1 — נרמול הבחירה במקור, לא תיקון-תסמין בקריאה.
  • G2 — אין מסלול-ניתוב מקביל; אותו endpoint, בחירה מתוקנת.
  • G12 — מגע-Paperclip נשאר דרך ה-Port.

המשך (לא ב-PR הזה)

בורר-יעד ב-UI (תיבת-רשימה + אינדיקציית יעד-סגור + "פתח הרצה חדשה") — עובר דרך שער-העיצוב (Claude Design) לפני הטמעה. issue_status בתגובת ה-API כבר תומך בכך.

🤖 Generated with Claude Code

## הבעיה (חוזרת) הקלדת הוראה בתיבת "כתוב הוראה לסוכנים..." בדף-התיק נבלעה בשקט. השרת (`api_post_agent_comment`) בחר את ה-issue היעד ב-`active[-1]` תוך סינון סטטוס `done` **בלבד — לא `cancelled`**. כאשר ה-child האחרון שנוצר בוטל, ההערה נותבה אליו, ו-Paperclip מדלג על wakeup ל-issue מבוטל → הסוכן לא מתעורר וההוראה נעלמת. תרחיש חי (1027-04-26): ה-child "חישוב טיעונים משפטיים" (`cancelled`, נוצר 12:01) היה חדש יותר מה-issue הראשי-החי (`in_review`, 11:42), ולכן `active[-1]` בחר בו. ## התיקון (G1 — נרמול במקור) - **`pick_default_comment_target`** חדש ב-`paperclip_client.py`: מעדיף את ה-issue הראשי-החי של ה-CEO (`parent_id IS NULL` + פתוח), נופל ל-issue פתוח כלשהו, ואז ל-top-level, ולעולם לא מעדיף child-סגור. - `get_case_issues` מחזיר כעת `parent_id`. - `app.py` מנתב דרך ה-picker ומחזיר `issue_status` (לסימון יעד-סגור ב-UI). - נחשף דרך ה-Port כ-`pc_pick_default_comment_target` (G12). - **6 בדיקות** ל-picker כולל תרחיש 1027-04-26 המדויק (`web/tests/test_comment_target.py`). ## Invariants - **G1** — נרמול הבחירה במקור, לא תיקון-תסמין בקריאה. - **G2** — אין מסלול-ניתוב מקביל; אותו endpoint, בחירה מתוקנת. - **G12** — מגע-Paperclip נשאר דרך ה-Port. ## המשך (לא ב-PR הזה) בורר-יעד ב-UI (תיבת-רשימה + אינדיקציית יעד-סגור + "פתח הרצה חדשה") — עובר דרך שער-העיצוב (Claude Design) לפני הטמעה. `issue_status` בתגובת ה-API כבר תומך בכך. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-07-07 15:06:42 +00:00
fix(agents): ניתוב הערת-יו"ר לא ל-issue סגור (cancelled) — תמיד ל-CEO החי
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 34s
Lint — undefined names / undefined-names (pull_request) Successful in 11s
67d5835eb8
בעיה חוזרת: הקלדת הוראה בתיבת "כתוב הוראה לסוכנים..." נבלעה בשקט. השרת בחר
את היעד ב-`active[-1]` תוך סינון `done` בלבד — לא `cancelled`. כשה-child האחרון
בוטל (למשל 1027-04-26: "חישוב טיעונים" cancelled שנוצר אחרי ה-issue הראשי),
ההערה נותבה אליו; Paperclip מדלג על wakeup ל-issue מבוטל → ההוראה לא הגיעה לאיש.

תיקון (G1 — נרמול במקור, לא תיקון-בקריאה):
- `pick_default_comment_target` חדש ב-paperclip_client — מעדיף את ה-issue הראשי
  החי של ה-CEO (top-level+open), נופל ל-open כלשהו, ואז top-level, ואף פעם לא
  מעדיף child-סגור. `get_case_issues` מחזיר כעת `parent_id`.
- app.py מנתב דרכו; מחזיר `issue_status` כדי שה-UI יוכל לסמן יעד-סגור.
- נחשף דרך ה-Port (G12) כ-`pc_pick_default_comment_target`.
- 6 בדיקות ל-picker (כולל תרחיש 1027-04-26 המדויק).

Invariants: G1 (נרמול-במקור), G2 (אין מסלול-ניתוב מקביל), G12 (מגע-Paperclip דרך ה-Port).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 0a5be942ba into main 2026-07-07 15:07:15 +00:00
chaim deleted branch worktree-comment-routing-fix 2026-07-07 15:07:15 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#412