Component Map¶
Top-level modules under src/donna/. See
spec_v3.md §3.3 Component Map for the
design narrative. Each package below links to its auto-generated reference.
graph LR
subgraph Channels
Discord[integrations.discord_bot]
SMS[integrations.twilio_sms]
Voice[integrations.twilio_voice]
Gmail[integrations.gmail]
end
subgraph Core
Orch[orchestrator]
Router[models.router]
Skills[skills.executor]
Tools[skills.tool_dispatch]
State[tasks.state_machine]
end
subgraph Stores
SQLite[(tasks.database\nSQLite)]
Supabase[(integrations.supabase_sync)]
Log[(logging.invocation_logger)]
end
subgraph Cross-cutting
Cost[cost.budget_guard]
Resil[resilience]
Sched[scheduling]
Auto[automations]
Chat[chat]
Agents[agents]
Prefs[preferences]
end
Discord & SMS & Voice & Gmail --> Orch
Orch --> Skills
Skills --> Router
Skills --> Tools
Router --> Log
Router -. budget .-> Cost
Orch --> State
State --> SQLite
SQLite --> Supabase
Orch --> Sched
Sched --> Auto
Orch --> Chat
Orch --> Agents
Agents --> Prefs
Router -. fallback .-> Resil
Package-by-Package¶
| Package | Responsibility |
|---|---|
donna.orchestrator |
Route inbound events to skills / agents |
donna.models |
ModelRouter, providers, quality spot-checks, token accounting |
donna.skills |
Multi-step skill executor, tool dispatcher, validation |
donna.agents |
PM, scheduler, challenger, decomposition, prep agents |
donna.tasks |
Task database, domain models, state machine |
donna.scheduling |
Priority engine, calendar sync, weekly planner |
donna.integrations |
Discord, Twilio, Gmail, Supabase |
donna.automations |
Cron dispatch, cadence policy, lifecycle |
donna.chat |
Intent routing, context management |
donna.preferences |
Correction logging, rule extraction |
donna.cost |
Budget guard, cost tracker |
donna.logging |
Structured invocation logging |
donna.resilience |
Retries, circuit breaker, backup, health |
donna.api |
REST API and auth for the Flutter client |
donna.capabilities |
Capability metadata, embeddings |
donna.notifications |
Channel abstractions, escalation |
donna.llm |
Rate limiter, alerter |
donna.memory |
MemoryStore (sqlite-vec), embedding provider, chunkers, and the Vault / Chat / Task / Correction sources that feed the semantic index (slices 13–14) |