aec-benchaec-bench

Library Catalogue

The catalogue is the public data bridge between the Python library and this site. It contains built templates and proposed seed tasks.

Export

From the aec-bench library checkout:

uv run aec-bench library export --pretty

The default output is:

artefacts/library-catalogue.json

Use stdout for CI or inspection:

uv run aec-bench library export --stdout --pretty

The current upstream library export contains 352 built templates and 284 proposed seeds across six disciplines:

DisciplineBuilt templatesProposed seeds
Civil9330
Electrical10892
Ground203
Maritime30
Mechanical9392
Structural3567

Schema

The export contains a file-format version and two entry lists:

{
  "schema_version": 2,
  "templates": [],
  "seeds": []
}

The site derives all counts from these lists. The catalogue bytes depend only on the public library content, so exporting the same content produces the same file.

Each entry includes:

FieldMeaning
task_idCatalogue key used by docs and discipline pages; it is not a runnable task UUID
disciplineOne of civil, electrical, ground, maritime, mechanical, structural
categoryMachine-readable category slug
task_nameDisplay title
description and long_descriptionShort and expanded public descriptions
standardsNamed standards or method references when available
inputs and outputsPublic IO contract, units, and tolerances where known
statusbuilt for templates, proposed for seed tasks
difficulty_tiersSupported easy, medium, hard presets for built templates
tool_modeWhether generated tasks expose tools
archetype_countNumber of sampling archetypes for built templates

Generated task replay

The catalogue describes public template families. Task generation writes optional replay data once, in generation-manifest.json at the output root. Runnable task directories contain the files needed for loading and execution; the sidecar supports generation replay.

Use the sidecar when you must replay generation. Use the catalogue key and an exact dataset reference when you run or report a benchmark selection. A generated runnable task receives its own explicit key, UUIDv7, and version.

Site sync

The task browser uses the last successfully synced catalogue. It supports all six catalogue disciplines, including Maritime. The result leaderboard remains on its five-domain result contract until a ranked dataset includes Maritime results.

From the site checkout:

pnpm sync:catalogue

The script reads ../aec-bench/artefacts/library-catalogue.json by default, validates it with the site Zod schema, and writes:

data/library-catalogue.json

Override the library checkout path when needed:

AEC_BENCH_ROOT=/path/to/aec-bench pnpm sync:catalogue

Public scope

The catalogue is for public library documentation. It should describe:

  • Built-in templates and proposed seed tasks
  • Engineering discipline, category, standards, inputs, outputs, and difficulty
  • Public template and seed metadata

Limit the catalogue to the public benchmark surface. Keep local run outputs, private customer material, scratch workspaces, and intentionally excluded task families outside it.

Schema compatibility

schema_version tells the site how to read the JSON file. The library supplies this value. The current site reads schema 2, provides a temporary schema-1 reader, and rejects unknown formats to protect catalogue accuracy.

If the contract changes, update the site reader and these docs in the same change. If entries change, export and sync the catalogue again.

On this page