25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# Local CDSL Engine
|
|
|
|
This package rebuilds `cad.cdsl.llm.v1` models through the CDSL-only path:
|
|
|
|
`sketch_solver -> llm_compiler -> llm_engine -> STEP`
|
|
|
|
Supported profiles are defined by `SHAPE_GENERATORS` in `sketch_solver.py`.
|
|
Supported feature atomic operations are defined by the dispatch in `llm_engine.py`
|
|
and their required parameters are defined by `REQUIRED` in `llm_compiler.py`.
|
|
Their human-readable contract is in `profile_schema.json`; the complete,
|
|
machine-enforced CDSL object contract is in `cdsl_schema.json`.
|
|
The Studio only accepts self-contained profile data and requires successful
|
|
`engine=cdsl_only` output. It never uses the legacy translator fallback or
|
|
`compiler_context`.
|
|
|
|
## Engine schema maintenance
|
|
|
|
`profile_schema.json` and `cdsl_schema.json` together are the source of truth
|
|
for the engine contract exposed to the CAD Agent and the backend validator.
|
|
Any addition, removal, rename, or
|
|
parameter-contract change in `sketch_solver.py`, `llm_compiler.py`, or
|
|
`llm_engine.py` must update both files in the same change.
|
|
`backend/tests/test_profile_schema.py` fails when the registered profiles or
|
|
supported atomic operations diverge from the document.
|