Memory Labeling and Utterance Type Schema

Archived. The conversation memory subsystem this page describes was removed in commit 3d5a03c (2026-03). The vector index was generalized to work with all Embeddable node types rather than conversation-specific utterances. See Hyle Graph-Native ORM with Dynamic Schema Registry for the current type system.

Historical Summary

The Memory Labeling and Utterance Type Schema defined how conversational data was structured, labeled, and queried within the Eidos knowledge graph. This system was refactored to resolve a critical label mismatch between write and read paths and to align with the Hyle ontological primitives by standardizing on UserUtterance and AssistantUtterance types.

What Was Removed

  • UserUtterance and AssistantUtterance node types (previously FriendUtterance / ClaudeUtterance)
  • GenericMemoryRepository — the memory-specific repository class
  • Triple Neo4j labeling: :Memory:Observation:UserUtterance
  • The unified MATCH (m:Memory) query pattern
  • Memory-specific write/read paths in queries.py

What Replaced It

The Hyle type system now handles all node types uniformly through BaseNode → primitive → concrete class hierarchy. Any node type with an embedding field automatically receives the Embeddable label for vector index inclusion. The NodeRepository[T] generic repository replaces the memory-specific repository.