How Apex is designed to work

Apex is in development. This page describes how it is designed to work.

Designed to run inside the customer's GitHub organization

Apex is designed to run as a GitHub App inside the customer's own GitHub organization. In the design, the customer pays the running costs, using their own runners and their own AI keys, and keeps custody of their code. Apex is designed so a person makes the acceptance decision.

The rules in the design

In the design, the customer supplies a constitution (their rules) and workflows, and Apex is designed to evolve their software under those rules.

How a change is designed to reach a merge

In the design, Apex proposes a change, and the AI that wrote it does not judge it. In the design, a separate check tests the change against rules it is meant to keep meeting. In the design, passing is not permission. Apex is designed so a person makes the acceptance decision.

The design aims for improvements to only ratchet upward: once a merged change has shown something, later changes are meant to keep meeting it. In the design, the machine cannot move that bar by itself, and this compounding behaviour is not yet proven.