This document defines the architecture, data model, workflow, and implementation plan for the Overmind system. The system enables users to configure AI agents representing typical software development roles and orchestrates them to plan, implement, test, review, and release software autonomously.
The system supports multiple model providers (OpenAI, Anthropic, Groq, Gemini, etc.) and dynamically populates available models based on provided API keys.
- Enable fully autonomous AI-driven software development
- Support configurable team composition and roles
- Allow provider-agnostic model selection per agent
- Maintain persistent state and full auditability
- Execute deterministic, reproducible development runs
- Integrate directly with git repositories
- Provide real-time visibility into agent activities
- Allow replay and debugging of runs
- Support cost and token budget controls
- Enable extensibility for new providers and roles
Responsible for coordinating the entire development lifecycle.
Responsibilities:
- Run workflow pipelines
- Assign tasks to agents
- Track progress and state
- Enforce policies and permissions
- Handle retries and failures
Location:
app/core/orchestrator.py
Executes AI agents representing development roles.
Responsibilities:
- Load agent configuration
- Build prompts
- Call provider APIs
- Validate structured outputs
- Store artifacts
Location:
app/agents/runtime.py
Abstracts model providers and enables dynamic model discovery.
Responsibilities:
- Validate API keys
- Fetch available models
- Normalize model metadata
- Execute inference requests
Location:
app/providers/
Example adapters:
openai_provider.py
anthropic_provider.py
groq_provider.py
gemini_provider.py
Caches and manages model metadata.
Responsibilities:
- Cache provider model lists
- Normalize model properties
- Provide filtered lists to UI
Location:
app/providers/model_registry.py
Handles git operations and isolated execution environments.
Responsibilities:
- Clone repositories
- Create branches
- Apply patches
- Run tests
- Commit and merge
Location:
app/repo/workspace.py
Stores all system state.
Recommended initial backend:
- SQLite
Future option:
- PostgreSQL
Location:
app/db/
Provides REST and WebSocket interfaces.
Framework:
- FastAPI
Location:
app/api/
Provides configuration and monitoring tools.
Responsibilities:
- Project management
- Team configuration
- Run monitoring
- Artifact viewing
Location:
app/ui/
app/
api/
core/
agents/
providers/
repo/
db/
ui/
models/
tests/
docs/
id
name
repo_url
repo_local_path
default_branch
overview
constraints
coding_standards
definition_of_done
created_at
id
project_id
name
template
created_at
id
team_id
role
provider
model
permissions
capabilities
created_at
Permissions example:
read_repo
write_repo
run_tests
create_pr
merge_pr
id
project_id
team_id
goal
status
start_time
end_time
token_usage
cost_estimate
id
run_id
title
description
acceptance_criteria
assigned_role
dependencies
status
created_at
completed_at
id
task_id
type
content
created_at
Artifact types:
- Plan
- Patch
- TestReport
- Review
- Decision
- Bug
Responsibilities:
- Interpret project goals
- Create user stories
- Define priorities
Responsibilities:
- Convert stories into tasks
- Assign tasks
- Manage dependencies
Responsibilities:
- Ensure architectural consistency
- Review technical decisions
Responsibilities:
- Implement features
- Fix bugs
- Write tests
Responsibilities:
- Execute tests
- Identify defects
- Validate acceptance criteria
Responsibilities:
- Merge changes
- Tag releases
- Generate release notes
Input:
- Project selection
- Team selection
- Goal
Output:
- Run created
Agents:
- Product Owner
- Delivery Manager
Output:
- Backlog
- Tasks
Agents:
- Developers
Output:
- Code patches
Agents:
- QA
Output:
- Test reports
Agents:
- Tech Lead
- Manager
Output:
- Review artifacts
Agents:
- Release Manager
Output:
- Merge
- Tag
- Changelog
Required methods:
validate_key()
list_models()
invoke_model()
id
provider
supports_tools
supports_vision
context_length
recommended_roles
- User enters API key
- System validates key
- System fetches models
- System caches models
- UI updates role model dropdowns
Capabilities:
- Clone repository
- Create branch
- Apply patch
- Commit
- Merge
- Run tests
Isolation options:
- Local virtualenv
- Docker container
All agent outputs must conform to structured schemas.
Example artifact structure:
{
"type": "Patch",
"summary": "Add login endpoint",
"files": []
}
create_run()
plan()
execute_tasks()
run_tests()
review_changes()
release()
complete_run()
@break: pauses all agent work for the active run.@attention: pauses work and calls a team meeting.@resume: resumes work (any stakeholder message also resumes).
Rules:
- One writer per file/module
- Multiple readers allowed
Configurable:
- Max tokens per task
- Max tokens per run
- Max retries
Examples:
POST /projects
GET /projects
POST /teams
GET /models
POST /runs
GET /runs
GET /tasks
GET /artifacts
- Create
- Select
- Configure agents
- Select models
- Monitor progress
- View artifacts
- Provider keys
- Database
- Schemas
- Provider adapters
- Agent runtime
- Orchestrator
- Git integration
- Testing integration
- UI
- Hardening
- Secret isolation
- Permission enforcement
- Audit logging
Supports:
- New providers
- New roles
- New workflows
This system provides a complete architecture for fully automated AI-driven software development, with configurable teams, dynamic model selection, persistent state management, and deterministic orchestration.
It is designed to be scalable, auditable, and extensible.
End of Document