# 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.