feat(plans): הרשאות-סוכנים + dedup/merge/edit + API לתור-אישור תכניות (backend) #253
Reference in New Issue
Block a user
Delete Branch "worktree-plans-followups"
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?
מה ולמה
Follow-ups למרשם-התכניות (#252) — חלק ה-backend (ללא-UI). ממשיך את 3 הבקשות של חיים: (2) לאפשר לסוכנים לקרוא לכלי-התכניות, (3) פאנל-אישור + מניעת-כפילות. ה-UI עצמו (טאב ב-/precedents + מונה ב-/approvals) יורד ב-PR נפרד אחרי שער Claude Design (feedback_claude_design_gate).
פריט 1 (תיקון-נתונים) כבר בוצע ישירות ב-DB:
הל/מח/250 ד'→ פורסמה 7.1.2002, י"פ 5045;152-0137067נשאר ללא תאריך (טרם אושר — הוראת-יו"ר).השינויים
.claude/agents/legal-ceo.md,legal-researcher.md): הוספתextract_plans/plan_get/plan_search/plan_list(+plan_upsertלחוקר).plan_reviewנשאר אנושי בלבד — אישור דרך הפאנל, לא דרך סוכן (G10)._plan_core_token+find_similar_plans(מציף כפילות-וריאנט לאישור ידני — בלי מיזוג-אוטומטי),update_plan(עריכה/תיקון + renumber, מסרב להתנגשות-מספר → מפנה ל-merge),merge_plans(איחוד aliases, מילוי-חוסר, סתירות→discrepancies, מחיקת המקור).possible_duplicatesלפלטextract_plans(הצפה, לא מיזוג).GET /api/plans(+/{id},/{id}/duplicates) ·POST /api/plans·PATCH /api/plans/{id}·POST /api/plans/{id}/review·POST /api/plans/merge; + קטגוריית "תכניות הממתינות לאישור" ב-GET /api/chair/pending(מרכז-האישורים).הכרעות-יו"ר
פאנל = טאב ב-/precedents + מונה ב-/approvals (לא עמוד נפרד — שער-אחד) · מניעת-כפילות = הצפה ידנית (chair merges), בלי מיזוג-אוטומטי.
Invariants — הצהרה (חובה)
update_planמנרמל plan_number בעריכה ומרנדר ציטוט מחדש.update_planמסרב התנגשות (לא יוצר כפילות שקטה).plan_reviewאנושי בלבד (לא ניתן לסוכן); מיזוג יזום-יו"ר; LLM-extracted נשאר pending.discrepancies; כפילות-וריאנט מוצפת ולא נבלעת.צ'קליסט — פרוטוקול כתיבת-קוד
אימות
find_similar_plansמציף וריאנט ("62" מול "תכנית מתאר מקומית מס' 62") ·update_plan(renumber+ציטוט) + guard התנגשות-מספר → מסרב ·merge_plans(aliases מאוחדים, מקור נמחק, discrepancies) → PASS + ניקוי.npm run api:types).הערה תפעולית: כלי-MCP אינם ב-
sync_agents_across_companies.py(שמסנכרן adapter_config/skills) — רשימת-הכלים חיה ב-.claude/agents/*.md(הגדרה משותפת). סוכני-Paperclip ירימו את הכלים בריצה הבאה; אם נדרשת התאמת-config צד-Paperclip — לבצע בנפרד.🤖 Generated with Claude Code