903fb4d140892932416fe42e55a53b0a0faf3690
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m30s
The case_delete tool in tools/cases.py and the DELETE /api/cases endpoint in web/app.py both invoke await db.delete_case(case_id), but no such function existed in services/db.py — every call returned 500 with an AttributeError. Discovered while wiping case 8174-24 for a clean rerun. Implementation is straightforward because the FK graph already does the work: 7 dependent tables CASCADE on cases.id (documents, document_chunks, claims, appraiser_facts, decisions, qa_results, case_precedents) and 2 SET NULL (audit_log, chair_feedback). A single DELETE FROM cases is enough — no manual ordering needed. Documented in the docstring that this only touches the legal-ai DB — Paperclip projects/issues and Gitea repos for the case are separate systems and must be cleaned up by the caller. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
AI Legal Decision Drafting System — MCP server, web upload, RAG search
Languages
Python
59.1%
TypeScript
37.4%
JavaScript
1.7%
Shell
1.2%
CSS
0.5%
Other
0.1%