A procedural language for structured design exploration
Sim::OPT::Design is the public interface for hierarchical StructureDesign workflows. A procedure is an ordinary Perl file that returns one design(...) value describing a sequence of named states and operations.
The hierarchy is: procedure file → Sim::OPT::Design → Sim::OPT::StructureDesignProcedure → Sim::OPT::StructureDesign → generated configurations, searches and results.
Declarations and execution
Procedure constructors are declarative in a limited but useful sense: they record intent and do not perform filesystem operations simply because the procedure file was loaded. Execution is performed later through run_procedure, with dry-run and commit modes.
Explicit states and dependencies
Each major representation is named as a state and transformations create new states rather than silently replacing the old one. References such as an incumbent from an earlier step or a named result are resolved through the run manifest, making dependencies visible.
Core step vocabulary
The current procedure language includes constructors for states and experience, derived states, re-embedding, merging, abstraction, memory reconstruction, statistics and comparison. An imagine vocabulary is present, but a generic executor for it is not currently installed.
Checkpoint reuse and provenance
Checkpoint reuse is deliberately conservative. Reuse depends on the declared step signature, the runtime signature and the required artifacts. Structural operators refuse unsafe overwriting, and provenance manifests record the relationships among generated states and results.
Scientific choices remain in the procedure
The procedure is intended to expose decisions such as acquisition density, scope transformations, abstraction choices and memory-reactivation density rather than hide them inside an opaque workflow engine.