feat(mcp): FU-14 GAP-45 — extraction_status (חשיפת תור-החילוץ הסמוי) #64

Merged
chaim merged 1 commits from fix/fu14-gap45-extraction-status into main 2026-06-06 15:00:50 +00:00
Owner

מה ולמה

GAP-45 מתוך FU-14. INV-TOOL4 (visibility/persistence) — תור בקשות-החילוץ היה סמוי: נשמר ב-case_law.{metadata,halacha}_extraction_requested_at ומרוקן ע"י precedent_process_pending, אבל לא היה כלי לראות את עומק-התור. משלים את GAP-44 (אותו invariant).

Invariants — הצהרה

  • GAP-45 / INV-TOOL4 (G2) — מקור-האמת (תור-החילוץ) נגיש דרך כלי-קריאה.

מה נוסף

  • db.extraction_queue_status() — לכל kind (metadata/halacha): pending (count) + oldest_request (גיל הבקשה הוותיקה). read-only, לא מרוקן.
  • plib.extraction_status() — tool wrapper (envelope _ok/_err).
  • רישום extraction_status ב-server.py ליד precedent_process_pending.
  • precedent_process_pending קיבל _clamp_limit (עקביות עם GAP-53).

צ'קליסט — פרוטוקול כתיבת-קוד

  • קראתי 00-constitution.md + X9 (INV-TOOL4) לפני הכתיבה
  • אין מסלול מקביל (G2) — משתמש באותה הגדרת-pending של list_pending_extraction_requests
  • אין בליעה שקטה — _err מפורש
  • read-only, אפס data-migration, אפס שבירה
  • py_compile עבר על 3 קבצי הקוד

אימות

- py_compile: db.py, precedent_library.py, server.py → ✅
- extraction_status רשום ב-server.py:294, מימוש ב-plib + db.extraction_queue_status

⚠️ activation: שינוי mcp-server/ נכנס לתוקף ב-restart של ה-MCP server המקומי (לא בזמן החילוץ). read-only — אין נגיעה בנתונים.

🤖 Generated with Claude Code

## מה ולמה GAP-45 מתוך FU-14. **INV-TOOL4** (visibility/persistence) — תור בקשות-החילוץ היה סמוי: נשמר ב-`case_law.{metadata,halacha}_extraction_requested_at` ומרוקן ע"י `precedent_process_pending`, אבל לא היה כלי לראות את עומק-התור. משלים את GAP-44 (אותו invariant). ## Invariants — הצהרה - **GAP-45 / INV-TOOL4 (G2)** — מקור-האמת (תור-החילוץ) נגיש דרך כלי-קריאה. ## מה נוסף - `db.extraction_queue_status()` — לכל kind (metadata/halacha): `pending` (count) + `oldest_request` (גיל הבקשה הוותיקה). read-only, לא מרוקן. - `plib.extraction_status()` — tool wrapper (envelope `_ok`/`_err`). - רישום `extraction_status` ב-server.py ליד `precedent_process_pending`. - `precedent_process_pending` קיבל `_clamp_limit` (עקביות עם GAP-53). ## צ'קליסט — פרוטוקול כתיבת-קוד - [x] קראתי `00-constitution.md` + `X9` (INV-TOOL4) לפני הכתיבה - [x] אין מסלול מקביל (G2) — משתמש באותה הגדרת-pending של `list_pending_extraction_requests` - [x] אין בליעה שקטה — `_err` מפורש - [x] read-only, אפס data-migration, אפס שבירה - [x] py_compile עבר על 3 קבצי הקוד ## אימות ``` - py_compile: db.py, precedent_library.py, server.py → ✅ - extraction_status רשום ב-server.py:294, מימוש ב-plib + db.extraction_queue_status ``` > ⚠️ activation: שינוי `mcp-server/` נכנס לתוקף ב-restart של ה-MCP server המקומי (לא בזמן החילוץ). read-only — אין נגיעה בנתונים. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-06 15:00:45 +00:00
INV-TOOL4 (visibility / persistence). תור בקשות-החילוץ (metadata/halacha) נשמר
ב-case_law.{metadata,halacha}_extraction_requested_at ומרוקן ע"י
precedent_process_pending — אבל לא היה כלי לראות את עומק-התור.

נוסף:
- db.extraction_queue_status() — count + גיל הבקשה הוותיקה לכל kind (read-only).
- plib.extraction_status() — tool wrapper (envelope _ok/_err).
- רישום extraction_status ב-server.py ליד precedent_process_pending.
- precedent_process_pending קיבל _clamp_limit (עקביות עם GAP-53).

תוספתי, read-only, אפס שבירה. עודכנו X9 (INV-TOOL4 ) ו-gap-audit (GAP-45 ).
py_compile עבר על 3 קבצי הקוד.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit d3f1d04915 into main 2026-06-06 15:00:50 +00:00
chaim deleted branch fix/fu14-gap45-extraction-status 2026-06-06 15:00:50 +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#64