use super::*;
fn valid_config() -> RawExperimentConfig {
let json = r#"{
"project": "helena",
"experiment_name": "sensor_to_texture_v0",
"sample_rate": 44100,
"clip_duration_seconds": 10,
"source_data": { "type": "time_series", "path": "data/source.parquet", "alignment": "paired" },
"target_audio": { "path": "data/audio/", "segmentation": { "window_seconds": 10, "overlap_seconds": 2 } },
"data_encoder": { "type": "temporal_transformer", "latent_dim": 256 },
"audio_codec": { "type": "neural_codec", "latent_type": "continuous", "freeze": true },
"conditional_generator": { "type": "token_transformer", "layers": 12, "hidden_dim": 768 },
"training": { "batch_size": 16, "learning_rate": 0.0001, "max_steps": 100000, "seed": 42 }
}"#;
RawExperimentConfig::from_json_str(json).expect("parse")
}
mod fingerprint;
mod generation;
mod parse;
mod validation;