Chaim
4fce9d503f
feat(migration): FU-2c — reconcile external case_law identifiers (GAP-08, #68)
External court precedents stored the full citation (designator + docket +
parties + Nevo date) inside case_number, violating INV-ID2/G1 (citation as
identifier). Chair decision 2026-05-31 (Option A): canonical external
case_number = proceeding-designator + docket, '/' preserved (court
convention, not X1's '/'→'-'); parties/court/date → citation_formatted.
scripts/fu2c_reconcile_external_case_numbers.py — deterministic dry-run →
chair-review → apply, mirroring FU-2b:
- extracts designator+docket; flags split into BLOCKING (MISMATCH /
CIT_NO_DOCKET / DESIG_MISMATCH / DUP_CHECK / NO_DOCKET) vs ADVISORY
(NO_CITATION — case_number fix still deterministic, missing citation is a
separate gap), so advisory rows apply while uncertain identity does not.
- --overrides CSV (id,proposed_canonical,citation_formatted,reason) for
audited chair adjudication of blocking rows.
- apply scoped to source_kind='external_upload' (task target) while keeping
cited_only/nevo_seed in the reconciliation VIEW so DUP_CHECK spans the full
external unique space; pre-flight collision guard before every UPDATE.
Applied to production 2026-05-31: 21 case_number normalized + 3
citation_formatted reconciled (D = consolidated Supreme Court judgment
לויתן/קלמנוביץ → lead docket 25226-04-25; 2×C empty citations composed from
metadata). אהוד שפר עע"מ 317/10 deferred — cross-source duplicate with an
existing cited_only reference (collision guard held; → #70). 49 cited_only
records out of scope → new task #70 (committee-form NNNN-NN dockets the
extractor misses, dedup, unresolvable "ערר אדלר"). Extraction + gating
verified offline on all 24 records.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 14:12:45 +00:00
..
2026-05-10 05:58:52 +00:00
2026-05-26 11:26:52 +00:00
2026-05-27 10:06:22 +00:00
2026-04-14 15:28:16 +00:00
2026-05-03 20:04:33 +00:00
2026-05-26 08:34:40 +00:00
2026-05-26 11:26:52 +00:00
2026-04-03 10:21:47 +00:00
2026-04-09 16:45:49 +00:00
2026-05-26 11:26:52 +00:00
2026-04-16 18:49:10 +00:00
2026-04-16 18:49:30 +00:00
2026-05-04 17:47:05 +00:00
2026-05-31 08:57:42 +00:00
2026-05-31 14:12:45 +00:00
2026-05-27 10:22:14 +00:00
2026-05-26 11:26:52 +00:00
2026-05-03 19:24:52 +00:00
2026-04-14 15:55:55 +00:00
2026-05-04 17:25:45 +00:00
2026-05-26 09:34:23 +00:00
2026-05-03 16:43:48 +00:00
2026-04-03 10:21:47 +00:00
2026-04-16 18:49:30 +00:00
2026-05-31 14:12:45 +00:00
2026-05-31 11:14:44 +00:00
2026-05-04 17:25:45 +00:00
2026-05-30 11:26:19 +00:00
2026-05-26 09:17:33 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00