Mohamed Douare Logo
FR

← Back to portfolio

The agent harness: the guarantees I give a client

Agents write code; they do not decide what ships. Every action goes through a harness that limits what they see, what they touch and what they can merge. These are the rules as they are configured, not as a slogan.

What the agents can do

Read and modify the code of a single project, in an isolated working copy (a git worktree) created for the task and removed afterwards.

Run the project's own checks: build, type checking, lint, tests, automated code review and security review.

Open a pull request to the integration branch dev, never anywhere else.

What they cannot do

Touch the production branch or deploy. Promotion to production is a manual pull request, opened and reviewed by a human.

Read or write secrets. Keys, certificates and .env files are excluded from git and injected into CI as encrypted secrets by a script that never prints them.

Act outside the repository. Any risky or outward-facing action (sending, deleting, publishing, rotating a secret) stops and waits for an explicit human approval.

Bypass the project's rules. Each repository carries a versioned policy file (requirements to read first, frozen design, conventions, delivery rules) that the agent must follow and that a human reviews like code.

What the client keeps

Traceability. Every change is a commit on a branch, a pull request and a review in the client's own git history. Nothing happens outside that history.

Reversibility. A pull request can be rejected, a commit reverted, a session stopped with one command.

Kill switch. A session stops immediately on command; a watchdog restarts or cuts a session that drifts; review loops have a maximum number of iterations.

Ownership. The code stays in the client's repositories (GitHub or Azure DevOps) and on the agreed infrastructure. No third-party orchestration platform sits in between: first-party tooling and reviewed shell scripts only. On request, the factory runs on the client's own server or Azure tenant.

Human gates. Specification, design, promotion to production. No feature code before the specification is approved.

What the model sees

Only the context the task needs: the project's files, never secrets or production data.

Model access is configured and documented so that the client's code is not used to train models.

Personal data held by the products (patients, employees) never passes through the development agents. When a product itself embeds a model (Aria, Pilume), the payload is de-identified and the output is validated by a schema and by a human.

Why a harness rather than trust

An effective agent is a fast one, and speed without limits is a risk. The harness sets the limits once, in reviewed and versioned files, so the agents' cadence never depends on their good will.

See also

AI Product Factory: how an idea becomes a reviewed pull request

Drafting a funding proposal without inventing a single figure

Pilume: an AI that explains a medication schedule but never decides it


Want the harness applied to your codebase? Send me an email and I will walk you through the setup.