feat(mcp): FU-14 GAP-48 פרוסה 3 — envelope ל-drafting (סגירת GAP-48) #79
Reference in New Issue
Block a user
Delete Branch "fix/fu14-gap48-drafting"
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?
מה
הפרוסה האחרונה של GAP-48 (INV-TOOL1). 18 כלי
draftingהומרו ל-{status,data,message}— כולל מסלול הפקת-ההחלטה הקריטי (export_docx,revise_draft,write_block, ...).עיקרון
export_docx/revise_draft/apply_user_edit):err()ברמת-המעטפת — כך הסוכן והמשתמש רואים את הכשל;failed_gatesרוכב ב-data.ok(data=payload)להצלחה,errלהיעדר-תיק/קלט-שגוי/חריגה,emptyלמצב חסר-טיוטה.תאימות-API
6 צרכני-
app.pyחוּוטו (get_decision_template,apply_user_edit×2,revise_draft,list_bookmarks,export_docx) עםenvelope_unwrap+ בדיקתstatus=="error"→4xx. חוזה-ה-HTTP נשמר (כולל 409 לשערי-QA +failed_gates).בדיקות
test_export_qa_gate(שער-QA חוסם ייצוא; עודכן לחוזה:out["data"]["failed_gates"], success=status:"ok").GAP-48 סגור 🎉
כל ~12 משפחות-הכלים אחידות. נותר ב-FU-14: GAP-49/50 (מיזוג+rename — שובר), GAP-54, GAP-47-חלק-ב.
Invariants
משלים INV-TOOL1 + G2. מתועד ב-X9 (הפרה ידועה: נסגר) + gap-audit FU-14 פרוסה 7. בוצע ב-worktree מבודד.
🤖 Generated with Claude Code
הפרוסה האחרונה של GAP-48 (INV-TOOL1). 18 כלי drafting הומרו ל-{status,data,message} דרך tools/envelope.py — כולל מסלול הפקת-ההחלטה הקריטי. עיקרון לכלים עם כשל משמעותי (export_docx/revise_draft/apply_user_edit): err() ברמת-המעטפת — כך שהסוכן והמשתמש רואים את הכשל; failed_gates רוכב ב-data. שאר הכלים: ok(data=payload) להצלחה, err להיעדר-תיק/קלט-שגוי/חריגה. 6 צרכני-app.py חוּוטו (get_decision_template, apply_user_edit ×2, revise_draft, list_bookmarks, export_docx) עם envelope_unwrap + בדיקת status=="error"→4xx, לשמירת חוזה-ה-API (X6) ללא-שינוי. test_export_qa_gate עודכן לחוזה החדש. בדיקות: 182/182 עוברים (כולל שערי-QA של הייצוא). GAP-48 סגור: כל ~12 משפחות-הכלים אחידות. נותר ב-FU-14: GAP-49/50 (שובר), GAP-54. Invariants: משלים INV-TOOL1 + G2. מתועד ב-X9 (נסגר) + gap-audit פרוסה 7. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>