Skip to main content

Artemis architecture

High-level overview

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

Artemis architecture diagramArtemis architecture diagram

Detailed Architecture

Here are additional details on the Artemis architecture:

Artemis architecture diagramArtemis architecture diagram

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.