feat: unify CAD workflows on DesignIR 3.0
This commit is contained in:
@@ -8,7 +8,7 @@ meaningfully editable.
|
||||
## Allowed inputs
|
||||
|
||||
- Teacher STEP from protected `input/`.
|
||||
- Candidate DesignIR from `runs/designir/`.
|
||||
- Candidate DesignIR 3.0 from the private run directory.
|
||||
- Reconstructed STEP from `runs/rebuilt/`.
|
||||
- Deterministic compiler version.
|
||||
- Modification test contract.
|
||||
@@ -19,13 +19,25 @@ Do not read Agent A chain-of-thought or informal rationale.
|
||||
|
||||
Original-state geometry:
|
||||
|
||||
- solid and topology counts;
|
||||
- solid, open-shell, face, edge, and diagnostic vertex counts;
|
||||
- bounding-box error;
|
||||
- volume and center-of-mass error;
|
||||
- symmetric-difference volume;
|
||||
- analytic feature counts and spatial relationships when available;
|
||||
- declared validation invariants.
|
||||
|
||||
For solid booleans that are numerically unstable on coincident boundaries, run
|
||||
the registered bidirectional vertex, edge, and face-interior sample-distance
|
||||
contract. Never silently discard the failed boolean result; report both it and
|
||||
the fallback distance.
|
||||
|
||||
Source independence:
|
||||
|
||||
- move or hide the teacher STEP before reconstruction;
|
||||
- reject source paths, STEP payloads, imported base solids, B-Rep blobs, and
|
||||
mesh substitutes in the candidate;
|
||||
- require a deterministic rebuild from DesignIR plus compiler code only.
|
||||
|
||||
Parametric behavior:
|
||||
|
||||
- rebuild every declared perturbation;
|
||||
@@ -34,6 +46,20 @@ Parametric behavior:
|
||||
- preserve constraints and interfaces;
|
||||
- reject invalid, empty, non-solid, self-intersecting, or unstable results.
|
||||
|
||||
For `overall_scale`, require volume to follow the scale factor cubed, center
|
||||
and bounds to follow the declared pivot transform, and solid/face/edge counts
|
||||
to remain stable. Record STEP writer vertex normalization separately instead
|
||||
of confusing geometrically equivalent serialization with feature loss.
|
||||
|
||||
Producing a solid is not sufficient. Each perturbation must be connected to an
|
||||
executable feature, cause an observable target change, and satisfy its
|
||||
non-target preservation checks. Record the promoted experience IDs actually
|
||||
used so improvement can be attributed to a specific method.
|
||||
|
||||
Report geometry and semantics separately. A geometry-only method may enter the
|
||||
SurfaceIR experience library, but it must never increase the semantic-edit
|
||||
promotion count.
|
||||
|
||||
## Required output
|
||||
|
||||
Write one machine-readable report under `runs/acceptance/` with separate geometry,
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
# Agent A — DesignIR Reconstruction
|
||||
# Agent A — Distillation and Semantic Reconstruction
|
||||
|
||||
## Mission
|
||||
|
||||
Turn deterministic private evidence and promoted generalized experience into a
|
||||
complete executable DesignIR 2.0 model. Produce design logic, not copied
|
||||
geometry.
|
||||
Turn deterministic private geometry evidence and promoted generalized
|
||||
experience into an executable DesignIR 3.0 model. SurfaceIR preserves the
|
||||
independent geometric truth; Semantic FeatureIR adds a canonical, editable
|
||||
design interpretation. Produce a plausible canonical construction, never claim
|
||||
to recover the unknowable original CAD history.
|
||||
|
||||
## Allowed inputs
|
||||
|
||||
- One private evidence packet from `runs/evidence/`.
|
||||
- One private evidence packet and independently extracted SurfaceIR program.
|
||||
- The user modification request.
|
||||
- Promoted generalized experience.
|
||||
- The DesignIR schema and supported operation vocabulary.
|
||||
@@ -16,20 +18,27 @@ geometry.
|
||||
## Forbidden inputs and actions
|
||||
|
||||
- Never open, copy, import, or reference the teacher STEP.
|
||||
- Never embed B-Rep bytes, STEP text, full meshes, triangle soups, face IDs, or
|
||||
source topology references.
|
||||
- Never embed B-Rep bytes, STEP text, full meshes, or triangle soups.
|
||||
- Never call `import_step`, `read_step`, `STEPControl_Reader`, or equivalent.
|
||||
- Never represent the teacher as a base feature.
|
||||
- Never infer unsupported geometry silently.
|
||||
|
||||
## Required output
|
||||
|
||||
Write one `runs/designir/*.designir.json` containing:
|
||||
Write one private DesignIR 3.0 instance program containing:
|
||||
|
||||
- family and reconstruction status;
|
||||
- a backend-neutral SurfaceIR topology/surface layer capable of rebuilding with
|
||||
the teacher removed, including top-level open shells that are not members of
|
||||
any solid;
|
||||
- family and semantic reconstruction status;
|
||||
- coordinate system and datums;
|
||||
- editable parameters and expressions;
|
||||
- sketches and constraints where applicable;
|
||||
- canonical semantic parameter names such as `plate_thickness`,
|
||||
`hole_diameter`, `hole_spacing`, `bolt_circle_diameter`, and `rib_count`
|
||||
whenever the evidence supports them;
|
||||
- inference status, confidence, aliases, affected feature IDs, and an observable
|
||||
edit contract for every parameter inferred from the final B-Rep;
|
||||
- canonical sketches and constraints where the evidence supports them;
|
||||
- ordered features, patterns, and attachments;
|
||||
- construction stages;
|
||||
- edit interface;
|
||||
@@ -41,10 +50,26 @@ If the vocabulary is insufficient, emit
|
||||
`reconstruction_status: unsupported_feature_vocabulary` plus precise
|
||||
`missing_capabilities`. Do not approximate secretly.
|
||||
|
||||
Generic evidence roles such as `overall_short_span` are not a finished edit
|
||||
interface. Every editable parameter in a ready DesignIR must drive at least one
|
||||
executable feature. `overall_scale` may be exposed as a validated universal
|
||||
fallback for geometry-bearing SurfaceIR, but it must be labelled as a
|
||||
dimensionless transform and must never be presented as recovered
|
||||
feature-specific design intent.
|
||||
|
||||
If no more specific named edit is validated, the agent may expose
|
||||
`overall_size_x`, `overall_size_y`, and `overall_size_z` as canonical envelope
|
||||
dimensions. These names describe the DesignIR coordinate system and must not
|
||||
be presented as recovered sketch dimensions.
|
||||
|
||||
## Completion gate
|
||||
|
||||
Request `isolated-rebuild`. Passing means the compiler generated a complete STEP
|
||||
from only DesignIR and compiler code while the teacher vault was inaccessible.
|
||||
The router may choose `build123d` or `simplecadapi`; the latter also produces a
|
||||
replayable SimpleCAD model JSON as a backend artifact. Put rebuild artifacts in
|
||||
`runs/rebuilt/`.
|
||||
The authoritative geometry compiler is OCCT-backed and supports analytic and
|
||||
B-spline surfaces. Build123d and SimpleCADAPI are optional semantic feature
|
||||
compilers, not mandatory fallbacks for geometry they cannot express.
|
||||
|
||||
Geometry equality alone completes only the geometry gate. A model is not
|
||||
semantically promoted until its named parameter perturbations also pass
|
||||
independent acceptance.
|
||||
|
||||
Reference in New Issue
Block a user