Library Catalogue
The library catalogue is the versioned JSON export that lets the website display current public templates and proposed seed tasks from the aec-bench library.
The catalogue is the public data bridge between the Python library and this site. It contains built templates and proposed seed tasks without exposing local run artefacts or internal task directories.
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 synced catalogue contains 184 built templates and 284 proposed seeds:
| Discipline | Built templates | Proposed seeds |
|---|---|---|
| Civil | 57 | 30 |
| Electrical | 52 | 92 |
| Ground | 10 | 3 |
| Mechanical | 50 | 92 |
| Structural | 15 | 67 |
Schema
The v1 export has top-level metadata, counts, templates, and seeds:
{
"schema_version": 1,
"generated_at": "2026-06-02T01:02:52.270976Z",
"library_version": "0.1.0",
"library_commit": "ea6194f",
"counts": {
"total_templates": 184,
"total_seeds": 284,
"by_discipline": {
"civil": { "templates": 57, "seeds": 30 }
}
},
"templates": [],
"seeds": []
}Each entry includes:
| Field | Meaning |
|---|---|
task_id | Stable slug used by docs and discipline pages |
discipline | One of civil, electrical, ground, 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 |
Site sync
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
- Reproducible generation and benchmark metadata
It should not include local run outputs, private customer material, scratch workspaces, or task families that are intentionally kept outside the public benchmark surface.
Versioning
schema_version protects the site build. If the library changes the catalogue shape, update the site schema and docs in the same change. If only counts or entries change, regenerate and sync the JSON artefact.