Eidos Curator Agent and Hyle Ontological Framework
Summary
The Curator Agent is an autonomous maintenance service designed to ensure the health and consistency of the Eidos knowledge graph. It operates on the Hyle framework, a first-principles ontological system that replaces legacy “personal companion” models with a rigorous structure based on four primitives: Entity, Process, Law, and Observation.
Details
The Curator Agent was conceived as a “living maintenance agent” for the Sókrates project, moving beyond simple test harnesses to provide active context curation. Its primary responsibilities include consolidating duplicate or redundant memories, flagging obsolete or contradictory information, and maintaining persistent context for the primary Hermes agent.
The Hyle Ontological Framework
The transition to the Hyle framework represents a fundamental redesign of the Eidos domain model, moving away from the “Eidos” legacy where all data was labeled as a “Memory.” The new system utilizes a metaclass-based node registry (HyleMeta) and a decorator-based registration system (@node) to manage a strictly typed graph. All knowledge within Eidos is categorized into one of four ontological primitives:
- Entity: Things with identity that persist over time (e.g., services, people, repositories, configurations).
- Process: Activities, workflows, or transformations that unfold over time (e.g., migrations, deployments, curation runs).
- Law: System invariants, constraints, rules, or architectural decisions (e.g., “Hermes has channel credentials but no customer system access”).
- Observation: Raw evidence, measurements, or events (e.g., logs, metrics, conversation excerpts, status checks).
This framework allows the Curator to perform sophisticated reasoning. For example, the Curator can identify a contradiction when an Observation violates a Law, or mark an Entity as obsolete when it no longer matches recent Observations.
Technical Implementation
The system is built using a robust Python stack centered on Pydantic and Neo4j. Key components include:
- BaseNode & BaseEdge: The root classes for all graph elements.
BaseNodecarries structural identity (UUID, node_type, timestamps, source), whileBaseEdgeprovides typed, directed relationships (e.g.,Evidences,Constrains,ParticipatesIn). - NodeRegistry: A standalone, injectable object that maps
node_typestrings to Python classes, enabling dynamic discriminated unions and schema versioning. - Curator Agent: A
pydantic-aiagent that lives in a dedicatedagents/workspace package. Currently configured to useopenrouter:qwen/qwen3.6-plus-preview:free(model selection will evolve as the stack matures). It interacts with Eidos via anEidosClientHTTP wrapper rather than touching the Neo4j database directly. Tools:query_all_nodes,find_similar_nodes,check_health. - Hermes Integration (partially wired): The
hermes-plugin/sokrates/plugin registers arun_curatortool. The curator produces aCurationReportcontaining proposedCurationProposalactions (merge, archive, flag_obsolete, flag_contradiction) with target node IDs and reasoning. The end-to-end pipeline (cron trigger → curator run → Telegram approval → action execution) is designed but not yet fully operational.
Deployment and Observability
The Curator and the Hyle infrastructure are deployed as part of the NixOS appliance stack. The agents/ package is managed via uv and integrated into the Sókrates workspace. Observability is handled through Logfire, providing automated tracing for agentic workflows and tool calls. The system enforces a strict security boundary where Hermes manages channel I/O but relies on Eidos for intelligence and secret management, a policy codified as a Law within the graph itself.
Related
- Eidos
- Hermes Agent
- Hyle Type System
- NixOS
- Neo4j
- sokrates-ctl