feat(halachot): Phase 5+6 — canonical panel UI + equivalent_halachot deprecation #300
Reference in New Issue
Block a user
Delete Branch "worktree-canonical-phase56"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
סיכום
השלמת Phase 5+6 של מודל ההלכות הקנוניות (V41, אחרי PR #298/#299).
Phase 6 — Deprecation
equivalent_halachot(commit75f40cc)scripts/halacha_batch_reconcile.py --linkעכשיו מדפיס שגיאה ויוצא exit-code 1 (V41 קפא את הטבלה; קישורים חדשים אסורים)db.link_equivalent_halachotמוציאהDeprecationWarning(שכבת-הגנה עבור קוד פנימי)Phase 5 — UI פאנל canonical + אקורדיון instances (commit
dd2e12f)Backend:
list_halachotSQL: מוסיףcanonical_id,instance_type,canonical_statement,instance_countדרךLEFT JOIN canonical_halachotlist_canonical_instances(canonical_id)— פונקציה חדשה ב-db.py לאקורדיוןGET /api/canonical-halachot/{canonical_id}/instances— endpoint חדשPATCH /api/halachot/{id}:canonical_statementמתפשט ל-canonical_halachotHalachaUpdateRequest: שדהcanonical_statementFrontend:
Halachatype: שדותcanonical_id,instance_type,canonical_statement,instance_countHalachaPatch: שדהcanonical_statementuseCanonicalInstanceshook +CanonicalInstancetypeCanonicalSectioncomponent: canonical_statement (קריאה + עריכה) + אקורדיון instancesinstance_type(עיקרון מקורי / ציטוט / יישום) + pill "מוזכר ב-N פסיקות"Invariants
equivalent_halachotקפוא — Phase 6 אוכף. הנתיב החדש:canonical_idcanonical_statementדרך PATCH /halachot/{id} עם reviewer="דפנה" — אותה שמירה כמו rule_statementתוכנית בדיקה
curl https://legal-ai.nautilus.marcusgroup.org/api/healthhalacha_batch_reconcile.py --linkמחזיר exit-code 1 עם הודעת שגיאה🤖 Generated with Claude Code
UI changes to halacha-review-panel.tsx: - instance_type badge (עיקרון מקורי / ציטוט / יישום) in meta row - "מוזכר ב-N פסיקות" pill when instance_count > 1 - CanonicalSection component: canonical_statement (view + edit), instances accordion Backend: - list_halachot SQL: adds canonical_id, instance_type, canonical_statement, instance_count via LEFT JOIN canonical_halachot - list_canonical_instances(canonical_id) → compact rows for accordion - GET /api/canonical-halachot/{canonical_id}/instances endpoint - PATCH /api/halachot/{id}: canonical_statement propagates to canonical_halachot - HalachaUpdateRequest: canonical_statement field - useCanonicalInstances hook + CanonicalInstance type in precedent-library.ts INV-G10 (chair gate): only the chair can edit canonical_statement (same flow as rule_statement — PATCH /api/halachot/{id} with reviewer="דפנה"). G2: canonical data flows through canonical_halachot, not a parallel store. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>