feat(mcp): FU-14 GAP-48 פרוסה 2 — envelope אחיד ל-11 משפחות-כלים #77

Merged
chaim merged 1 commits from fix/fu14-gap48-envelope-rest into main 2026-06-06 17:42:00 +00:00
Owner

מה

המשך GAP-48 (INV-TOOL1) מעבר למשפחת-החיפוש (#71). הומרו ל-{status,data,message} 10 משפחות נוספות (~55 כלים): precedent_library, citations, internal_decisions, missing_precedents, training_enrichment, precedents, legal_arguments, cases, documents, workflow. בוטלו 5 עותקי _ok/_err משוכפלים (alias ל-tools/envelope.py — SSoT, G2).

עיקרון

envelope-status משקף אם הקריאה לכלי הצליחה (ok/empty/error). תוצאה-עסקית (idempotent_existing, noop, completed...) נשמרת בתוך data. err רק לכשל אמיתי (not-found / invalid / exception).

תאימות-API — חוזה X6 נשמר

צרכני web/app.py של cases (create/get/update/delete), workflow (status/processing), precedents (attach/list/remove/search) חוּוטו דרך envelope_unwrap + status=="error"→4xx. תשובת-HTTP זההweb-ui לא מושפע. documents/legal_arguments/citations/… אינם נצרכים מ-app.py (agent-only).

בדיקות

  • 182/182 עוברים (test_corpus_constraints עודכן לחוזה החדש).
  • compile נקי לכל 11 הקבצים + app.py.

נותר ב-GAP-48

משפחת drafting (18 כלים — מסלול הפקת-ההחלטה הקריטי) בפרוסה נפרדת עם שער טסט-ייצוא (test_export_qa_gate).

Invariants

מקדם INV-TOOL1 + G2 (SSoT, ביטול כפילות). מתועד ב-X9 INV-TOOL1 + gap-audit FU-14 פרוסה 6. בוצע ב-worktree מבודד.

🤖 Generated with Claude Code

## מה המשך GAP-48 (INV-TOOL1) מעבר למשפחת-החיפוש (#71). הומרו ל-`{status,data,message}` **10 משפחות נוספות** (~55 כלים): `precedent_library`, `citations`, `internal_decisions`, `missing_precedents`, `training_enrichment`, `precedents`, `legal_arguments`, `cases`, `documents`, `workflow`. בוטלו **5 עותקי `_ok`/`_err` משוכפלים** (alias ל-`tools/envelope.py` — SSoT, G2). ## עיקרון envelope-`status` משקף אם **הקריאה לכלי** הצליחה (ok/empty/error). תוצאה-עסקית (`idempotent_existing`, `noop`, `completed`...) נשמרת בתוך `data`. `err` רק לכשל אמיתי (not-found / invalid / exception). ## תאימות-API — חוזה X6 נשמר צרכני `web/app.py` של cases (create/get/update/delete), workflow (status/processing), precedents (attach/list/remove/search) חוּוטו דרך `envelope_unwrap` + `status=="error"→4xx`. תשובת-HTTP **זהה** → **web-ui לא מושפע**. documents/legal_arguments/citations/… אינם נצרכים מ-app.py (agent-only). ## בדיקות - **182/182 עוברים** (`test_corpus_constraints` עודכן לחוזה החדש). - compile נקי לכל 11 הקבצים + app.py. ## נותר ב-GAP-48 משפחת `drafting` (18 כלים — מסלול הפקת-ההחלטה הקריטי) בפרוסה נפרדת עם שער טסט-ייצוא (`test_export_qa_gate`). ## Invariants מקדם **INV-TOOL1** + **G2** (SSoT, ביטול כפילות). מתועד ב-X9 INV-TOOL1 + gap-audit FU-14 פרוסה 6. בוצע ב-worktree מבודד. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-06 17:41:55 +00:00
המשך מיגרציית INV-TOOL1 מעבר למשפחת-החיפוש (#71). הומרו ל-{status,data,message}:
precedent_library, citations, internal_decisions, missing_precedents,
training_enrichment, precedents, legal_arguments, cases, documents, workflow
(~55 כלים). בוטלו 5 עותקי _ok/_err משוכפלים (alias ל-tools/envelope.py — SSoT, G2).

עיקרון: envelope-status = הצלחת-הקריאה-לכלי; תוצאה-עסקית (idempotent_existing,
noop, completed...) נשמרת בתוך data. err רק לכשל אמיתי (not-found/invalid/exception).

תאימות-API: צרכני web/app.py של cases/workflow/precedents חוּוטו דרך
envelope_unwrap + בדיקת status=="error"→4xx — תשובת ה-HTTP זהה, web-ui לא מושפע.
(documents/legal_arguments/citations/... אינם נצרכים מ-app.py — agent-only.)

בדיקות: 182/182 עוברים (test_corpus_constraints עודכן לחוזה החדש).
נותר: משפחת drafting (מסלול הפקת-ההחלטה) בפרוסה נפרדת עם שער טסט-ייצוא.

Invariants: מקדם INV-TOOL1 + G2 (SSoT, ביטול כפילות). מתועד ב-X9 + gap-audit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 9a3e7faf08 into main 2026-06-06 17:42:00 +00:00
chaim deleted branch fix/fu14-gap48-envelope-rest 2026-06-06 17:42:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#77