Skip to content

Project Structure

Top Level

Path Purpose
sonality/ Runtime package
tests/ Deterministic unit tests
benches/ Benchmark and live-eval harnesses
docs/ User-facing documentation

Runtime Modules

Module Responsibility
sonality/agent.py Main orchestration (respond)
sonality/provider.py Unified OpenAI-compatible API client
sonality/ess.py ESS classification and coercion-safe parsing
sonality/prompts.py System prompt construction
sonality/config.py Configuration and defaults
sonality/memory/graph.py Neo4j graph storage/traversal
sonality/memory/dual_store.py Dual-store write and consistency
sonality/memory/semantic_features.py Feature ingestion worker
sonality/memory/sponge.py Personality state and persistence
sonality/memory/retrieval/ Router, chain/split agents, reranker

Runtime Data

Path Meaning
data/sponge.json Current personality state
data/sponge_history/ Archived snapshots
data/ess_log.jsonl Audit events

Persistent episodic/semantic memory lives in Neo4j/PostgreSQL, not local Chroma files.