feat(X11): citation-corroboration Phase 2 — wire the approval gate + backfill #33

Merged
chaim merged 3 commits from feat/x11-corroboration-phase2 into main 2026-06-01 04:43:25 +00:00
Owner

X11 Phase 2 — האות הופך לפעולת-אישור

ממשיך את PR #27 (Phase 1 — האות בלבד). דפנה אימתה את האות ואישרה הפעלה (2026-06-01) — מה ש-Phase 1 דחה במפורש כ-"gated on Dafna validating the signal first". ה-PR מחווט את ההתנהגות הפעילה (default ON, kill-switch ב-env).

מה נכנס

  1. חיווט אוטו-אישור (INV-COR4/G10): הלכה corroborated (≥2 ציטוטים חיוביים בלתי-תלויים, 0 שליליים) → review_status='approved' עם reviewer='corroborated (…judicial citations)'. רץ רק על pending_review — שער-היו"ר נשמר לזנב הלא-מצוטט ולכל שלילי (INV-COR5).
  2. הדחת overruled (INV-COR2): הלכה approved שקיבלה טיפול overruled בציטוט מאוחר → חזרה ל-pending_review עם הערת-דגל. נוגע רק ב-approved; published/rejected חסינים.
  3. Backfill על כל הקורפוס + כלי-MCP write corroboration_rebuild (ריק=backfill מלא, מזהה=תקדים בודד).
  4. Kill-switch: HALACHA_CORROBORATION_AUTO_APPROVE (default true).

עיצוב מפתח

  • פונקציית-הכרעה טהורה approval_action(agg, has_overruled)overruled→demote (גובר על ספירה חיובית, INV-COR2 חזק), corroborated→approve, אחרת None. 4 unit-tests offline.
  • מעברים מגודרים ב-WHERE review_status=... — לא יכולים לגעת במצבים סופיים של היו"ר. כיווניים (הדחה = יותר עיון-אנושי). Idempotent.
  • ללא שינוי סכמה — טבלת halacha_citation_corroboration מ-Phase 1 מחזיקה את ה-provenance (INV-COR6).

תוצאת backfill (data/audit/x11-phase2-backfill-20260601.md)

{"precedents": 12, "citations": 26, "linked": 20, "approved": 0, "demoted": 0}
  • 20 links: 18 followed · 1 explained · 1 mentioned · 0 שליליים.
  • 4 הלכות corroborated — כולן כבר approved (13 confidence, 1 דפנה) → 0 מעברים. האות חופף לחלוטין את קבוצת-ה-confidence בקורפוס הנוכחי; הערך קדימה הוא להלכות מתחת-לסף-confidence שכן-מצוטטות, ול-overruled-demotion.
  • אומת: ספירות לפני==אחרי (approved=1415, pending=196, published=0, rejected=1); מסלול-האישור הוכח end-to-end ב-transaction עם rollback (prod לא נגעו).

נדחה ל-backlog (מכוון)

  • Enrichment של rule_statementproposal-only, אסור לשכתב הלכה מאושרת בשקט. תוכנית נפרדת.
  • treatment-backfill ל-case_law_citations.citation_type — אורתוגונלי (corroboration מסווג טיפול טרי לעמודה משלו).

בדיקות

  • 15/15 unit-tests עוברים (tests/test_corroboration.py).
  • רישום הכלים + imports אומתו.

TaskMaster: #75. תוכנית: docs/superpowers/plans/2026-06-01-x11-citation-corroboration-phase2.md. spec: docs/spec/X11-citation-corroboration.md §4-6.

🤖 Generated with Claude Code

## X11 Phase 2 — האות הופך לפעולת-אישור ממשיך את [PR #27](../pulls/27) (Phase 1 — האות בלבד). **דפנה אימתה את האות ואישרה הפעלה (2026-06-01)** — מה ש-Phase 1 דחה במפורש כ-*"gated on Dafna validating the signal first"*. ה-PR מחווט את ההתנהגות הפעילה (default ON, kill-switch ב-env). ### מה נכנס 1. **חיווט אוטו-אישור** (INV-COR4/G10): הלכה `corroborated` (≥2 ציטוטים חיוביים בלתי-תלויים, 0 שליליים) → `review_status='approved'` עם `reviewer='corroborated (…judicial citations)'`. רץ **רק** על `pending_review` — שער-היו"ר נשמר לזנב הלא-מצוטט ולכל שלילי (INV-COR5). 2. **הדחת overruled** (INV-COR2): הלכה `approved` שקיבלה טיפול `overruled` בציטוט מאוחר → חזרה ל-`pending_review` עם הערת-דגל. נוגע **רק** ב-`approved`; `published`/`rejected` חסינים. 3. **Backfill** על כל הקורפוס + כלי-MCP write `corroboration_rebuild` (ריק=backfill מלא, מזהה=תקדים בודד). 4. **Kill-switch:** `HALACHA_CORROBORATION_AUTO_APPROVE` (default `true`). ### עיצוב מפתח - פונקציית-הכרעה טהורה `approval_action(agg, has_overruled)` — `overruled`→demote (גובר על ספירה חיובית, INV-COR2 חזק), `corroborated`→approve, אחרת None. 4 unit-tests offline. - מעברים מגודרים ב-`WHERE review_status=...` — לא יכולים לגעת במצבים סופיים של היו"ר. כיווניים (הדחה = יותר עיון-אנושי). Idempotent. - ללא שינוי סכמה — טבלת `halacha_citation_corroboration` מ-Phase 1 מחזיקה את ה-provenance (INV-COR6). ### תוצאת backfill (data/audit/x11-phase2-backfill-20260601.md) ``` {"precedents": 12, "citations": 26, "linked": 20, "approved": 0, "demoted": 0} ``` - 20 links: 18 followed · 1 explained · 1 mentioned · **0 שליליים**. - 4 הלכות corroborated — **כולן כבר approved** (13 confidence, 1 דפנה) → 0 מעברים. האות **חופף לחלוטין** את קבוצת-ה-confidence בקורפוס הנוכחי; הערך קדימה הוא להלכות מתחת-לסף-confidence שכן-מצוטטות, ול-overruled-demotion. - **אומת:** ספירות לפני==אחרי (approved=1415, pending=196, published=0, rejected=1); מסלול-האישור הוכח end-to-end ב-transaction עם rollback (prod לא נגעו). ### נדחה ל-backlog (מכוון) - Enrichment של `rule_statement` — **proposal-only**, אסור לשכתב הלכה מאושרת בשקט. תוכנית נפרדת. - treatment-backfill ל-`case_law_citations.citation_type` — אורתוגונלי (corroboration מסווג טיפול טרי לעמודה משלו). ### בדיקות - 15/15 unit-tests עוברים (`tests/test_corroboration.py`). - רישום הכלים + imports אומתו. TaskMaster: #75. תוכנית: `docs/superpowers/plans/2026-06-01-x11-citation-corroboration-phase2.md`. spec: `docs/spec/X11-citation-corroboration.md` §4-6. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 3 commits 2026-06-01 04:42:40 +00:00
- HALACHA_CORROBORATION_AUTO_APPROVE config (default ON, Dafna validated 2026-06-01)
- approval_action(agg, has_overruled): overruled→demote, corroborated→approve, else None
- 4 offline unit tests; Phase 2 plan + TaskMaster #75

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- db: approve_halacha_by_corroboration (pending_review→approved only),
  demote_halacha_overruled (approved→pending_review only), list_corroboration_grouped,
  precedents_with_halachot_and_incoming_citations
- corroboration: reconcile_approvals (INV-COR2/COR4/COR5), build_all backfill;
  build_for_precedent now returns approved/demoted counts
- mcp: corroboration_rebuild write tool (single precedent or full-corpus backfill)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 precedents, 20 links, 0 negatives. 4 halachot corroborated — all already
confidence-approved (signal fully overlaps confidence set), so 0 transitions.
Approve path proven in rolled-back tx; no chair-final state touched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 3bd2d16652 into main 2026-06-01 04:43:25 +00:00
chaim deleted branch feat/x11-corroboration-phase2 2026-06-01 04:43:25 +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#33