This commit is contained in:
2026-09-16 10:22:36 +08:00
parent 48cec45fee
commit 09a25cdc6b
5 changed files with 559 additions and 2 deletions
@@ -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.