feat(digests): digest_kind classification — robust extraction for all issue types (X12) #141

Merged
chaim merged 1 commits from worktree-digest-kind into main 2026-06-08 06:02:37 +00:00
Owner

מימוש התוכנית שאושרה. ~2% מגיליונות "כל יום" הם לא-הכרעות (עדכוני-חקיקה/הודעות/ברכות) ללא ruling → החילוץ ה-decision-centric החזיר ריק → both-empty → מחזורי ב-self-heal (כמו 5060 שתוקן ידנית).

העיצוב — סיווג מפורש digest_kind (decision/announcement/other) במקום היוריסטיקה:

  • SCHEMA_V32: עמודת digest_kind + backfill legacy בזול (יש citation→decision, אחרת announcement). רץ ב-migration (לפני שה-self-heal מסתמך עליו — get_pool מריץ migrations ראשון).
  • extractor: ה-prompt מסווג ותמיד מחלץ concept/headline/summary (קיימים לכל סוג); underlying_* רק ל-decision.
  • enrich: שומר digest_kind; חילוץ מוצלח תמיד מסתיים ב-kind לא-ריק.
  • drain self-heal: הגדרת-"כשל" = completed עם digest_kind='' (במקום both-empty) → הודעות לא מנוסות-מחדש לנצח, כשלי-מכסה כן.
  • db: digest_kind ב-_DIGEST_COLS + update-whitelist (זורם אוטומטית ל-search/list/API → ה-UI).
  • X12 spec עודכן.

אומת: V32 סיווג את 533 הקיימים (525 decision + 8 announcement, 0 unclassified → self-heal לא נוגע בהם). extract: 5163→decision+citation · 5060→announcement+concept, citation ריק (כבר לא both-empty). claude_session נשאר local-only.

UI (תג-סוג ב-DigestCard) — PR נפרד אחריו.

🤖 Generated with Claude Code

מימוש התוכנית שאושרה. ~2% מגיליונות "כל יום" הם **לא-הכרעות** (עדכוני-חקיקה/הודעות/ברכות) ללא ruling → החילוץ ה-decision-centric החזיר ריק → both-empty → מחזורי ב-self-heal (כמו 5060 שתוקן ידנית). **העיצוב — סיווג מפורש `digest_kind`** (decision/announcement/other) במקום היוריסטיקה: - **SCHEMA_V32:** עמודת `digest_kind` + backfill legacy בזול (יש citation→decision, אחרת announcement). רץ ב-migration (לפני שה-self-heal מסתמך עליו — get_pool מריץ migrations ראשון). - **extractor:** ה-prompt מסווג ותמיד מחלץ concept/headline/summary (קיימים לכל סוג); `underlying_*` רק ל-decision. - **enrich:** שומר digest_kind; חילוץ מוצלח תמיד מסתיים ב-kind לא-ריק. - **drain self-heal:** הגדרת-"כשל" = `completed` עם `digest_kind=''` (במקום both-empty) → **הודעות לא מנוסות-מחדש לנצח**, כשלי-מכסה כן. - db: digest_kind ב-`_DIGEST_COLS` + update-whitelist (זורם אוטומטית ל-search/list/API → ה-UI). - X12 spec עודכן. **אומת:** V32 סיווג את 533 הקיימים (525 decision + 8 announcement, **0 unclassified** → self-heal לא נוגע בהם). extract: 5163→`decision`+citation · 5060→`announcement`+concept, citation ריק (כבר לא both-empty). `claude_session` נשאר local-only. UI (תג-סוג ב-DigestCard) — PR נפרד אחריו. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-08 06:02:28 +00:00
~2% מגיליונות "כל יום" הם לא-הכרעות (עדכוני-חקיקה/הודעות/ברכות) ללא ruling →
החילוץ ה-decision-centric החזיר ריק → both-empty → מחזורי ב-self-heal.

- SCHEMA_V32: `digest_kind` (decision/announcement/other) + backfill legacy בזול
  (יש citation→decision, אחרת announcement) — לפני שה-self-heal מסתמך עליו.
- extractor: prompt מסווג + מחלץ תמיד concept/headline/summary; underlying_* רק
  ל-decision. extract מנרמל digest_kind.
- enrich: שומר digest_kind; חילוץ מוצלח תמיד מסתיים ב-kind לא-ריק (ברירת-מחדל
  לפי citation אם המודל השמיט).
- drain self-heal: הגדרת-כשל = completed עם digest_kind='' (במקום both-empty) →
  הודעות לא מנוסות-מחדש לנצח.
- db: digest_kind ב-_DIGEST_COLS + update-whitelist (זורם ל-search/list/API).
- X12 spec: תיעוד digest_kind + הגדרת-הכשל המתוקנת.

אומת: V32 סיווג 533 (525 decision + 8 announcement, 0 unclassified — self-heal
לא נוגע בהם). extract: 5163→decision+citation · 5060→announcement+concept,
citation ריק (לא both-empty).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 2972ef74a4 into main 2026-06-08 06:02:37 +00:00
chaim deleted branch worktree-digest-kind 2026-06-08 06:02:37 +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#141