All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m31s
Defense in depth — the MCP wrapper guard catches researcher uploads, but the HTTP API (/api/precedent-library/upload) bypasses the wrapper and calls services.precedent_library.ingest_precedent directly. The guard now also lives in the service, so HTTP uploads of ערר/בל"מ citations to the external corpus get rejected at the source. Companion to DB constraint case_law_external_arar_check (applied via psql) — three independent layers now enforce the same invariant. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>