feat(halacha): effort קל-יותר לחילוץ-bulk (מהירות בקנה-מידה) #32

Merged
chaim merged 1 commits from feat/halacha-bulk-effort into main 2026-05-31 21:34:44 +00:00
Owner

למה

xhigh הוא נקודת-האיכות לפסק יחיד אך איטי מאוד בקנה-מידה (64 chunks ≈ 20 דק'). חילוץ-bulk (process_pending על הרבה תקדימים) ישתמש ב-effort קל-יותר; חילוץ-יחיד/re-extract נשאר xhigh (איכות).

מה

  • config.HALACHA_BULK_EXTRACT_EFFORT (env, ברירת-מחדל high; medium למקסימום מהירות, xhigh כדי להשוות ליחיד).
  • extract()/_extract_impl()/_extract_chunk() מקבלים effort שמושחל ל-claude_session.query_json; None → fallback ל-HALACHA_EXTRACT_EFFORT (xhigh).
  • process_pending_extractions(kind='halacha') מעביר את ה-bulk effort; reextract_halachot נשאר xhigh.

אימות

end-to-end (LLM ממוקמק): _extract_chunk(effort='medium') → query_json effort=medium; effort=None → fallback xhigh. סוגר את הפריט הפתוח ב-#72.

נכנס לתוקף ב-spawn הבא של ה-MCP. ה-effort מתכוונן ב-env בלי שינוי קוד.

🤖 Generated with Claude Code

## למה xhigh הוא נקודת-האיכות לפסק יחיד אך **איטי מאוד בקנה-מידה** (64 chunks ≈ 20 דק'). חילוץ-bulk (`process_pending` על הרבה תקדימים) ישתמש ב-effort קל-יותר; **חילוץ-יחיד/re-extract נשאר xhigh** (איכות). ## מה - `config.HALACHA_BULK_EXTRACT_EFFORT` (env, ברירת-מחדל `high`; `medium` למקסימום מהירות, `xhigh` כדי להשוות ליחיד). - `extract()/_extract_impl()/_extract_chunk()` מקבלים `effort` שמושחל ל-`claude_session.query_json`; `None` → fallback ל-`HALACHA_EXTRACT_EFFORT` (xhigh). - `process_pending_extractions(kind='halacha')` מעביר את ה-bulk effort; `reextract_halachot` נשאר xhigh. ## אימות end-to-end (LLM ממוקמק): `_extract_chunk(effort='medium')` → query_json effort=`medium`; `effort=None` → fallback `xhigh`. **סוגר את הפריט הפתוח ב-#72.** > נכנס לתוקף ב-spawn הבא של ה-MCP. ה-effort מתכוונן ב-env בלי שינוי קוד. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-05-31 21:34:34 +00:00
xhigh is the quality sweet-spot for a single precedent but very slow at scale
(64-chunk case ≈ 20 min). Bulk queue-drains (process_pending over many
precedents) now use a lighter effort to cut wall-clock; interactive single
re-extraction keeps xhigh quality.

- config.HALACHA_BULK_EXTRACT_EFFORT (env, default 'high'; set 'medium' for max
  speed, 'xhigh' to match single).
- extract()/_extract_impl()/_extract_chunk() take an `effort` override threaded
  to claude_session.query_json; None falls back to HALACHA_EXTRACT_EFFORT (xhigh).
- process_pending_extractions(kind='halacha') passes the bulk effort; single
  reextract_halachot keeps xhigh.

Verified end-to-end (mocked LLM): _extract_chunk(effort='medium') → query_json
effort='medium'; effort=None → 'xhigh' fallback. Closes the open item in #72.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 391b025e8a into main 2026-05-31 21:34:44 +00:00
chaim deleted branch feat/halacha-bulk-effort 2026-05-31 21:34:44 +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#32