feat(halacha): review-queue triage — defer + batch + quality-flag badges (#84) #52

Merged
chaim merged 1 commits from feat/halacha-review-triage into main 2026-06-03 13:42:53 +00:00
Owner

#84 — טריאז' תור אישור ההלכות (increment 1)

הופך את ביקורת ההלכות הממתינות למהירה ופחות מתישה. (ה-UI כבר כלל קיבוץ-לפי-פסק, מיון confidence עולה וקיצורי A/R/E — זה משלים את הפערים.)

Backend

  • סטטוס deferred חדש (snooze) — נשאר מחוץ למאגר הפעיל וגם מחוץ לתור ברירת-המחדל, בלי הסופיות של rejected. HALACHA_REVIEW_STATUSES = מקור-אמת יחיד לסטטוסים תקפים.
  • update_halachot_batch — UPDATE אטומי אחד לקבוצה שלמה (status לא-תקף / רשימה ריקה = no-op).
  • POST /api/halachot/batch עוטף אותו.
  • update_halacha מחזיר כעת גם quality_flags.

Frontend (halacha-review-panel)

  • באדג'י quality-flags (#81: אי-הכרעה / ציטוט-קטוע / ניסוח-דק / ציטוט-לא-מאומת) — המבקר רואה למה הפריט נעצר.
  • פעולת Defer — כפתור + מקש D — snooze בלי דחייה (מתקן את "להישאר תקוע ב-pending"; reject נשאר הפועל ל"זבל").
  • סרגל batch לכל פסק: "אשר הכל" / "דחה הכל" דרך useBatchReviewHalachot (בקשה אחת, refetch אחד) עם confirm.

אומת

  • mcp-server suite 156 passed; web build ירוק.
  • אינטגרציה מול dev DB: batch approve/reject, defer קובע status+timestamp, pending מחריג approved+deferred, deferred ניתן-לשאילתה, status לא-תקף = no-op.

נותר (#84 follow-up)

84.2 (cluster-cards — ערכו ירד אחרי dedup-on-insert של #82), 84.3 (תיעדוף server-side; כרגע מיון confidence ב-client), 84.7 (מדדי throughput). + npm run api:types אחרי deploy (אופציונלי — ה-hook מוקלד ידנית).

🤖 Generated with Claude Code

## #84 — טריאז' תור אישור ההלכות (increment 1) הופך את ביקורת ההלכות הממתינות למהירה ופחות מתישה. (ה-UI כבר כלל קיבוץ-לפי-פסק, מיון confidence עולה וקיצורי A/R/E — זה משלים את הפערים.) ### Backend - **סטטוס `deferred` חדש (snooze)** — נשאר מחוץ למאגר הפעיל וגם מחוץ לתור ברירת-המחדל, בלי הסופיות של `rejected`. `HALACHA_REVIEW_STATUSES` = מקור-אמת יחיד לסטטוסים תקפים. - **`update_halachot_batch`** — UPDATE אטומי אחד לקבוצה שלמה (status לא-תקף / רשימה ריקה = no-op). - **`POST /api/halachot/batch`** עוטף אותו. - `update_halacha` מחזיר כעת גם `quality_flags`. ### Frontend (halacha-review-panel) - **באדג'י quality-flags** (#81: אי-הכרעה / ציטוט-קטוע / ניסוח-דק / ציטוט-לא-מאומת) — המבקר רואה **למה** הפריט נעצר. - **פעולת Defer** — כפתור + מקש `D` — snooze בלי דחייה (מתקן את "להישאר תקוע ב-pending"; reject נשאר הפועל ל"זבל"). - **סרגל batch לכל פסק**: "אשר הכל" / "דחה הכל" דרך `useBatchReviewHalachot` (בקשה אחת, refetch אחד) עם confirm. ### אומת - mcp-server suite **156 passed**; web **build ירוק**. - אינטגרציה מול dev DB: batch approve/reject, defer קובע status+timestamp, pending מחריג approved+deferred, deferred ניתן-לשאילתה, status לא-תקף = no-op. ### נותר (#84 follow-up) 84.2 (cluster-cards — ערכו ירד אחרי dedup-on-insert של #82), 84.3 (תיעדוף server-side; כרגע מיון confidence ב-client), 84.7 (מדדי throughput). + `npm run api:types` אחרי deploy (אופציונלי — ה-hook מוקלד ידנית). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-03 13:42:47 +00:00
Make the chair's pending-halacha review faster and less exhausting.

Backend:
- New 'deferred' review_status (snooze): stays out of the active library AND
  out of the default pending queue, without the finality of 'rejected'.
  update_halacha stamps reviewer+reviewed_at on defer; HALACHA_REVIEW_STATUSES
  is the single source of valid statuses (PATCH validation now uses it).
- db.update_halachot_batch(ids, status, reviewer) — one atomic UPDATE for a
  whole group; invalid status / empty ids are a no-op.
- POST /api/halachot/batch (HalachaBatchReviewRequest) wraps it.
- update_halacha now RETURNs quality_flags too (parity with list_halachot).

Frontend (halacha-review-panel):
- Quality-flag badges (#81: non_decision / truncated_quote / thin_restatement /
  quote_unverified) so the chair sees WHY an item was held back.
- Defer action — button + keyboard 'D' — to snooze without rejecting (fixes the
  'leave in pending forever' anti-pattern; reject stays the junk verb).
- Per-precedent batch bar: 'אשר הכל' / 'דחה הכל' via useBatchReviewHalachot
  (one request, one refetch) with confirm guards.
- Halacha/HalachaPatch types gain quality_flags + 'deferred'.

Verified: mcp-server suite 156 passed; web build green; end-to-end integration
against dev DB (batch approve/reject, defer sets status+timestamp, pending
excludes approved+deferred, deferred queryable, invalid status no-op).

Note: api:types regen deferred until deploy (the batch hook is hand-typed, not
dependent on generated types).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit db6bad5d1e into main 2026-06-03 13:42:53 +00:00
chaim deleted branch feat/halacha-review-triage 2026-06-03 13:42:54 +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#52