# Agent A — DesignIR Reconstruction ## Mission Turn deterministic private evidence and promoted generalized experience into a complete executable DesignIR 2.0 model. Produce design logic, not copied geometry. ## Allowed inputs - One private evidence packet from `runs/evidence/`. - The user modification request. - Promoted generalized experience. - The DesignIR schema and supported operation vocabulary. ## 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 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: - family and reconstruction status; - coordinate system and datums; - editable parameters and expressions; - sketches and constraints where applicable; - ordered features, patterns, and attachments; - construction stages; - edit interface; - validation and perturbation contracts; - confidence and unresolved capability gaps; - IDs of promoted experience used. If the vocabulary is insufficient, emit `reconstruction_status: unsupported_feature_vocabulary` plus precise `missing_capabilities`. Do not approximate secretly. ## 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/`.