feat: תיקון-ציטוט בדלי-החילוץ + קישור-לתור מדף-פרט (#133 follow-ups)
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 6s

אושר ב-Claude Design (כרטיס 20-halacha-followups).

א׳ תיקון-חילוץ אמיתי ל-quote_unverified:
- `update_halacha` מקבל `supporting_quote`; בעדכונו מריץ `_verify_quote`
  הקיים מול `case_law.full_text` השמור (דטרמיניסטי — בלי OCR/LLM מחדש,
  feedback_no_reocr_retrofit) ומסנכרן `quote_verified` + מוסיף/מסיר את
  הדגל `quote_unverified`. יו"ר שמדביק את הנוסח הנכון מהמקור → הדגל נמחק
  → ההלכה עוזבת את דלי-החילוץ. `HalachaUpdateRequest`+handler מעבירים את
  השדה; `HalachaPatch` + מצב-העריכה ב-HalachaCard כוללים textarea-ציטוט
  (נשלח רק כששונה) + hint.

ב׳ דף-פרט פסיקה — ביטול כפילות-המשטח:
- הלכה pending ב-`ExtractedHalachotSection` מציגה קישור "עבור לתור הלכות"
  במקום כפתורי אשר/דחה כפולים (שער-אישור יחיד, INV-IA/G10).
- `/precedents` Tabs הפך נשלט וקורא `?tab=review` (post-mount, בלי
  hydration-mismatch) כדי שהקישור ינחת על טאב-התור.

display-only ל-G10 (האימות מסנכרן מטא-איכות, לא review_status). ולידציה:
py_compile + tsc + eslint נקיים.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 09:03:29 +00:00
parent 99fe16a43d
commit 2962538c09
6 changed files with 96 additions and 25 deletions

View File

@@ -5960,6 +5960,7 @@ class HalachaUpdateRequest(BaseModel):
reasoning_summary: str | None = None
subject_tags: list[str] | None = None
practice_areas: list[str] | None = None
supporting_quote: str | None = None # #133 — edited quote → re-verify + sync flag
class HalachaBatchReviewRequest(BaseModel):
@@ -7253,6 +7254,7 @@ async def halacha_update(halacha_id: str, req: HalachaUpdateRequest):
reasoning_summary=req.reasoning_summary,
subject_tags=req.subject_tags,
practice_areas=req.practice_areas,
supporting_quote=req.supporting_quote,
)
if not row:
raise HTTPException(404, "הלכה לא נמצאה")