-
Notifications
You must be signed in to change notification settings - Fork 0
Split config and execution concepts and objects #327
Copy link
Copy link
Open
Labels
taskDevelopment taskDevelopment task
Description
Priority Level
Medium
Task Summary
The single SafeSynthesizer object with both configuration (with_training()) and execution (run()) methods doesn't align with other projects like data designer and has led to considerable confusion.
We want to refactor these objects that users primarily interact with to be more explicit. Step 1: You create a configuration, Step 2: and then use that to execute.
Also related to #115 , may be solved together, may not be.
Technical Details & Implementation Plan
Initial list of requirements
- Interleaving configuration changes and execution on the same instance should be impossible by construction
- Make it clear when config resolve() happens, exactly once when converting to execution mode (as a method, as a separate object, etc.)
- Review Data Designer's setup and be explicit about following that pattern, or why we need a different pattern for Safe Synthesizer
- Review method names and align with what the method is doing. Notably the
with_training()style. See bug bash feedback below.
Bug bash feedback:
May be a super nit: rename .with_generate(), .with_train(), .with_evaluate(), etc to
with_generation(), with_training(), with_evaluation(). I think it reads better and aligns with what you are doing - providing configurations for those steps.
Dependencies
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
taskDevelopment taskDevelopment task