Every ACG domain type is defined once, in code blocks across six languages. A generator script can extract each block and emit native type code per language.
Each UDT file embeds the same type in parseable code blocks:
| Lang | Fence tag | Purpose |
|---|---|---|
| YAML | yaml:udt:<Name> |
Source-of-truth schema |
| Python | python:udt:<Name> |
dataclass / TypedDict |
| SQL | sql:udt:<Name> |
CREATE TABLE |
| TypeScript | typescript:udt:<Name> |
interface / type |
| JSON Schema | json-schema:udt:<Name> |
Draft 07 JSON Schema |
| JSON (instance) | json:udt:<Name> |
Example instance |
The ingest pipeline (scripts/templates/extract.py) scans this directory and writes each block to guild/web/generated/<lang>/<Name>.{yml,py,sql,ts,json}.
See views/ for Perspective view templates.