pub struct RunManifest {Show 14 fields
pub run_id: String,
pub started_at: DateTime<Utc>,
pub completed_at: Option<DateTime<Utc>>,
pub config_hash: String,
pub config_snapshot: GeneratorConfig,
pub seed: u64,
pub scenario_tags: Vec<String>,
pub statistics: Option<EnhancedGenerationStatistics>,
pub duration_seconds: Option<f64>,
pub generator_version: String,
pub metadata: HashMap<String, String>,
pub output_directory: Option<String>,
pub output_files: Vec<OutputFileInfo>,
pub warnings: Vec<String>,
}Expand description
Complete manifest of a generation run for reproducibility.
Fields§
§run_id: StringUnique identifier for this run.
started_at: DateTime<Utc>Timestamp when generation started.
completed_at: Option<DateTime<Utc>>Timestamp when generation completed.
config_hash: StringSHA-256 hash of the configuration (for quick comparison).
config_snapshot: GeneratorConfigComplete configuration snapshot.
seed: u64Seed used for random number generation.
Scenario tags for categorization.
statistics: Option<EnhancedGenerationStatistics>Generation statistics.
duration_seconds: Option<f64>Duration in seconds.
generator_version: StringVersion of the generator.
metadata: HashMap<String, String>Additional metadata.
output_directory: Option<String>Output directory path.
output_files: Vec<OutputFileInfo>List of output files generated.
warnings: Vec<String>Any warnings or notes from the generation.
Implementations§
Source§impl RunManifest
impl RunManifest
Sourcepub fn new(config: &GeneratorConfig, seed: u64) -> Self
pub fn new(config: &GeneratorConfig, seed: u64) -> Self
Creates a new run manifest.
Sourcepub fn complete(&mut self, statistics: EnhancedGenerationStatistics)
pub fn complete(&mut self, statistics: EnhancedGenerationStatistics)
Marks the run as complete.
Adds multiple scenario tags.
Sourcepub fn set_output_directory(&mut self, path: &Path)
pub fn set_output_directory(&mut self, path: &Path)
Sets the output directory.
Sourcepub fn add_output_file(&mut self, info: OutputFileInfo)
pub fn add_output_file(&mut self, info: OutputFileInfo)
Adds an output file record.
Sourcepub fn add_warning(&mut self, warning: &str)
pub fn add_warning(&mut self, warning: &str)
Adds a warning message.
Sourcepub fn add_metadata(&mut self, key: &str, value: &str)
pub fn add_metadata(&mut self, key: &str, value: &str)
Adds metadata.
Sourcepub fn write_to_file(&self, path: &Path) -> Result<()>
pub fn write_to_file(&self, path: &Path) -> Result<()>
Writes the manifest to a JSON file.
Trait Implementations§
Source§impl Clone for RunManifest
impl Clone for RunManifest
Source§fn clone(&self) -> RunManifest
fn clone(&self) -> RunManifest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RunManifest
impl Debug for RunManifest
Source§impl<'de> Deserialize<'de> for RunManifest
impl<'de> Deserialize<'de> for RunManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RunManifest
impl RefUnwindSafe for RunManifest
impl Send for RunManifest
impl Sync for RunManifest
impl Unpin for RunManifest
impl UnwindSafe for RunManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more