feat(learning): FU-3 — uncertainty-sampling של תור-האישור לפי מחלוקת-הפאנל (#133) #222

Merged
chaim merged 1 commits from worktree-halacha-active-learning-fu3 into main 2026-06-12 06:48:27 +00:00
Owner

מה

FU-3 של יוזמת ה-active-learning (#133). תור-אישור-ההלכות הקיים (order_by_priority, #84.3) מקדם עכשיו את ההלכות שהפאנל התלבט עליהןsplit קודם, אחריו incomplete. אלו התוויות בעלות-הערך הגבוה ביותר ללולאת-הלמידה: הכרעת-היו"ר עליהן מפרקת אי-ודאות אמיתית של הפאנל ומזינה את זיקוק-ה-rubric (FU-4) ואת ה-seed (FU-2). זהו uncertainty-sampling על סיגנל-המחלוקת האמיתי של הפאנל, לא רק על confidence-החילוץ.

איך

  • list_halachot — LEFT JOIN לאחרון-הסבבים (DISTINCT ON (halacha_id) … ORDER BY round_ts DESC מ-halacha_panel_rounds, FU-1) + מפתח-מיון ראשי CASE pr.verdict WHEN 'split' THEN 0 WHEN 'incomplete' THEN 1 ELSE 2, לפני מפתחות #84.3 הקיימים (corroboration → confidence → age). סבבים פה-אחד ופריטים-ללא-סבב נשארים בזנב עם הסדר הקיים.
  • המיון נעשה ב-SQL (לפני LIMIT/OFFSET) — כך הפריטים בעלי-הערך מופיעים בעמוד-הראשון, גם תחת pagination.
  • panel_verdict נחשף בכל שורה (ה-UI יכול לתייג "פיצול" + ביקורת-סדר).
  • שימוש חוזר בדגל order_by_priority ובטאב הקיים — בלי דגל/מסלול מקביל (G2). ה-UI (useHalachotPending) כבר מבקש order_by_priority=true&include_panel_round=trueאפס שינוי-UI, לכן אין צורך בשער-עיצוב Claude Design.

בדיקות

tests/test_halacha_priority_panel_order.py — 3 בדיקות offline (SQL-capture עם _FakePool, אותו דפוס כמו test_precedent_corpus_isolation): מפתח-המחלוקת הוא הראשי בעדיפות; FIFO ללא דליפת-CASE; panel_verdict נבחר. רגרסיה: 76 בדיקות (corpus-isolation, halacha-quality, chair-seed-gate, goldset-calibrate) עברו.

Invariants

  • INV-G10 — capture/display-only; הסדר לא משנה review_status, השער נשאר מקור-האמת.
  • G1/G2 — שימוש-חוזר בדגל ובטאב הקיים; בלי מסלול-תור מקביל.
  • INV-IA — אותו שער/טאב, בלי עמוד/שער חדש.

הבא

FU-4 (זיקוק-rubric propose-only מתוך splits+seeds), FU-5 (הרחבת halacha_panel_calibrate.py למדידה מול batch chair-live + anon-stability).

🤖 Generated with Claude Code

## מה FU-3 של יוזמת ה-active-learning (#133). תור-אישור-ההלכות הקיים (`order_by_priority`, #84.3) מקדם עכשיו את ההלכות **שהפאנל התלבט עליהן** — `split` קודם, אחריו `incomplete`. אלו התוויות בעלות-הערך הגבוה ביותר ללולאת-הלמידה: הכרעת-היו"ר עליהן מפרקת אי-ודאות אמיתית של הפאנל ומזינה את זיקוק-ה-rubric (FU-4) ואת ה-seed (FU-2). זהו uncertainty-sampling על **סיגנל-המחלוקת האמיתי** של הפאנל, לא רק על `confidence`-החילוץ. ## איך - **`list_halachot`** — LEFT JOIN לאחרון-הסבבים (`DISTINCT ON (halacha_id) … ORDER BY round_ts DESC` מ-`halacha_panel_rounds`, FU-1) + מפתח-מיון ראשי `CASE pr.verdict WHEN 'split' THEN 0 WHEN 'incomplete' THEN 1 ELSE 2`, **לפני** מפתחות #84.3 הקיימים (corroboration → confidence → age). סבבים פה-אחד ופריטים-ללא-סבב נשארים בזנב עם הסדר הקיים. - המיון נעשה ב-SQL (לפני `LIMIT/OFFSET`) — כך הפריטים בעלי-הערך מופיעים בעמוד-הראשון, גם תחת pagination. - `panel_verdict` נחשף בכל שורה (ה-UI יכול לתייג "פיצול" + ביקורת-סדר). - **שימוש חוזר** בדגל `order_by_priority` ובטאב הקיים — בלי דגל/מסלול מקביל (G2). ה-UI (`useHalachotPending`) כבר מבקש `order_by_priority=true&include_panel_round=true` → **אפס שינוי-UI**, לכן אין צורך בשער-עיצוב Claude Design. ## בדיקות `tests/test_halacha_priority_panel_order.py` — 3 בדיקות **offline** (SQL-capture עם `_FakePool`, אותו דפוס כמו `test_precedent_corpus_isolation`): מפתח-המחלוקת הוא הראשי בעדיפות; FIFO ללא דליפת-`CASE`; `panel_verdict` נבחר. ✅ רגרסיה: 76 בדיקות (corpus-isolation, halacha-quality, chair-seed-gate, goldset-calibrate) עברו. ## Invariants - **INV-G10** — capture/display-only; הסדר לא משנה `review_status`, השער נשאר מקור-האמת. - **G1/G2** — שימוש-חוזר בדגל ובטאב הקיים; בלי מסלול-תור מקביל. - **INV-IA** — אותו שער/טאב, בלי עמוד/שער חדש. ## הבא FU-4 (זיקוק-rubric propose-only מתוך splits+seeds), FU-5 (הרחבת `halacha_panel_calibrate.py` למדידה מול batch `chair-live` + anon-stability). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-12 06:48:22 +00:00
feat(learning): FU-3 — uncertainty-sampling של תור-האישור לפי מחלוקת-הפאנל (#133)
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 6s
d98ef14f41
תור-אישור-ההלכות הקיים (order_by_priority, #84.3) מקדם עכשיו את ההלכות
שהפאנל התלבט עליהן: split קודם, אחר-כך incomplete — התוויות בעלות-הערך
הגבוה ביותר ללולאת-הלמידה (הכרעת-היו"ר מפרקת אי-ודאות אמיתית ומזינה את
זיקוק-ה-rubric ב-FU-4). uncertainty-sampling על סיגנל-המחלוקת האמיתי של
הפאנל, לא רק confidence-החילוץ.

- list_halachot: LEFT JOIN לאחרון-הסבבים (DISTINCT ON latest round_ts מ-
  halacha_panel_rounds) + מפתח-מיון ראשי CASE verdict split→0/incomplete→1/
  else→2, לפני מפתחות #84.3 (corroboration→confidence→age). סבבים פה-אחד
  ופריטים-ללא-סבב נשארים בזנב עם הסדר הקיים.
- panel_verdict נחשף בכל שורה (UI יכול לתייג "פיצול" + ביקורת-סדר).
- שימוש חוזר בדגל order_by_priority הקיים ובטאב הקיים — בלי מסלול/דגל
  מקביל (G2). ה-UI כבר מבקש order_by_priority=true → אפס שינוי-UI, אין
  צורך בשער-עיצוב.
- test_halacha_priority_panel_order.py: 3 בדיקות offline (SQL-capture) —
  מפתח-מחלוקת ראשי בעדיפות, FIFO ללא דליפת-CASE, panel_verdict נבחר.

Invariants: INV-G10 (capture-only, לא משנה review_status) · G1/G2 ·
INV-IA (אותו שער/טאב). רגרסיה: 76 בדיקות עברו.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit b95b02486b into main 2026-06-12 06:48:27 +00:00
chaim deleted branch worktree-halacha-active-learning-fu3 2026-06-12 06:48:27 +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#222