fix(extract): disable tools for digest LLM extraction (no error_max_turns)
חילוץ-המטא-דאטה של יומון הוא טקסט→JSON טהור, אבל ה-claude CLI רץ עם tools זמינים, ו-Sonnet לפעמים פולט stop_reason=tool_use → פוגע ב---max-turns 1 → error_max_turns → retry (איטי). מבזבז זמן רב בגיבוי-המוני. - claude_session.query/query_json: פרמטר חדש `tools` → מועבר כ---tools. "" = ביטוי כל ה-tools (אין tool_use → אין max-turns trip). None = ברירת-CLI. - digest_metadata_extractor.extract: מעביר tools="". אומת: extract על יומון 5160 ב-Sonnet+tools="" → num_turns=1, JSON תקין, ללא error_max_turns. claude_session נשאר local-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -101,6 +101,8 @@ async def extract(raw_text: str, model: str | None = None) -> dict:
|
||||
result = await claude_session.query_json(
|
||||
user_msg, system=DIGEST_EXTRACTION_PROMPT,
|
||||
model=(model or config.DIGEST_EXTRACT_MODEL or None),
|
||||
tools="", # pure text→JSON: disable tools so the model never emits
|
||||
# stop_reason=tool_use and trips --max-turns (error_max_turns).
|
||||
)
|
||||
except Exception as e: # surfaced as warning, not swallowed silently (§6)
|
||||
logger.warning("digest_metadata_extractor: query failed: %s", e)
|
||||
|
||||
Reference in New Issue
Block a user