fix(metadata): לא להתיישב 'completed' בכשל-חילוץ-Gemini חולף (#138) #261
Reference in New Issue
Block a user
Delete Branch "worktree-metadata-no-settle-on-fail"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
רקע (#138)
המחלץ קרא רק
GEMINI_API_KEYבעוד בסביבה קייםGOOGLE_GEMINI_API_KEY— תוקן כבר ב-PR #255 (fallback, נמצא ב-main). PR זה סוגר את הבאג המשני שגרם לאובדן-בשקט.הבאג המשני
במסלול-הדריינר
process_pending_extractions, כש-extract_and_applyהחזירno_metadata(כשל-Gemini חולף), הקוד התיישב ל-metadata_status='completed'ללא-תנאי — הרשומה ננטשה בשקט עם מטא ריק והדריינר לא חזר אליה.נצפה:
da2d9ccb(4491-02-21),5fabdac5(14306-09-23) —completedאךcourt/date/summaryריקים.התיקון (G1 — אבחנת-מקור)
extract_and_applyמבדיל תוצאה-ריקה: ישfull_text→extraction_failed(חולף, בר-retry); איןfull_text→no_metadata(אין מה לחלץ).process_pending_extractions(metadata): עלextraction_failed→ חוזר ל-pending(משמר חותם-התור) במקוםcompleted. ה-retry-loop הקיים מנסה שוב; אחרי-מיצוי הרשומה נשארת בתור. מסלולreextract_metadataכבר עקבי.תיקון-נתון (בוצע)
דרך כלי-MCP
precedent_extract_metadata(רץ מקומית):da2d9ccb+5fabdac5חולצו-מחדש בהצלחה —court/date/summary/headnote/subject_tagsמלאים. 0 נותרו externalcompleted-but-empty.הערה: Coolify
מפתח-Gemini אינו נדרש ב-Coolify — המחלץ רץ רק מקומית (
precedent_library → extract_and_apply, host~/.envעםGOOGLE_GEMINI_API_KEY).app.py(קונטיינר) מייבא רק את הקבועPLACEHOLDER_PENDING_EXTRACTION, לא את פונקציית-החילוץ. אומת ע"י הצלחת ה-re-extract המקומי.בדיקות
test_metadata_extract_failure_status(חדש) — transient (יש טקסט) / permanent (אין טקסט) / record חסר.undefined-names+leak-guardנקיים.Invariants
🤖 Generated with Claude Code