AI Proving Ground gives you a Drupal site with known content, made to test AI agents. You give an agent a task, for example "Make a View that shows these pages". The agent does the task on a real Drupal site. Then AI Proving Ground examines what the agent saved, and runs it. It does not use the report of the agent.

Why

An agent can report "done" when the work is wrong. For example, a View can have a valid configuration and show the wrong rows.

To find these errors, you need three things:

This project gives you these three things as a Drupal recipe and some DDEV commands.

Who it is for

How it works

The grader is the code that does the checks. It is part of AI Eval.

  1. Prepare the site. ddev ai-eval-provision kb_docs canvas_home installs the sample content. Then it saves a snapshot: the database, the public files, and a git tag of the code.
  2. Reset the site. ddev ai-eval-reset restores the database, the public uploaded files and the folders config/sync, web/modules/custom and recipes. Do a reset before each attempt.
  3. Run the agent. ddev ai-eval-run dv01_view_build shows the task and records the attempt. Give the task to the agent that you want to test. When the agent stops, push Enter. The command then shows the grade command for this attempt.
  4. Grade the result. ddev ai-eval-grade dv01_view_build --run=<run-id> examines the site and shows the score as JSON. The run ID connects the score to the attempt.

ddev ai-eval-doctor examines the sample content, the necessary modules and the grader code. It tells you what changed.

An example

The repository has one task with two results. The second View has a default value on its exposed section filter. This configuration is valid, but the page shows 4 rows, not 12.

A configuration check accepts the two results. AI Proving Ground also runs the View. It finds that 8 rows are not on the page. The first result gets 5 points out of 5. The second result gets 0 points. The files and a script to do the test again are in docs/experiments/.

What you get

Safety checks

These checks are for attempts that run without a person who watches.

Your own tests

Use the two sample tasks as examples. To test your own module, do these steps:

  1. Make your content. Make the content and configuration for your test on a site. Export them with one command to recipes/fixture_<name>/ in your project. This folder is a fixture: a Drupal recipe with configuration and content. The content keeps its UUIDs after each import. Keep the fixture in the git repository of your project. Updates to AI Proving Ground do not change it.
  2. Write your tasks. Write each task and its checks in a YAML file in the datasets/ folder of your module. The module must be enabled.
  3. Select the fixtures. Give the names of the fixtures for each test: ddev ai-eval-provision kb_docs <name>. Each set of fixtures has its own snapshot.

The README shows all the steps.

Agent skills

The repository has two agent skills in the skills/ folder:

CAUTION: Give these skills only to the agent that runs the evaluations. Do not put them in the project of the agent that you test. The skills tell where the correct answers are.

Status

Alpha. On 16 October 2026, I did all the steps on this page on new Drupal CMS sites with Canvas 1.12. I used AI Eval 1.0.0-beta6 on one site and AI Eval 1.1.x on another site. All the safety checks operated correctly.

Known limits:

Requirements

Installation

  1. CAUTION: Include the option --agents none in the next command. Without this option, the installer adds Claude Code to the site, and your own Claude login goes into the site. An agent that you test must not have your login.
  2. Make a new Drupal CMS site with Droost. Use the One Line Installer:
    bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --yolo --name my-test-site --extras droost --agents none
  3. Add the modules: ddev composer require drupal/ai_eval drupal/ai_proving_ground
  4. Copy the DDEV commands from recipes/ai_proving_ground/ddev/ to the .ddev/ folder of your project. The README shows the commands to do this.
  5. Remove the line /recipes from .gitignore. The snapshot needs the recipes folder in git.
  6. Make a git repository for the project.
  7. Commit all the files.
  8. Run ddev ai-eval-provision kb_docs canvas_home.
  9. Run ddev ai-eval-doctor kb_docs canvas_home.

Send questions, bugs and ideas to the issue queue.