1.8 KiB
1.8 KiB
CDSL Planning Recipe
Requirement analysis
- Treat the backend-injected part-family skill as planning guidance only.
- Write a concise natural-language brief describing the requested structures, dependency order, key dimensions, and explicit assumptions.
- Ask the user one concise clarification question when an essential dimension or requested outcome is unknown. Do not silently fabricate it.
- Keep the brief free of feature IDs, selector bindings, profile bindings, sketch coordinates, raw CDSL, and Build123d source. Those implementation choices belong only in the final CDSL document.
- The brief is not stored or validated as a CAD artifact. It is reference context for the model while it writes the one authoritative CDSL document.
Part family boundary
- Use only the backend-injected primary and support skills. The backend records the canonical selection for audit.
- Explicit user requirements override part skills. The executable CDSL schema/runtime overrides both part skills and library examples.
- The current primary family is inherited during revisions unless the user explicitly asks to replace the whole part. A family conflict needs a concise clarification before a ready plan can be submitted.
- CDSL library examples show expression patterns only. They never override the user's request or the CDSL schema/runtime.
CDSL generation
- Submit
describe_design_intentbefore any library or CDSL-generation call. - After the text brief is returned, inspect references and generate complete, schema-valid CDSL. CDSL controls its own feature IDs, atomics, profiles, and selectors; it is not checked for agreement with the brief.
- Keep
cdsl_onlyas the only build path. Never usecompiler_contextor a legacy fallback.