Add a Claude/Anthropic-driven graph construction engine as a drop-in
alternative to the Zep-based one. Each text chunk is sent to Claude
with a tool-use schema derived from the generated ontology, extracting
only entities/relationships explicitly grounded in the text and
merging them into a local JSON graph store. Same service interface and
graph data shape as the Zep engine, so the existing D3 visualization
works unmodified.
- backend/app/services/claude_graph_builder.py: Claude extraction agent
- backend/app/models/graph_store.py: local JSON graph persistence
- backend/app/api/graph.py: engine selection (claude/zep) on build/data/delete routes
- frontend: Claude/Zep engine toggle on the Graph Build step, defaults to Claude
- config, requirements, locales, README/.env.example updated accordingly
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.
- 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.