新增cdsl
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# DesignIntent Planning Recipe
|
||||
|
||||
## Requirement analysis
|
||||
|
||||
1. Treat the backend-injected part-family skill as the selected family before
|
||||
identifying structures. It provides planning guidance only.
|
||||
2. Decompose the requested part into structures with roles: `base`,
|
||||
`reference`, `additive`, `subtractive`, `dressup`, or `pattern`.
|
||||
3. Every structure must state a purpose, structural dependencies, parameter
|
||||
roles, selector roles, an executable CDSL atomic ID, and a named profile
|
||||
type when its atomic needs a sketch.
|
||||
4. Put every structure exactly once in `feature_order`, after its dependencies.
|
||||
Its `cdsl_feature_id` is the immutable ID that the later CDSL feature must use.
|
||||
5. Do not put coordinates, raw CDSL, Build123d, or low-level sketch data in a
|
||||
DesignIntent.
|
||||
6. Missing essential dimensions are blocking `open_questions`. Unsupported
|
||||
geometry is a `capability_gaps` item. A blocking item requires
|
||||
`status: needs_clarification`; do not approximate silently.
|
||||
|
||||
## Part family boundary
|
||||
|
||||
- Use only the backend-injected primary and support skills. Never submit
|
||||
`part_skill_ids`; 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 only expression patterns. They never add or remove
|
||||
a requested DesignIntent structure.
|
||||
|
||||
## CDSL generation
|
||||
|
||||
- Submit `propose_design_intent` before any library or CDSL-generation call.
|
||||
- After its ready result includes `intent_id`, inspect references and generate
|
||||
complete CDSL. Use every planned `cdsl_feature_id` once, in `feature_order`.
|
||||
- Do not add undeclared CDSL features, delete planned features, change planned
|
||||
atomics/profiles, or omit declared selector evidence.
|
||||
- Keep `cdsl_only` as the only build path. Never use `compiler_context` or a
|
||||
legacy fallback.
|
||||
Reference in New Issue
Block a user