diff --git a/mcp-server/src/legal_mcp/services/precedent_library.py b/mcp-server/src/legal_mcp/services/precedent_library.py index b419a21..792e18c 100644 --- a/mcp-server/src/legal_mcp/services/precedent_library.py +++ b/mcp-server/src/legal_mcp/services/precedent_library.py @@ -265,6 +265,11 @@ async def reextract_halachot( await progress("extracting_halachot", 50, "מחלץ הלכות מחדש") result = await halacha_extractor.extract(case_law_id) + # Clear the queue timestamp on completion so the UI badge / worker queue + # don't keep showing this row. The queue worker (process_pending_extractions) + # already does this; mirror it here so per-record extraction drains too. + if result.get("status") in ("completed", "no_halachot"): + await db.clear_extraction_request(case_law_id, kind="halacha") await progress( "completed", 100, @@ -411,6 +416,10 @@ async def reextract_metadata( await progress("extracting_metadata", 40, "מחלץ מטא-דאטה (תקציר, תגיות)") result = await precedent_metadata_extractor.extract_and_apply(case_law_id) + # Clear the queue timestamp so the UI / worker stop showing this row. + # See note in reextract_halachot. + if result.get("status") in ("completed", "no_changes"): + await db.clear_extraction_request(case_law_id, kind="metadata") fields = result.get("fields") or [] msg = ( f"מולאו {len(fields)} שדות: {', '.join(fields)}"