feat(guard): כלל-קשירה ל-INV-AG3 — השער דיווח תקין על allow-list שאיש אינו אוכף #429
Reference in New Issue
Block a user
Delete Branch "worktree-binding-check"
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?
הבעיה
כללים 1–4 משווים קבצים לקבצים, וזה לא אומר דבר על אכיפה. רשימת
tools:הופכת ל-allow-list רק כשה-runtime בוחר את הסוכן (--agent <name>); בלעדיו אותו קובץ בדיוק נמסר כ---append-system-prompt-file— פרוזה שהמודל רשאי לקיים או להתעלם ממנה — וכל 108 הכלים נשארים נגישים.התגלה 2026-08-05 בפאנל-מומחים:
legal-ceoנושא 41 הענקות בלי--agent. זו הרשימה הגדולה במערכת, והשער דיווח עליהOK— כי הוא מעולם לא הסתכל על הקשירה.שער שמדווח "תקין" על רשימה בלתי-נאכפת גרוע מהיעדר שער: הוא מייצר ביטחון-שווא. אני בניתי את השער אתמול והצגתי אותו כסוגר את הפער — זה תיקון של אותה הצהרה.
כלל 5 — host-only,
--check-bindingsמוודא ש-
extraArgsמכיל["--agent", <name>]התואם ל-instructionsEntryFile, בשתי החברות.למה opt-in ולמה psql בתת-תהליך: הקשירה יושבת ב-DB של הפלטפורמה, שה-CI לא רואה. הוספת תלות-דרייבר הייתה שוברת את תכונת ה-stdlib-בלבד שמסלול ה-CI נשען עליה. DB בלתי-נגיש מחזיר
[]— "לא נבדק", לא "אין הפרות" — וההבחנה מודפסת.מדווח רק על סוכנים שבאמת מצהירים הענקות; סוכן בלי
tools:אינו ממצא.והשער הפסיק לרמוז על אכיפה
במסלול ה-CI הוא מדפיס עכשיו במפורש מה לא נבדק, במקום
OKחשוף שמזמין את הקורא להסיק שהרשימות נאכפות.אימות
השער מציע את שתי החלופות (להוסיף
--agent, או למחוקtools:ולתעד כבלתי-מוגבל) ובמפורש לא שתיהן — כי זו הפרת G2. ההכרעה עצמה נדחית עד שיהיו נתונים על שימוש בפועל (אחרי #231.5).ניקוי
נמחק
.claude/agents/.generated/legal-ceo.nofm.md— עותק מ-13.6 מול קנוני מ-4.8, 7 שבועות דריפט. אומת לפני המחיקה: gitignored, מעולם לא תויק, ואף סוכן ב-DB לא מצביע עליו.Invariants