Chaim
aa0a736a7b
feat(mcp): FU-14 GAP-48 פרוסה 1 — envelope אחיד (SSoT) + משפחת-חיפוש
INV-TOOL1: כלי-ה-MCP החזירו 3 מוסכמות סותרות (raw payload / {error} /
{status,message} אד-הוק) + 5 עותקי _ok/_err משוכפלים. נוצר tools/envelope.py
כמקור-אמת יחיד: ok/empty/err → {status,data,message}, כש-status מבחין
מפורשות הצלחה/ריק/שגיאה.
פרוסה 1 ממירה את משפחת-החיפוש (search_decisions, search_case_documents,
find_similar_cases, search_internal_decisions). web/app.py מפרק את המעטפת
דרך envelope_unwrap כדי לשמר את חוזה-ה-UI↔API (X6) ללא-שינוי — תשובת ה-HTTP
זהה (list על hits, {"message"} על ריק/שגיאה). טסט test_search_domain_scope
עודכן לחוזה החדש (5/5 עוברים).
החלטה: הדרגתי לפי-משפחה ולא big-bang. מפת-צרכנים: server.py pass-through,
web-ui מבודד (/api/*), רק 17 כלים נצרכים ישירות מ-app.py → סיכון מינימלי
לסוכנים החיים. ~73 כלים נותרו לפרוסות הבאות.
Invariants: מקדם INV-TOOL1 (envelope עקבי) + G2 (SSoT, ביטול כפילות _ok/_err).
לא נוגע ב-G1.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 16:32:07 +00:00
..
2026-05-26 08:34:40 +00:00
2026-05-04 06:38:47 +00:00
2026-04-12 23:29:16 +00:00
2026-06-06 16:32:07 +00:00
2026-06-01 04:34:23 +00:00
2026-05-17 12:57:54 +00:00
2026-05-03 18:43:41 +00:00
2026-04-04 14:19:17 +00:00
2026-06-06 13:08:21 +00:00
2026-04-30 14:54:21 +00:00
2026-04-04 14:19:17 +00:00
2026-04-12 23:29:16 +00:00
2026-04-28 16:41:25 +00:00
2026-04-28 16:41:25 +00:00
2026-04-28 16:41:25 +00:00
2026-05-17 16:29:58 +00:00
2026-04-27 07:26:45 +00:00
2026-05-17 16:29:58 +00:00
2026-05-10 05:58:52 +00:00
2026-04-09 14:33:27 +00:00
2026-04-12 23:29:16 +00:00
2026-04-12 23:29:16 +00:00
2026-04-12 23:29:16 +00:00
2026-06-03 12:30:38 +00:00
2026-06-06 13:08:21 +00:00
2026-04-04 14:27:07 +00:00
2026-04-04 14:27:07 +00:00
2026-04-15 10:44:42 +00:00
2026-04-30 18:23:32 +00:00
2026-04-04 14:19:17 +00:00
2026-04-26 19:38:17 +00:00
2026-05-03 20:16:13 +00:00