cdsl
This commit is contained in:
@@ -127,6 +127,62 @@ For `max_z`/`min_z` placement intent, use an owner role such as
|
||||
Use only supplied operations and their exact parameter schemas. Do not invent
|
||||
parameters, implicit booleans, or substitutes after a capability error.
|
||||
|
||||
## Semantic Annotation (meta and intent)
|
||||
|
||||
Every document carries semantic annotations for downstream training. They are
|
||||
purely descriptive: the compiler carries them through verbatim, geometry never
|
||||
depends on them, and they are never acceptance targets.
|
||||
|
||||
Document level — include `meta` with at least one of:
|
||||
|
||||
```json
|
||||
{
|
||||
"meta": {
|
||||
"description": "R8 rounded square bushing, 100×100×12, central Ø45 bore",
|
||||
"function": "Spacer sleeve over a Ø45 shaft; rounded corners for handling"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `description`: one sentence naming the part with its key specifications
|
||||
(≤60 characters). `function`: what the part does and where it fits
|
||||
(≤200 characters). Narratives are written in the request language; keys and
|
||||
controlled labels are English `snake_case`.
|
||||
|
||||
Feature level — attach `intent` to every feature:
|
||||
|
||||
```json
|
||||
{
|
||||
"intent": {
|
||||
"label": "shaft_passage",
|
||||
"summary": "Ø45 central through bore, concentric with the outer contour",
|
||||
"why": "The fitting face of the sleeve; diameter follows the mating shaft",
|
||||
"provenance": "authored"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `label`: one controlled vocabulary term in `snake_case` — for example
|
||||
`housing_blank`, `shaft_passage`, `fastener_hole`, `bolt_circle`,
|
||||
`tap_hole`, `counterbore_seat`, `countersink_seat`, `locating_pin_hole`,
|
||||
`bearing_seat`, `press_fit_boss`, `mounting_boss`, `mounting_foot`,
|
||||
`lifting_eye`, `slot_adjustment`, `coolant_channel`, `lubrication_gallery`,
|
||||
`vent_hole`, `drain_port`, `fluid_inlet`, `process_corner_relief`,
|
||||
`weld_prep`, `machining_setup_tab`, `inspection_access`,
|
||||
`stress_relief_fillet`, `stiffening_rib`, `weight_relief`,
|
||||
`mass_saving_pocket`, `load_path_flange`, `wall_thickness_transition`,
|
||||
`gear_teeth`, `rack_teeth`, `thread_drive`, `cam_track`, `bend_wing`,
|
||||
`cosmetic_surface`, `datum_plane_feature`, `datum_axis_feature`. The list
|
||||
is open: an accurate new `snake_case` term is valid, but prefer vocabulary.
|
||||
- `summary` (required, ≤80 characters): what it is plus the key parameters.
|
||||
Use parameterized wording (`M8`, `Ø75`, `R8`), never a restatement of the
|
||||
request prose.
|
||||
- `why` (optional, ≤400 characters): the functional reason this feature exists.
|
||||
- `provenance`: always `"authored"` when the model writes it.
|
||||
- Do not invent fields inside `intent`, and never treat a mismatch between an
|
||||
annotation and geometry as acceptable — the label must match the feature
|
||||
actually constructed.
|
||||
|
||||
## Sketches And Coordinates
|
||||
|
||||
Keep a sketch to exactly `workplane` and `profile`. The workplane declares its
|
||||
@@ -228,6 +284,9 @@ Before returning the document, check every feature against these invariants:
|
||||
5. Every requested removal intersects its intended material, every repeated
|
||||
feature has a valid seed reference, and every connected addition uses an
|
||||
operation whose contract explicitly supports the chosen result mode.
|
||||
6. Every feature carries an `intent` with a truthful `label`, a parameterized
|
||||
`summary` of at most 80 characters, and `provenance: "authored"`; the
|
||||
document carries `meta` with at least one of `description`/`function`.
|
||||
|
||||
If any invariant is false, revise the construction before emitting the single
|
||||
complete `cad.author.v1` document.
|
||||
|
||||
Reference in New Issue
Block a user