MicroFish/backend/app/graph
Ubuntu 6bce05dca2 fix(graphiti): flatten nested attribute dicts before Neo4j write; hide summary from properties panel
Graphiti's attribute extraction LLM sometimes returns values wrapped in
nested dicts ({"value": "CTTI"}) instead of plain strings. Neo4j rejects
these with TypeError: "Property values can only be of primitive types".

Fix: after _AzureGenericClient gets the LLM response, validate it through
the Pydantic response_model and call _flatten_attributes() so every value
reaching Neo4j is a scalar. Also add _flatten_attributes() helper.

UI: exclude 'summary' from the Properties section of the node detail panel
since it already appears in the dedicated Summary section below.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 20:08:39 +00:00
..
__init__.py feat(graph): add GraphBackendFactory singleton 2026-04-25 12:59:56 +00:00
base.py feat(graph): add GraphBackend abstract interface 2026-04-25 11:11:06 +00:00
factory.py feat(graph): add GraphBackendFactory singleton 2026-04-25 12:59:56 +00:00
graphiti_backend.py fix(graphiti): flatten nested attribute dicts before Neo4j write; hide summary from properties panel 2026-04-25 20:08:39 +00:00
zep_backend.py feat(graph): add ZepBackend adapter implementing GraphBackend 2026-04-25 11:29:59 +00:00