refactor(web-ui): פירוק התנגשות-שם של Paperclip agent DTO + גבול-פלטפורמה מוצהר (R3, G12, #112) #176
Reference in New Issue
Block a user
Delete Branch "worktree-web-ui-platform-types"
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?
מה ולמה
R3 (G12) — עם תיקון-היקף בעקבות ממצא:
הממצא: התוכנית המקורית (namespace ל-
paperclip.*בתוךtypes.ts) בלתי-ישימה —types.tsנוצר-אוטומטית מ-OpenAPI ("Do not make direct changes"); 39 הפניות-Paperclip שם רק משקפות את ה-API של ה-backend (נשלט ע"י מודלי-Pydantic, לא ע"י הפרונט). הפרונט אינו שכבת-אינטליגנציה — שאר ההפניות הן הצגת-נתוני-פלטפורמה (activity feed, קישור-דאשבורד, סטטוס-ארכוב) או UI-ניהול מוצהר (paperclip-tab/agents-tab/paperclip-agents.ts) — כולן shell-adjacent לגיטימי תחת G12.הבעיה האמיתית-והישימה שתוקנה: התנגשות-שם —
PaperclipAgentהוגדר פעמיים עם shapes שונים: config מלא (paperclip-agents.ts) מול activity קל (agents.ts). פוצל: ה-activity-DTO →PaperclipAgentStatus; ה-config שומרPaperclipAgent. הוסף comment-כותרת שמסמן אתagents.tsכמודול הצגת-פלטפורמה מוצהר.מזין את R4 (#113): ה-leak-guard חייב להחריג קבצים-נוצרים (
types.ts) ולא לכלול את הפרונט בהיקף שכבת-האינטליגנציה המוגנת (זוmcp-server/src+ ה-Port ב-backend).Invariants — הצהרה (חובה)
צ'קליסט — פרוטוקול כתיבת-קוד
אימות
🤖 Generated with Claude Code
ממצא: התוכנית המקורית (namespace ל-paperclip.* ב-types.ts) בלתי-ישימה — types.ts נוצר-אוטומטית מ-OpenAPI ("Do not make direct changes"); הפניות-Paperclip שם רק משקפות את ה-API של ה-backend, ונשלטות ע"י מודלי-ה-Pydantic, לא ע"י הפרונט. הפרונט אינו שכבת-אינטליגנציה — הפניות-Paperclip בו הן הצגת-נתוני-פלטפורמה (activity feed, קישור לדאשבורד, סטטוס-ארכוב) או UI-ניהול מוצהר (paperclip-tab/agents-tab) — כולן shell-adjacent לגיטימי תחת G12. הבעיה האמיתית-והישימה: התנגשות-שם — `PaperclipAgent` הוגדר פעמיים עם shapes שונים (config ב-paperclip-agents.ts מול activity ב-agents.ts). פוצל: ה-activity-DTO → `PaperclipAgentStatus`; ה-config שומר `PaperclipAgent`. + הערת-כותרת שמסמנת את agents.ts כמודול הצגת-פלטפורמה מוצהר. מזין את R4 (#113): leak-guard חייב להחריג קבצים-נוצרים (types.ts) ולא לכלול את הפרונט בהיקף שכבת-האינטליגנציה המוגנת. אימות: tsc --noEmit נקי; eslint נקי על הקבצים ששונו. Invariants: G12 (גבול-פלטפורמה מוצהר בפרונט), G2 (הסרת שם-טיפוס כפול-משמעות). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>