Escalation primitive מדורג-חומרה בשער-הפלטפורמה (השראת Gastown gt escalate) #448

Open
opened 2026-08-05 11:01:16 +00:00 by chaim · 0 comments
Owner

What & Why

להוסיף פרימיטיב escalation מוצהר (CRITICAL/HIGH/MEDIUM) לשער-הפלטפורמה (X15/agent_platform_port) שמחליף את ריקוד ה"המתנה-לאדם" השביר (reassign-to-chaim + in_review + interaction) שמייצר לולאות stranded_assigned_issue.

הקשר ופירוט

מקור-השראה: Gastown gt escalate (github.com/gastownhall/gastown) — severity-routed escalation, Deacon→Mayor→Overseer.

הבעיה אצלנו (reference_paperclip_recovery_loops): "ממתין-לאדם" נגזר מצירוף שביר של status+assignee+comment-recency; חוסר-דיוק → source_scoped_recovery_action / stranded_assigned_issue / issue_continuation_needed בלולאה אינסופית (~כל 10 דק', burning budget). הפתרון הידני החוזר = human-owned end state {status:done, assigneeAgentId:null, assigneeUserId:chaim}.

מטרה: להפוך את זה מ-heuristic ידני ל-disposition מוצהר first-class בשער.

  • API/פורט: escalate(issueId, severity, reason) שמבצע את מעבר-המצב האטומי הנכון פעם אחת (assigneeAgentId:null + assigneeUserId:human + status) במקום שכל heartbeat ינחש.
  • לוודא G12: כל מגע-Paperclip רק ב-web/agent_platform_port.py + המעטפת המוצהרת. אסור סמל ספציפי-Paperclip ב-mcp-server/src.
  • לחבר ל-HEARTBEAT: סוכן שנתקע קורא escalate במקום להשאיר issue in_progress+prose.
  • UI: תור-הסלמות מדורג ב-/operations או agents-tab (מקביל ל-gt escalate list).
    קשור: docs/spec/X15-agent-platform-port.md, reference_paperclip_recovery_loops, reference_recovery_loop_stranded_child.

Acceptance Criteria

⚠️ טרם הוגדרו. המשימה הועברה מ-TaskMaster ללא testStrategy.
לפני לקיחתה — להגדיר AC ולסמן status:ready (כלל התבנית: issue ללא AC אינו pickable).


הועבר מ-TaskMaster (tag legal-ai, id 218, status היה in-progress) ב-2026-08-05. הפניות (#218) בהודעות-commit ישנות מתייחסות למזהה ה-TaskMaster, לא למספר ה-issue הזה.

## What & Why להוסיף פרימיטיב escalation מוצהר (CRITICAL/HIGH/MEDIUM) לשער-הפלטפורמה (X15/agent_platform_port) שמחליף את ריקוד ה"המתנה-לאדם" השביר (reassign-to-chaim + in_review + interaction) שמייצר לולאות stranded_assigned_issue. ## הקשר ופירוט מקור-השראה: Gastown gt escalate (github.com/gastownhall/gastown) — severity-routed escalation, Deacon→Mayor→Overseer. הבעיה אצלנו (reference_paperclip_recovery_loops): "ממתין-לאדם" נגזר מצירוף שביר של status+assignee+comment-recency; חוסר-דיוק → source_scoped_recovery_action / stranded_assigned_issue / issue_continuation_needed בלולאה אינסופית (~כל 10 דק', burning budget). הפתרון הידני החוזר = human-owned end state {status:done, assigneeAgentId:null, assigneeUserId:chaim}. מטרה: להפוך את זה מ-heuristic ידני ל-disposition מוצהר first-class בשער. - API/פורט: escalate(issueId, severity, reason) שמבצע את מעבר-המצב האטומי הנכון פעם אחת (assigneeAgentId:null + assigneeUserId:human + status) במקום שכל heartbeat ינחש. - לוודא G12: כל מגע-Paperclip רק ב-web/agent_platform_port.py + המעטפת המוצהרת. אסור סמל ספציפי-Paperclip ב-mcp-server/src. - לחבר ל-HEARTBEAT: סוכן שנתקע קורא escalate במקום להשאיר issue in_progress+prose. - UI: תור-הסלמות מדורג ב-/operations או agents-tab (מקביל ל-gt escalate list). קשור: docs/spec/X15-agent-platform-port.md, reference_paperclip_recovery_loops, reference_recovery_loop_stranded_child. ## Acceptance Criteria > ⚠️ **טרם הוגדרו.** המשימה הועברה מ-TaskMaster ללא `testStrategy`. > לפני לקיחתה — להגדיר AC ולסמן `status:ready` (כלל התבנית: issue ללא AC אינו pickable). --- <sub>הועבר מ-TaskMaster (tag `legal-ai`, id **218**, status היה `in-progress`) ב-2026-08-05. הפניות `(#218)` בהודעות-commit ישנות מתייחסות למזהה ה-TaskMaster, לא למספר ה-issue הזה.</sub>
chaim added the area:agentsstatus:in-progresstype:featurepriority:p1-high labels 2026-08-05 11:01:16 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#448