92f0c7d208745c4bc679130c881d6c139a181e86
The `searchable` completeness flag is recomputed only at ingest end and after the Gemini metadata extractor. Internal-committee decisions skip Gemini, so when their summary/subject_tags/metadata are filled after ingest the flag goes stale and the row stays invisible to RAG despite being complete. Found 4 such decisions (1049-06-21, 8126-03-25 [יעקב עמיאל], 8181-21 [האוניברסיטה העברית], 85074-04-25) — all complete (chunks+embeddings, extraction+halacha completed, metadata present) yet searchable=false. Fix: recompute_searchable() at the end of update_case_law — the single chokepoint for metadata patches — so the derived flag never drifts from the content (G1). Existing stale rows already corrected via a one-off canonical recompute_searchable(None) run (corpus: 328 -> 332 searchable). Invariants: INV-DM1 (completeness contract) · G1 (normalize derived value at the write, no read-time patch). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge pull request 'fix(principles): cull resumability + cap criterion-A (consensus-first) (#152)' (#305) from worktree-canonical-synthesis into main
Description
AI Legal Decision Drafting System — MCP server, web upload, RAG search
Languages
Python
65.8%
TypeScript
32.2%
JavaScript
1%
Shell
0.7%
CSS
0.2%