Supersedes HANDOFF-2026-07-13.md (its §7 and §6 items are DONE). This session: const snapshot-diff harness shipped + 6 fixes (task #7 capstone — 1889/1895/1925 snapshots now 100%), caption queue worked to zero (472 corrections), reversion-recovery Phase 2+4 closed (task #8 — ZERO body reversions across 5,059 token checks, now a standing invariant), v1.4.0 RELEASED + pushed, backups pruned (136 GB), the three citation-graph manual queues worked to root cause (50 wrong §4 registrations repealed; name_match shipped), and proofing fleet P67 applied (679 edits / 100 opinions).
- Corpus 19,825; invariants 88 ok / 5 known / 0 regressed (93 checks — 3 new:
body_tokens_not_reverted,nd_garbled_paragraph_markers24,ocr_artifact_chars0); 227 tests. - v1.4.0 released & pushed (all 7 DB assets; branch synced to origin at the release commit). Live server self-updates on release detection.
- DB changes SINCE v1.4.0 (unreleased): oos-repeal batch (53 rows), collision work, caption singleton 11482, fleet P67 (+residue, 679 rows). Next release picks these up.
- print_anomalies: 910 active citation overrides (934 + 2 new − 51 repealed
- 25 prior).
- Fleet cursor: P67 DONE → next P68 (OFFSET 5950, after 2002 ND 131).
scripts/const_snapshot_diff.py: 15 snapshots 1889–1989 vs live DB, stale-print
vs LATER_VERSION diagnostics. Fixes (batch const-snapshot-fixes-2026-07-13):
§ 95/§ 96 merge split + § 96 1889 backfill; art. VI § 12/§ 12.1 CURRENT-text
merge split (§ 12.1 was missing entirely; ndconst.org has the same defect —
flag for the DokuWiki audit); § 216 Lisbon + baked annotations; § 203 intro +
7 witness-verified fixes. Filed holes (TODO-const-history-validation.md §5):
art. VII pre-1982 heads (re-examine the "genuinely new" 2026-06-15 conclusion
first — the 1981 BB prints an art. VII), art. IV §§ 2/5/11 stubs, art. V § 14 +
art. X §§ 10.1/12.1/14.1 missing repealed provisions.
reconcile_corrections --tokens = Phase 2 (12 kinds, 5,059 checks, ZERO
reverted; 7 residuals adjudicated). Phase 4 = the three new invariants.
Durable traps confirmed: print-anomalies-registry changelog rows have
REVERSED semantics (new_value = the printed anomaly that must STAY — a
"fix" of 15948's '599 N.W.3d 323' was self-caught and reverted; the PDF
prints the typo line-wrapped, single-line greps miss it); West re-promoted
bodies print statute cites with EN-DASHES. Bycatch: 233-row
cite-spacing-residual batch (227 rejoins + 3 PDF-verified page-digit
injections).
ndcourts_mcp/name_match.py (agency aliases, abbreviation stems,
party-initials groups) wired into the witness audit, cite_reconcile, and
cite_extract._resolve_cited_oid (rebuilds keep resolutions).
- REPEALED 50 wrong §4 registrations — the OUT-OF-STATE class (N.W. is
regional; same-named cases across states defeat any name guard). Guards now:
out_of_state_context,nonagency_pair(alias expansion finds candidates, never qualifies alone), format-luck tie guard. pa71 restored (Northwest Airlines), pa51→Hangsleben 2012 ND 42, pa170→Aker 2005 ND 81. - Queues now TYPED: reconcile-manual 676 (411 ambiguous / 174 no-anchor / 50 oos-adjudicated / 31 fictitious / 6 confusable); collisions real-residue 213; witness 1,535 (sharper detector — old one PASSED "Interest of B.F."→"I.F." on the shared word; bulk is caption-convention variance).
- NEW DEFECT SURFACES (typed follow-ups): (a) ~70 collision rows blocked only by PLACEHOLDER filing dates (op 19902 = 2024-01-01 yet cites May 2024); (b) missing N.W.2d TABLE parallels (Haugen v. Simmons 2015 ND 25 lacks 861 N.W.2d 172 — its cites can't resolve); (c) B.H. v. K.D. twins 11481/11482 (same docket Civ. No. 920383 — §6 dup pair; 20 collision rows wait on it; 11482's "Bh v. Kd" caption fixed meanwhile).
caption-lint-2026-07-13 (357: double-space bulk + 7 West-verified) +
caption-retitle-2026-07-13 (115: 83 retitles of West running-head caps,
15 typo repairs incl. CITIZINES/ENDERLINE, 17 truncated docket annotations
stripped). Audit hardened (initials/CONFIDENTIAL exempt from caps ratio;
_LINT_ADJUDICATED for 16 digit-bearing names; GADECO stays caps — the
court prints it so). case_name_lint = 0 flags.
- Release + deploy the post-v1.4.0 changes (oos-repeal, P67) when ready.
- Task #9 — heartbeats / upstream-correction watch (audit #23).
- Typed follow-ups from §3: placeholder-date fix batch, N.W.2d table-parallel backfill, B.H./K.D. dup adjudication.
- Reconcile-manual 411 ambiguous + 174 no-anchor (per-row, pincite/PDF checks — fleet-shaped); collisions 213 (PCR chains need pincites).
- Fleets P68 → ~P78 (OFFSET 5950). P67 leftovers: 4 markup-wrap markers
deferred (
triage/marker-triage-markup-wrap.json), 1 unknown. - Const modern-layer holes (§1 above); 1889↔modern crosswalk (needs Replacement Vol 13).
- print-anomalies-registry rows: REVERSED old/new semantics (§2).
- N.W. is REGIONAL: never reconcile a printed N.W. cite into ND without the out-of-state context check (§3).
- Alias expansion (name_match) finds candidates but must never qualify a match alone; BND/BNSF deliberately NOT aliased (common-word poisoning).
- West re-promoted bodies use EN-DASH statute cites ('41–09–07') — dash- normalize before matching.
- Court PDFs print typos we preserve (15948 N.W.3d): check the registry BEFORE "fixing" any odd cite; line-wrapped PDF text defeats single-line greps.