f63bd4df0f392abdb3ce246bf5bc68768cb4f449
extract_and_store read the WHOLE full_text, so a ruling a party cited in its own arguments (block ז / appellant_claims / parties_claims) was recorded as the deciding committee citing it — and surfaced as "צוטט ע״י דפנה". Example: ערר 130/10 appears only in the appellant_claims chunk of decision 1200-12-25, yet was attributed to the chair. Fix: build the extraction text from the discussion/ruling chunks via the halacha extractor's _select_extractable_chunks (G2 — one definition of "reasoning sections": legal_analysis/ruling/conclusion + discussion-anchor, excluding facts/claims/intro). Falls back to full_text only for un-chunked rows. A citation now reflects the deciding body's reliance, not a party's argument. Existing data reconciled via a one-off (backup data/audit/citation-edges-backup-*.csv): per source decision, dropped edges whose cited number is absent from the discussion-only set — 82 of 398 removed (incl. ערר 130/10 ↔ 1200-12-25); 316 genuine edges kept. Invariants: G1 (correct at the source) · G2 (single reasoning-section selector, shared with halacha extraction) · INV-LRN2 (quality-at-source). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge pull request 'fix(principles): cull resumability + cap criterion-A (consensus-first) (#152)' (#305) from worktree-canonical-synthesis into main
Description
AI Legal Decision Drafting System — MCP server, web upload, RAG search
Languages
Python
65.8%
TypeScript
32.2%
JavaScript
1%
Shell
0.7%
CSS
0.2%