1. get_all(): use LIMIT in Cypher query instead of Python slicing
2. _delete_entities/_add_entities: single commit after loop with
rollback on failure to prevent partial commits
3. _merge_node(): combine agent_id/run_id into single SET query
(was up to 3 round-trips, now always 1)
4. Add close() method for connection cleanup
5. Extract _get_similar_nodes() helper to deduplicate similarity logic
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>