pub struct ExperimentSpec { /* private fields */ }Expand description
A validated experiment specification.
Constructed only by RawExperimentConfig::resolve. Fields are private;
accessors return domain-typed, proven values. The originating raw document
is retained (private) so recipe is a byte-stable
projection across load/save cycles.
Implementations§
Source§impl ExperimentSpec
impl ExperimentSpec
Sourcepub fn experiment_name(&self) -> &str
pub fn experiment_name(&self) -> &str
Experiment name, unique within the project.
Sourcepub fn sample_rate(&self) -> SampleRate
pub fn sample_rate(&self) -> SampleRate
The validated (nonzero) target sample rate.
Sourcepub fn clip_duration_seconds(&self) -> f32
pub fn clip_duration_seconds(&self) -> f32
The nominal clip length (strictly positive, finite).
Sourcepub fn source_data(&self) -> &SourceDataSpec
pub fn source_data(&self) -> &SourceDataSpec
Source-data section.
Sourcepub fn target_audio(&self) -> &TargetAudioSpec
pub fn target_audio(&self) -> &TargetAudioSpec
Target-audio section, including validated segmentation.
Sourcepub fn data_encoder(&self) -> &DataEncoderSpec
pub fn data_encoder(&self) -> &DataEncoderSpec
Data-encoder section.
Sourcepub fn audio_codec(&self) -> &AudioCodecSpec
pub fn audio_codec(&self) -> &AudioCodecSpec
Audio-codec section.
Sourcepub fn generator(&self) -> &GeneratorSpec
pub fn generator(&self) -> &GeneratorSpec
Conditional-generator section.
Sourcepub fn training(&self) -> &TrainingSpec
pub fn training(&self) -> &TrainingSpec
Training section.
Sourcepub fn generation(&self) -> &GenerationDefaults
pub fn generation(&self) -> &GenerationDefaults
Default generation knobs recorded with the config.
Sourcepub fn recipe(&self) -> Recipe<'_>
pub fn recipe(&self) -> Recipe<'_>
The training-determining projection of this spec (refoundation A6).
A borrow of the raw document minus its generation section, so the two
invariants of the recipe hold by construction: editing an inference-only
generation.* knob leaves the recipe unchanged (a checkpoint stays
loadable across sampling settings — the GEN-14 contract), while any
training-determining field moves it. Basing the projection on the raw
document keeps the derived
RecipeFingerprint byte-stable across
load/save cycles.
Sourcepub fn config_fingerprint(&self) -> Result<ConfigFingerprint>
pub fn config_fingerprint(&self) -> Result<ConfigFingerprint>
The full-provenance fingerprint of the originating config (PRD
NFR-010): the ConfigFingerprint over the
retained raw document, generation section included. The provenance-side
counterpart to recipe_fingerprint, reached
without a consumer having to hold the raw document separately.
Sourcepub fn recipe_fingerprint(&self) -> Result<RecipeFingerprint>
pub fn recipe_fingerprint(&self) -> Result<RecipeFingerprint>
The recipe fingerprint that gates checkpoint reload (GEN-14): the
RecipeFingerprint over
recipe, so it is invariant under inference-knob edits.
Trait Implementations§
Source§impl Clone for ExperimentSpec
impl Clone for ExperimentSpec
Source§fn clone(&self) -> ExperimentSpec
fn clone(&self) -> ExperimentSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more