Skip to content

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)