V2-CH1-003 — נעילת גבולות סמכות
כרך 2 · פרק 1 · משימה 003 · הוספת שדות חלופיים ל-authority_weight ונעילת גבולות סמכות (G4)
מטרת המסמך
יישום פער G4 מתוך V2-CH1-001: הוספת שדות חלופיים (analysis_role, reliability_profile) לישויות AgentProfile ו-AnalysisOutput, ונעילת גבולות הסמכות — וטו שמור ל-Risk Gate בלבד, אף סוכן או CIO אינם בעלי וטו. זהו התוצר השלישי והאחרון הנדרש לסגירת V2-CH1. השדות החדשים אופציונליים בלבד (Shadow) ואינם פוגעים בחוזים הנעולים של כרך 1.
טבלת גבולות סמכות — מי מורשה למה
| רכיב | סמכות | תחום | דטרמיניסטי |
|---|---|---|---|
| Risk Gate | וטו (veto) — חסימת ביצוע דטרמיניסטית | freeze, TTL, budget, canary, Decision state | כן |
| Approval | אישור אנושי/אוטומטי | pending → approved/rejected (TTL) | כן |
| CIO | הפקת Decision מחבילת ראיות | קריאת AnalysisOutput + Candidate → createDecision | LLM |
| Candidate | איסוף ודה-דופליקציה | הזדמנויות מזוהות → תור ניתוח | כן |
| סוכן ניתוח | הפקת AnalysisOutput | LLM → conclusion, confidence, evidence | LLM |
| executeTrade | ביצוע פקודה | פעולה בלבד — לאחר כל השערים | כן |
שדות חדשים — תוספתיים, אופציונליים
| ישות | שדה | סוג | ערכים / תיאור | קיים? |
|---|---|---|---|---|
| AgentProfile | analysis_role | enum | scanner / news / technical / financials / portfolio_risk תפקיד הניתוח של הסוכן. מבדיל בין סוגי סוכנים ללא הענקת סמכות. מחליף את הרעיון המבוטל של authority_weight. | חדש |
| AgentProfile | reliability_profile | object | { hit_rate: number, avg_confidence: number, last_evaluated: date-time } תיעוד היסטוריית דיוק הסוכן. מידע הסטורי בלבד — אינו מעניק סמכות החלטה או וטו. | חדש |
| AgentProfile | priority_class | enum | P0_PROTECTION / P1_ANALYSIS / P2_BACKGROUND סדר עדיפות בתור ניתוח. כבר קיים — אינו משתנה. | קיים ✅ |
| AnalysisOutput | analysis_role | enum | scanner / news / technical / financials / portfolio_risk העתק תפקיד הניתוח מהפרופיל לפלט. מאפשר לאיחוד ראיות להבדיל בין סוגי דעות. | חדש |
| AnalysisOutput | reliability_profile | object | { hit_rate: number, avg_confidence: number, last_evaluated: date-time } צילום מהימנות הסוכן בעת יצירת הפלט. קפוא ב-Snapshot. | חדש |
| AnalysisOutput | conflict_flag | enum | none / minor / major / unresolved סימון מחלוקת: כאשר דעות סותרות (BUY vs SELL) מאותו נכס. נדרש לטיפול במחלוקות (V2-CH5, G7). | חדש |
שדות אסורים — אינם מוגדרים באף ישות
authority_weight — מעניק סמכות החלטה לסוכן — נוגד את דוקטרינת ההחלטה (וטו שייך רק ל-Risk Gate).
veto_power — מעניק וטו לסוכן או CIO — שמור ל-Risk Gate הדטרמיניסטי בלבד.
decision_authority — סוכן אינו מייצר Decision במודל היעד — ה-CIO מפיק Decision מחבילת ראיות.
ראיות יישום
AgentProfile.jsonc: נוספו שדות analysis_role (enum) ו-reliability_profile (object) — אופציונליים. priority_class כבר קיים (כרך 1, CH4-002).
AnalysisOutput.jsonc: נוספו analysis_role, reliability_profile, conflict_flag — אופציונליים. candidate_id כבר נוסף ב-V2-CH2-001.
וטו מבוטל: אין שדה veto_power או authority_weight באף ישות. מאומת בקריאת קוד (V2-CH1-001).
קריטריוני קבלה
| מזהה | קריטריון | תוצאה |
|---|---|---|
| B1 | ישות AgentProfile מכילה שדה analysis_role (enum) ו-reliability_profile (object) אופציונליים. | PASS |
| B2 | ישות AnalysisOutput מכילה analysis_role, reliability_profile, ו-conflict_flag אופציונליים. | PASS |
| B3 | שדה priority_class קיים ב-AgentProfile ואינו משתנה — כבר ממופה מכרך 1. | PASS |
| B4 | שדות authority_weight, veto_power, decision_authority אינם קיימים באף ישות ואינם מוגדרים באף חוזה. | PASS |
| B5 | טבלת גבולות סמכות מתועדת: 6 רכיבים, לכל אחד authority + scope + deterministic. | PASS |
| B6 | Portfolio Risk מסווג כסוכן ניתוח (P0_PROTECTION) ואינו Risk Gate — מתועד מפורשות. | PASS |
| B7 | שינויים הם תוספתיים בלבד (שדות אופציונליים חדשים) — אינם פוגעים בחוזים הנעולים של כרך 1. | PASS |