Skip to content

AI Coding & Build

Agents write the code. Gates decide what ships.

We run agentic coding the way regulated teams run change control: a written spec, a human gate, an eval gate, and a provenance trailer on every generated line — so speed never costs you the audit trail.

Approach

Six controls between a prompt and production

Each control is a mechanism in the repository or CI, not a policy document. Remove one and the pipeline fails closed.

Spec-driven development

The spec is the contract

Work starts as a versioned spec whose acceptance criteria are executable checks. Agents implement against the spec file, and CI rejects any PR that does not reference a spec ID.

Agentic coding, human gates

Agents propose; people dispose

Agents run on scoped branches with least-privilege tokens and no production credentials. Branch protection lets them open PRs but never merge; CODEOWNERS routes every AI-authored change to a named reviewer.

Cursor Rules governance

Conventions enforced in the editor

Rule files live in the repository, are reviewed like code, and pin architecture boundaries, banned APIs and secret handling. A CI check diffs them against the platform baseline so local edits cannot quietly weaken them.

Eval-gated merges

No regression beyond the band

CI runs the golden-set eval suite on every PR and refuses merges whose score regresses beyond the tolerance band declared for that service; the score, the band and the failing cases are posted to the PR.

Provenance on every line

Every hunk knows where it came from

Every AI-authored hunk carries a commit trailer with model, prompt hash and reviewer. A post-merge job writes those trailers to the decision ledger, so any production line can be traced to the prompt that produced it.

Sandboxed agent runtime

Blast radius set before the first prompt

Agents execute in ephemeral containers with egress allow-lists and read-only mounts outside the working tree; model calls leave through private endpoints and are logged, so a misbehaving agent is contained, not trusted.

Pipeline

From spec to provenance ledger

Seven stages, two gates, two loops. Amber marks the gates: nothing passes them on an agent's say-so.

  1. 01 · Human

    Spec

    A versioned spec with acceptance criteria written as executable checks. Its ID is required in the branch name and the PR, or CI rejects the PR.

  2. 02 · Agent

    Plan

    The agent proposes a task graph, the files it will touch and the risks it sees; an engineer approves the plan before any code is generated.

  3. 03 · Agent

    Agent implementation

    Agents work on a scoped branch with least-privilege tokens, no production credentials, and the repository's Cursor Rules loaded into every session.

  4. 04 · Reviewer

    Human gate

    CODEOWNERS routes the PR to a named reviewer who approves the diff, not the summary. Branch protection lets agents open PRs but never merge them.

  5. 05 · CI

    Eval gate

    CI runs unit tests, the spec's acceptance checks and the golden-set eval suite. A score that regresses beyond the service's tolerance band fails the build.

  6. 06 · CI

    Merge

    Squash-merge produces a signed commit whose trailers record model, prompt hash, spec ID and reviewer for every AI-authored hunk.

  7. 07 · System

    Provenance ledger

    A post-merge job writes the trailers to the hash-chained decision ledger, so any line in production traces back to its prompt, reviewer and eval score.

  8. Loops

    Rejections return to the agent

    Changes requested at the human gate, or an eval score below tolerance, send the work back to implementation with the reviewer's notes or the failing cases attached as context.

Tools constellation

Every tool orbits one control plane

Models, agents, media generators and builders all reach work through the Earp Orchestration Layer, which applies identity, guardrails and ledger logging the same way whichever vendor sits behind it.

Core

Earp Orchestration Layer

Outer orbit · Coding & agents

Bring agentic coding under change control

We install the spec template, Cursor Rules baseline, eval gate and provenance trailers in your repositories, then run the first features through them with your engineers.