.agents/memory/2026-02-16-signet-architecture.md

58 lines
2.3 KiB
Markdown

# 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