- Remove Zep Cloud dependency entirely (zep_entity_reader, zep_graph_memory_updater, zep_tools, zep_paging)
- Add local SQLite-based graph store with LLM-powered entity extraction
- Add local embeddings utility and graph tools service
- Translate all backend docstrings, LLM prompts, and UI to English
- Set English as default language, remove Chinese locale (zh.json)
- Add Ollama setup guide and configure .env.example for Ollama
- Add AGENTS.md for AI agent context
- Fix pyright type errors in models/services
- Add Nedbank Africa expansion preset
- Clean up Docker configuration and README
Background threads (graph building, simulation prep, report generation,
profile generation) now inherit the requesting user's locale preference.
Previously these fell back to 'zh' because Flask request context was
unavailable in spawned threads.
TaskManager.list_tasks() already returns a list of dicts (it calls
t.to_dict() internally at task.py:170). The endpoint then called
.to_dict() again on these plain dicts, raising AttributeError on
every request to GET /api/graph/tasks.
- Updated README.md to reflect the removal of the project creation endpoint, adjusting the workflow steps accordingly.
- Removed the `create_project` function from graph.py, streamlining the project management API by eliminating deprecated functionality.