fix(halacha-queue): route only true extraction defects to "needs re-extraction" #302

Merged
chaim merged 1 commits from worktree-halacha-fix-bucket-predicate into main 2026-06-19 10:09:47 +00:00
Owner

הבעיה (שחיים זיהה במסך)

תור-הביקורת מחלק ל-2 סגמנטים: "להכרעתך" (שיפוט-יו"ר) מול "דורש תיקון-חילוץ". הפרדיקט isExtractionFixItem היה גס מדי — כל דגל-איכות + אין סבב-פאנל → "דורש תיקון-חילוץ".

זה תייק בטעות 21 הלכות עם דגל application ("יישום תלוי-עובדות") כ"דורש תיקון-חילוץ", בעוד החילוץ שלהן תקין לגמרי (ציטוט מאומת) והשאלה היחידה היא שיפוטית — האם הכלל בר-הכללה. ה-backend כבר מבחין נכון: רק quote_unverified/truncated_quote/thin_restatement/near_duplicate הם פגמי-חילוץ; application הוא דגל "אחר" → שיפוט-יו"ר. ה-frontend התעלם מההבחנה.

תוצאה למשתמש: מסך 8508-03-24 הראה "להכרעתך 0 · דורש תיקון-חילוץ 27", בסתירה למה שהמערכת באמת מתכוונת.

התיקון

isExtractionFixItem בודק עכשיו מול סט-ה-DEFECT של ה-backend בלבד. דגלים שאינם-פגם (כמו application) חוזרים ל"להכרעתך".

ל-8508-03-24: 21 application → להכרעתך (נכון), 6 thin_restatement נשארים היחידים ב"דורש תיקון-חילוץ".

אופי השינוי

תיקון-לוגיקה (predicate יחיד) — אין שינוי ויזואלי, רק אילו פריטים נספרים בכל סגמנט. פטור משער-העיצוב לפי web-ui/AGENTS.md ("חריג יחיד: תיקון-באג שאינו משנה את ה-UI הוויזואלי"). tsc + eslint נקיים.

Invariants

  • G1 — מיישר את ה-frontend למקור-האמת של ה-backend (סט-ה-DEFECT), במקום סיווג-כפול שנפרד (drift).

🤖 Generated with Claude Code

## הבעיה (שחיים זיהה במסך) תור-הביקורת מחלק ל-2 סגמנטים: **"להכרעתך"** (שיפוט-יו"ר) מול **"דורש תיקון-חילוץ"**. הפרדיקט `isExtractionFixItem` היה גס מדי — **כל דגל-איכות** + אין סבב-פאנל → "דורש תיקון-חילוץ". זה תייק בטעות 21 הלכות עם דגל `application` ("יישום תלוי-עובדות") כ"דורש תיקון-חילוץ", בעוד החילוץ שלהן תקין לגמרי (ציטוט מאומת) והשאלה היחידה היא שיפוטית — האם הכלל בר-הכללה. ה-backend כבר מבחין נכון: רק `quote_unverified`/`truncated_quote`/`thin_restatement`/`near_duplicate` הם פגמי-חילוץ; `application` הוא דגל "אחר" → שיפוט-יו"ר. ה-frontend התעלם מההבחנה. תוצאה למשתמש: מסך 8508-03-24 הראה "להכרעתך 0 · דורש תיקון-חילוץ 27", בסתירה למה שהמערכת באמת מתכוונת. ## התיקון `isExtractionFixItem` בודק עכשיו מול סט-ה-DEFECT של ה-backend בלבד. דגלים שאינם-פגם (כמו `application`) חוזרים ל"להכרעתך". ל-8508-03-24: 21 `application` → להכרעתך (נכון), 6 `thin_restatement` נשארים היחידים ב"דורש תיקון-חילוץ". ## אופי השינוי תיקון-לוגיקה (predicate יחיד) — **אין שינוי ויזואלי**, רק אילו פריטים נספרים בכל סגמנט. פטור משער-העיצוב לפי `web-ui/AGENTS.md` ("חריג יחיד: תיקון-באג שאינו משנה את ה-UI הוויזואלי"). tsc + eslint נקיים. ## Invariants - **G1** — מיישר את ה-frontend למקור-האמת של ה-backend (סט-ה-DEFECT), במקום סיווג-כפול שנפרד (drift). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-19 10:09:41 +00:00
fix(halacha-queue): only true defects go to 'needs re-extraction', not all flags
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 3s
Lint — undefined names / undefined-names (pull_request) Successful in 10s
532bef04a7
The pending review queue split items into 'להכרעתך' (chair judgment) vs
'דורש תיקון-חילוץ' (needs re-extraction) by a too-blunt predicate: ANY
quality flag + no panel round → re-extraction. That misfiled fact-specific
'application' items (extraction is fine; the open question is whether the
rule generalizes) as extraction defects, contradicting the backend, which
treats only quote_unverified/truncated_quote/thin_restatement/near_duplicate
as defects and routes 'application' to chair judgment.

Now isExtractionFixItem checks the backend's DEFECT set, so 'application'
(and any other non-defect flag) lands in 'להכרעתך'. For 8508-03-24 this
moves 21 application items judgment→correct and leaves 6 thin_restatement
as the only re-extraction items.

Logic-only fix (predicate), no visual change — design-gate exempt per
web-ui/AGENTS.md. tsc + eslint clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit f9ef664ac9 into main 2026-06-19 10:09:47 +00:00
chaim deleted branch worktree-halacha-fix-bucket-predicate 2026-06-19 10:09:47 +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#302