Chaim
85af98cded
G12 Leak-Guard / leak-guard (pull_request) Successful in 31s
Lint — undefined names / undefined-names (pull_request) Successful in 10s
feat(case-files): פאנל "קבצי-התיק" בטאב טיוטות — גישה מה-UI לכל תתי-התיקיות
היו"ר לא יכל לגשת לטיוטה שהסוכן שמר בדיסק (interim-decision-draft.md) אלא ב-SSH.
מימוש מוקאפ X17 מאושר (18m): פאנל דפדפן-קבצים בטאב "טיוטות והערות".
Backend (web/app.py) — הכללה של ה-endpoints הקיימים ל**כל** תת-תיקייה:
- `_case_file_folders` — מונה כל תת-תיקיית-תוכן תחת התיק (מקור/מחולץ/מחקר/הגהה/
טיוטות/גיבויים), רקורסיה שכבה אחת לתוך documents/, מדלג על מוסתרות (.git/.claude)
ו-thumbnails. `_resolve_case_file` מאמת folder-key מול הרשימה + חוסם path-traversal.
- `/local-files` מחזיר את כל התיקיות (כולל ריקות, עם files=[]); `/local-files/{folder}/{filename}`
מגיש מכל תיקייה עם media-type לפי סיומת.
Frontend:
- `lib/api/case-files.ts` — useCaseFiles / useCaseFileText / caseFileUrl.
- `CaseFilesBrowser` — עץ-תיקיות (אקורדיון, ריקות מסומנות "ריק") + viewer מובנה
ל-md/txt (Markdown הקיים) + הורדה לכל קובץ. נטען בטאב "טיוטות והערות".
אין response_model → אין תלות ב-api:types (מודול טיפוסים בכתב-יד).
Invariants: G1, G2 (אין מסלול-קבצים מקביל — מכליל את הקיים), אבטחת-נתיב.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:30:42 +00:00
..
2026-07-07 15:48:26 +00:00
2026-07-07 17:30:42 +00:00
2026-06-30 19:31:21 +00:00
2026-06-20 18:57:43 +00:00
2026-06-08 07:32:48 +00:00
2026-06-30 17:35:52 +00:00
2026-06-20 18:57:43 +00:00
2026-04-11 15:49:24 +00:00
2026-06-06 09:36:51 +00:00
2026-06-08 08:14:23 +00:00
2026-07-05 06:52:17 +00:00
2026-06-11 20:47:32 +00:00
2026-06-11 20:47:32 +00:00
2026-07-06 12:31:30 +00:00
2026-05-03 18:05:51 +00:00
2026-06-08 05:13:09 +00:00
2026-06-12 10:50:12 +00:00
2026-07-05 09:42:09 +00:00
2026-04-15 16:30:39 +00:00
2026-06-20 12:28:38 +00:00
2026-07-07 04:44:50 +00:00
2026-05-04 17:23:48 +00:00
2026-06-17 11:32:32 +00:00
2026-06-20 14:54:12 +00:00
2026-04-11 19:20:45 +00:00
2026-07-05 12:16:35 +00:00
2026-04-11 16:09:09 +00:00
2026-06-17 04:30:43 +00:00
2026-06-30 11:18:56 +00:00
2026-04-11 17:33:33 +00:00
2026-06-11 20:47:32 +00:00
2026-06-28 22:59:31 +00:00
2026-07-05 07:19:14 +00:00