Addresses gemini-code-assist review feedback:
- All five files (portfolio_manager, research_manager, bear/bull researchers,
trader) now call .strip() on past_memory_str before injecting it into prompts,
removing the trailing '\n\n' artifacts from the construction loop.
- portfolio_manager now also makes the 'past reflections' phrasing in the
Investment Thesis instruction conditional on past_memories being non-empty,
so an empty memory section can't trigger hallucinated past reflections.
Conditionally include both the memory content and the surrounding
instruction only when past_memories is non-empty. Prevents agents from
hallucinating past lessons when no memories have been stored yet.
Affected agents: Bull Researcher, Bear Researcher, Research Manager,
Portfolio Manager, Trader.
LLMs (especially smaller models) sometimes pass multiple indicator
names as a single comma-separated string instead of making separate
tool calls. Split and process each individually at the tool boundary.
- Replace FinnHub with Alpha Vantage API in README documentation
- Implement comprehensive Alpha Vantage modules:
- Stock data (daily OHLCV with date filtering)
- Technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands, ATR)
- Fundamental data (overview, balance sheet, cashflow, income statement)
- News and sentiment data with insider transactions
- Update news analyst tools to use ticker-based news search
- Integrate Alpha Vantage vendor methods into interface routing
- Maintain backward compatibility with existing vendor system
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added support for running CLI and Ollama server via Docker
- Introduced tests for local embeddings model and standalone Docker setup
- Enabled conditional Ollama server launch via LLM_PROVIDER