feat: strengthen CAD experience distillation and routing

This commit is contained in:
Jerry
2026-07-23 20:03:26 +08:00
parent a2f3ba6a90
commit 2edf8fb4c8
67 changed files with 16045 additions and 83 deletions
@@ -25,14 +25,18 @@ published library and require repeated support before promoting any experience.
```
4. Read `work/review/semantic-batch.json` completely. Act as the semantic
distiller: compare families, features, relations, prior vocabulary, failure
rules, and validation targets; then author
distiller: compare families, parameter roles, datum roles, canonical
reconstruction stages, feature cardinality classes, relations, prior
vocabulary, failure rules, and validation targets; then author
`work/review/experience-draft.json` using
`references/llm-review-contract.md`.
Propose methods and invariants, not raw co-occurrence pairs. Do not infer
operation order, manufacturing intent, or failure causes that final B-Rep
evidence cannot support.
Propose methods, invariants, and family-level `reconstruction_grammar`
records, not raw co-occurrence pairs. A reconstruction grammar is a
canonical backend-neutral strategy inferred from repeated geometry; it is
not the source model's recovered feature history. Do not infer
manufacturing intent or failure causes that final B-Rep evidence cannot
support.
5. Publish only after the model draft exists:
@@ -70,10 +74,15 @@ required.
## STEP extraction boundary
- The extractor reads analytic B-Rep surfaces, bounding boxes, topology counts,
axes, radii, and locations into a private evidence record.
- It derives only semantic candidates such as rotational stacks, axis
relationships, transitions, and repeated-hole motifs.
- The V2 extractor reads analytic B-Rep surfaces, bounding boxes, topology
counts, axes, radii, and locations into a private evidence record.
- It derives scale-independent body classes, part families, rotational and
prismatic motifs, passage and pattern relationships, complexity roles, and
normalized ratio observations before sanitization.
- It also derives private exact cardinality evidence plus sanitized symbolic
parameter roles, datum roles, feature-count classes, and canonical
reconstruction stages. These are the evidence used to learn how to rebuild a
family without publishing any teacher dimensions.
- Exact source paths, hashes, dimensions, coordinates, and face references are
permitted in private case JSON and forbidden in the published library.
- Keep input/output as a human-visible staging area and induction corpus. Never
@@ -86,7 +95,8 @@ required.
- One case is evidence, not experience.
- Publish generalized, dimension-free observations below threshold as visible
`candidate_experiences`, but never expose them to generation consumers.
- Require `min_support` independent cases and `min_confidence` before promotion.
- Require `min_support` independent cases and conditional `min_confidence`
within the proposal's semantic context before promotion.
- Promote feature compositions, semantic constraints, dimensionless
distributions, validation checks, and failure-repair methods.
- Reject absolute dimensions, coordinates, face references, source paths,
@@ -105,6 +115,8 @@ The library is backend-neutral. A consumer receives:
- `dimensionless_distribution`: multi-case ratio ranges;
- `validation_rule`: checks independent of one part's coordinates;
- `failure_repair`: reusable detection and repair methods.
- `reconstruction_grammar`: symbolic parameters, datums, canonical feature
stages, optional/required feature roles, and validation roles for a family.
build123d, SimpleCADAPI, or another backend translates the same queried
experience into its own operations. Experience must never contain executable