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 --prettyThe default output is:
artefacts/library-catalogue.jsonUse stdout for CI or inspection:
uv run aec-bench library export --stdout --prettyThe current upstream library export contains 352 built templates and 284 proposed seeds across six disciplines:
| Discipline | Built templates | Proposed seeds |
|---|---|---|
| Civil | 93 | 30 |
| Electrical | 108 | 92 |
| Ground | 20 | 3 |
| Maritime | 3 | 0 |
| Mechanical | 93 | 92 |
| Structural | 35 | 67 |
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:
| Field | Meaning |
|---|---|
task_id | Catalogue key used by docs and discipline pages; it is not a runnable task UUID |
discipline | One of civil, electrical, ground, maritime, mechanical, structural |
category | Machine-readable category slug |
task_name | Display title |
description and long_description | Short and expanded public descriptions |
standards | Named standards or method references when available |
inputs and outputs | Public IO contract, units, and tolerances where known |
status | built for templates, proposed for seed tasks |
difficulty_tiers | Supported easy, medium, hard presets for built templates |
tool_mode | Whether generated tasks expose tools |
archetype_count | Number 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:catalogueThe script reads ../aec-bench/artefacts/library-catalogue.json by default, validates it with the site Zod schema, and writes:
data/library-catalogue.jsonOverride the library checkout path when needed:
AEC_BENCH_ROOT=/path/to/aec-bench pnpm sync:cataloguePublic 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.