fix: add debug log file locking, improve error logging, validate cloud API key

- Add portalocker file locking to debug_log() to prevent interleaved entries
- Add exc_info=True to curator _call_llm error logging for stack traces
- Add debug log message on JSON parse fallback in _parse_json_response
- Warn when cloud is enabled but API key env var is not set

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Claude Code
2026-04-01 16:15:56 -05:00
parent cbe12f0ebd
commit 6154e7974e
3 changed files with 13 additions and 2 deletions

View File

@@ -212,7 +212,7 @@ Remember: Respond with ONLY valid JSON. No markdown, no explanations, just the J
result = response.json()
return result.get("response", "")
except Exception as e:
logger.error(f"Failed to call LLM: {e}")
logger.error(f"LLM call failed: {e}", exc_info=True)
return ""
def _parse_json_response(self, response: str) -> Optional[Dict]:
@@ -223,6 +223,7 @@ Remember: Respond with ONLY valid JSON. No markdown, no explanations, just the J
try:
return json.loads(response)
except json.JSONDecodeError:
logger.debug("Direct JSON parse failed, trying brace extraction")
pass
try: