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>
352 KiB
352 KiB