# Signet Architecture Understanding - 2026-02-16 ## Core Concept Signet provides a **universal agent identity** that lives at `~/.agents/`. This is the agent's home directory, analogous to how each AI platform has its own home: - `~/.claude` → Claude Code's home - `~/.config/opencode` → OpenCode's home - `~/.openclaw` → OpenClaw's home - **`~/.agents` → the agent's home** (universal standard) ## Development vs Installed Client - `~/signet/signetai/` = source code repository (what we're building) - `~/.agents/` = installed client (what users get after running `signet setup`) The npm package bundles everything needed and creates the ~/.agents directory structure on install. ## Architecture ``` Master Agent Profile (database in ~/.agents) │ ▼ Signet Daemon │ ┌─────────┼─────────┬─────────┐ ▼ ▼ ▼ ▼ ~/.claude ~/.agents ~/.codex etc. CLAUDE.md AGENTS.md AGENTS.md │ │ │ ▼ ▼ ▼ Claude Code OpenClaw Codex ``` ## Key Principles 1. **Database is source of truth** - Markdown files are generated projections 2. **Harness adapters** - Each platform has an adapter that: - Knows the native config path (e.g., `~/.claude/CLAUDE.md`) - Generates harness-specific format from database - Parses changes back to database 3. **Hook adapters** - Platform-specific integrations that work within each tool's constraints while providing the same functionality (memory persistence, context injection) 4. **Not all tools look at ~/.agents by default** - We must play into each platform's limitations and regenerate their native config files ## Work Done This Session - Created `~/signet/signetai/packages/cli/templates/` with bundled memory scripts - Scripts included: memory.py, embeddings.py, hybrid_search.py, vector_store.py, export_embeddings.py, regenerate_memory.py, migrate.py, migrations/ - Updated CLI setup wizard to copy templates to `~/.agents/` and initialize database with schema v5 - Templates include AGENTS.md.template, MEMORY.md.template, config.yaml.template ## Next Steps - Implement harness adapters (Claude Code, OpenClaw, OpenCode) - Build the daemon that watches database and regenerates configs - Test full setup flow for new users