Artemis architecture
High-level overview
This is a high-level overview of the Artemis architecture:

Detailed Architecture
Here are additional details on the Artemis architecture:

Glossary
Components and APIs
Artemis Frontend
The Artemis web application — the pages you see in your browser. It is the only part of the platform that can be reached from outside without logging in; everything else requires authentication.
API Gateway
The front door for all traffic. Every request from the web app or the CLI passes through the gateway, which forwards it to the right service behind the scenes.
Falcon Optimisation API
The heart of the platform. Falcon keeps track of everything about your projects — the code versions Artemis generates, their scores, and their validation results — and powers the Discover module, including experiment runs and the experiment memories behind Agents Memory. It also keeps your project's repository in sync with your git provider (GitHub, GitLab, Bitbucket, or Azure DevOps) and pushes live updates to your browser as work progresses.
Users API
Looks after everything to do with people and access: signing up, logging in, roles and permissions, user profiles, and connecting to your company directory via LDAP.
Loki Task API
The platform's task coordinator. When something needs to run — a build, a test, a benchmark — Loki decides which worker or runner picks it up, and broadcasts progress updates so the UI can show live status.
Agent Management API
Keeps track of every AI agent run on the platform: starting them, monitoring them, and cancelling them when asked. Agents can launch other agents, and their progress is checkpointed along the way — so if a run fails, it can pick up from the last good step instead of starting over.
Code Warden API
The service behind the Maintain module. It stores your code-quality rules, runs AI scans of your codebase against them, keeps a record of the issues found, and kicks off AI agents to fix them.
Quest API
The service behind planning in the Build module. When the Planning Agent breaks your goal into a structured plan — initiatives, epics, tasks, and subtasks — Quest stores that plan, tracks how tasks depend on each other and how far along each one is, and streams the agent's output to your screen as the plan takes shape.
LLM API
The single door to every AI model the platform can use. It natively supports providers such as OpenAI, Anthropic, Google, AWS Bedrock, and OpenRouter, plus custom endpoints — and it's where model provider profiles, credentials, and presets are managed.
Workers
Workers are the background processes that do the heavy lifting. They pick up tasks from a queue and report progress back to the platform.
Agentkit Worker
The engine that actually runs the AI agents. Whenever an agent works on your code — in Build, Maintain, Discover, or Optimise — it is an Agentkit worker doing the work, talking to the platform services and AI models along the way.
Celery Worker
Handles Falcon's background chores, such as checking your git provider for new commits and letting Code Warden know when the code has changed.
PR Create Worker
Opens pull requests on your git provider with the code changes Artemis generated.
Utility Worker
Prepares code suggestions for download.
Infrastructure
Data stores
- PostgreSQL — used by most platform services as their main database, including for agent run checkpoints
- MongoDB — used by the Users API, the Agent Management API, and the Loki Task API for their internal data
- Redis — used for caching and for queueing background jobs
- MinIO — used for storing project files and build artefacts (S3-compatible object storage)
Messaging
- Kafka — used to stream live status updates to the UI
- RabbitMQ — used to hand out tasks to workers
Git
- Gitea — used to keep an internal copy of each project's repository inside the platform
Observability
- Grafana Loki & Alloy — used to collect logs from every service for monitoring and troubleshooting
Artemis Custom Runner
The Artemis Custom Runner is a small program you run on your own hardware, outside the platform. It talks to the platform over REST: it receives build, test, and benchmark commands from the Loki Task API, executes them against a local copy of your code, and sends results, logs, and performance metrics back to the platform through Falcon.