Add analyze_comments() that calls LLM to evaluate each teacher comment:
- valid criticism -> fixes list (LLM will fix these)
- incorrect/misunderstood -> defenses list (LLM adds NOTE: comments in code)
Verdict: needs_fixes | already_correct | mixed
solve() now prints analysis verdict and counts before generation.
Commit message on rework includes verdict + fix/defense counts.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Explicitly forbid langchain_ollama/OllamaEmbeddings in _PROMPT.
ChromaDB template now uses OpenAIEmbeddings via OpenRouter.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- reconfigure() вместо нового TextIOWrapper — не ломается при редиректе
- _is_429() с рекурсивным обходом ExceptionGroup (anyio оборачивает 429)
- except BaseException в _load_mcp / mcp_call для перехвата ExceptionGroup
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- solve_task: add fetch_all_tasks() for monitoring all task statuses
- console.py: tasks command now uses fetch_all_tasks with formatted table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- solve_task.py: add fetch_todo_tasks(), _parse_todo_tasks(), run_all()
- run_all() auto-fetches all todo tasks from BroJS and solves each one
- run_pipeline.py: rewrite to just call run_all() from solve_task
- supports: python run_pipeline.py (auto), run_pipeline.py <id...> (targeted)
- TARGET_IDS list for hardcoded targets without CLI args
- no deepagents imports = no double MCP load on startup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>