מרכז אישורים — chair approval center (everything Dafna must approve, in one page) #19

Merged
chaim merged 1 commits from feat/chair-approval-center into main 2026-05-31 15:37:00 +00:00
Owner

מרכז אישורים — דפנה

דפנה ביקשה דף תחת אתר-הייצור שמרכז את כל מה שהיא צריכה לאשר, כדי שלא נשכח כלום. זה הביטוי הוויזואלי של INV-G10 (שערים אנושיים) ו-INV-QA1 (נראות backlog).

Backend — GET /api/chair/pending

מאגד כל שער-אישור פתוח, כל אחד כשאילתת-מקור ישירה (ספירה + מדגם + קישור לטיפול):

  • הלכות לאישור (review_status='pending_review') + הישן ביותר
  • פסיקה חסרה פתוחה
  • הערות יו"ר שטרם יושמו (chair_feedback לא-resolved)
  • תיקים שנכשלו ב-QA
  • סקירת gold-set (FU-5, מבוסס-קובץ: total מול source=chair)

Frontend — דף /approvals ("מרכז אישורים")

  • lib/api/chair.tsusePendingApprovals() (hand-typed עד ה-api:types הבא)
  • app/approvals/page.tsx — כרטיס לכל קטגוריה: ספירה בצבע-חומרה, מדגם פריטים, תאריך-הישן-ביותר, קישור למקום-הטיפול; חי (refetch כל 60ש')
  • nav: "מרכז אישורים" בקבוצת-העבודה + badge של סך-הממתינים (שקט ב-0)

ספירות חיות בזמן הבנייה הראו את הערך מיד: 226 פסיקות חסרות, 178 הלכות, 20 הערות, 1 qa_failed.

🤖 Generated with Claude Code

## מרכז אישורים — דפנה דפנה ביקשה דף תחת אתר-הייצור שמרכז את **כל מה שהיא צריכה לאשר**, כדי שלא נשכח כלום. זה הביטוי הוויזואלי של INV-G10 (שערים אנושיים) ו-INV-QA1 (נראות backlog). ### Backend — `GET /api/chair/pending` מאגד כל שער-אישור פתוח, כל אחד כשאילתת-מקור ישירה (ספירה + מדגם + קישור לטיפול): - **הלכות לאישור** (`review_status='pending_review'`) + הישן ביותר - **פסיקה חסרה** פתוחה - **הערות יו"ר שטרם יושמו** (`chair_feedback` לא-resolved) - **תיקים שנכשלו ב-QA** - **סקירת gold-set** (FU-5, מבוסס-קובץ: total מול `source=chair`) ### Frontend — דף `/approvals` ("מרכז אישורים") - `lib/api/chair.ts` — `usePendingApprovals()` (hand-typed עד ה-`api:types` הבא) - `app/approvals/page.tsx` — כרטיס לכל קטגוריה: ספירה בצבע-חומרה, מדגם פריטים, תאריך-הישן-ביותר, קישור למקום-הטיפול; חי (refetch כל 60ש') - nav: "מרכז אישורים" בקבוצת-העבודה + badge של סך-הממתינים (שקט ב-0) **ספירות חיות בזמן הבנייה הראו את הערך מיד:** 226 פסיקות חסרות, 178 הלכות, 20 הערות, 1 qa_failed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-05-31 15:36:52 +00:00
Dafna asked for a single page under the prod site listing everything she needs
to approve, so nothing is forgotten — the visible embodiment of INV-G10 (human
gates) and INV-QA1 (halacha backlog must be visible).

Backend — GET /api/chair/pending aggregates every pending chair gate, each as a
direct source query (count + sample + action link):
- halachot review backlog (review_status='pending_review') + oldest
- open missing precedents
- unresolved chair_feedback
- qa_failed cases
- gold-set review (FU-5, file-based, best-effort: total vs source='chair')

Frontend — /approvals page ("מרכז אישורים"):
- src/lib/api/chair.ts — usePendingApprovals() (hand-typed until next api:types)
- src/app/approvals/page.tsx — card per category, severity-coloured count, sample
  rows, oldest-pending date, link to where each is handled; live (60s refetch)
- app-shell nav: "מרכז אישורים" in the work group + total-pending badge (quiet at 0)

Live counts at build time surfaced the value immediately: 226 open missing
precedents, 178 pending halachot, 20 unapplied feedback notes, 1 qa_failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit dfa2f5bd7f into main 2026-05-31 15:37:00 +00:00
chaim deleted branch feat/chair-approval-center 2026-05-31 15:37:00 +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#19