Excise CourtListener (US case law) integration

↗ view on GitHub · sloth-ninja · 2026-07-07 · e1fea922

Clean removal per docs/MIGRATION_SPEC.md §2 - code, LLM tools, prompts,
UI, DB surface, env vars, and docs. The legal-research seam
(buildSystemPrompt(includeResearchTools) / researchTools) is kept empty
for the Companies House and legislation.gov.uk integrations (WS1/WS2).

Backend: delete courtlistener client, tool definitions, /case-law route;
strip 5 tool branches + ~1k lines of turn-state/citation helpers from
chatTools.ts; remove the OpenAI citation-reminder suffix; drop the
'courtlistener' key provider and the legal_research_us setting from
settings/profile routes.

Frontend: delete CaseLawPanel, the orphan courts script, and the
/account/features page (only content was the US toggle; per decision the
UK sources ship without a toggle); remove CL SSE handlers, event types,
case-citation annotations, case tabs, and rendering blocks. Old chats
containing persisted US events still render - unknown event types are
skipped at render time (MIGRATION_SPEC §6 decision 6).

Database: authorised migration 20260706_remove_courtlistener.sql (drops
both index tables, deletes stored CL tokens, tightens the provider
CHECK, drops legal_research_us) + matching schema.sql edits.

Also: posttool hook now runs prettier only when a project defines a
prettier config (repo has none; auto-formatting upstream files would
violate minimal-diff), and docs/BUILD_LOG.md introduced - every PR
appends a scope/verification entry (now in the definition of done).

Verification: zero courtlistener/legal_research_us references left in
source (except the intentional unknown-event skip-guard); tsc clean in
both projects; frontend lint 35 errors vs 41 baseline; backend boots and
serves /health; next build passes with public env vars; evals:smoke 3/3
against the live legislation.gov.uk API.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Repository Sloth-ninja/JessicaOSS
Author sloth-ninja <ezanahaddis@gmail.com>
Authored
Parents 29721a50
Stats 33 files changed , +164 , -4965
Part of Excise CourtListener (US case-law) integration

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-e1fea922.md from inside the repo you want the change in.

⬇ Download capture-commit-e1fea922.md