entrenar/yaml_mode/manifest/
extended.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct CitlConfig {
10 pub mode: String,
12
13 #[serde(default, skip_serializing_if = "Option::is_none")]
15 pub error_code: Option<String>,
16
17 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub top_k: Option<usize>,
20
21 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub workspace: Option<bool>,
24
25 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub include_deps: Option<bool>,
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct RagConfig {
33 pub store: String,
35
36 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub similarity_threshold: Option<f64>,
39
40 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub max_results: Option<usize>,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47pub struct GraphConfig {
48 pub output: String,
50
51 #[serde(default, skip_serializing_if = "Option::is_none")]
53 pub format: Option<String>,
54
55 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub include_edges: Option<bool>,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62pub struct DistillationConfig {
63 pub teacher: DistillModelRef,
65
66 pub student: DistillModelRef,
68
69 pub temperature: f64,
71
72 pub alpha: f64,
74
75 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub loss: Option<String>,
78}
79
80#[derive(Debug, Clone, Serialize, Deserialize)]
82pub struct DistillModelRef {
83 pub source: String,
85
86 #[serde(default, skip_serializing_if = "Option::is_none")]
88 pub device: Option<String>,
89}
90
91#[derive(Debug, Clone, Serialize, Deserialize)]
93pub struct InspectConfig {
94 pub mode: String,
96
97 #[serde(default, skip_serializing_if = "Option::is_none")]
99 pub z_threshold: Option<f64>,
100
101 #[serde(default, skip_serializing_if = "Option::is_none")]
103 pub action: Option<String>,
104
105 #[serde(default, skip_serializing_if = "Option::is_none")]
107 pub columns: Option<Vec<String>>,
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize)]
112pub struct PrivacyConfig {
113 pub differential: bool,
115
116 pub epsilon: f64,
118
119 #[serde(default, skip_serializing_if = "Option::is_none")]
121 pub delta: Option<f64>,
122
123 #[serde(default, skip_serializing_if = "Option::is_none")]
125 pub max_grad_norm: Option<f64>,
126
127 #[serde(default, skip_serializing_if = "Option::is_none")]
129 pub noise_multiplier: Option<f64>,
130
131 #[serde(default, skip_serializing_if = "Option::is_none")]
133 pub accountant: Option<String>,
134}
135
136#[derive(Debug, Clone, Serialize, Deserialize)]
138pub struct AuditConfig {
139 #[serde(rename = "type")]
141 pub audit_type: String,
142
143 #[serde(default, skip_serializing_if = "Option::is_none")]
145 pub protected_attr: Option<String>,
146
147 #[serde(default, skip_serializing_if = "Option::is_none")]
149 pub favorable_outcome: Option<i32>,
150
151 #[serde(default, skip_serializing_if = "Option::is_none")]
153 pub metrics: Option<Vec<String>>,
154
155 #[serde(default, skip_serializing_if = "Option::is_none")]
157 pub threshold: Option<f64>,
158
159 #[serde(default, skip_serializing_if = "Option::is_none")]
161 pub subgroups: Option<Vec<String>>,
162}
163
164#[derive(Debug, Clone, Serialize, Deserialize)]
166pub struct SessionConfig {
167 pub id: String,
169
170 #[serde(default, skip_serializing_if = "Option::is_none")]
172 pub auto_save: Option<bool>,
173
174 #[serde(default, skip_serializing_if = "Option::is_none")]
176 pub resume_on_crash: Option<bool>,
177
178 #[serde(default, skip_serializing_if = "Option::is_none")]
180 pub state_dir: Option<String>,
181}
182
183#[derive(Debug, Clone, Serialize, Deserialize)]
185pub struct StressConfig {
186 pub parallel_jobs: usize,
188
189 #[serde(default, skip_serializing_if = "Option::is_none")]
191 pub duration: Option<String>,
192
193 #[serde(default, skip_serializing_if = "Option::is_none")]
195 pub memory_limit: Option<f64>,
196
197 #[serde(default, skip_serializing_if = "Option::is_none")]
199 pub backpressure: Option<BackpressureConfig>,
200}
201
202#[derive(Debug, Clone, Serialize, Deserialize)]
204pub struct BackpressureConfig {
205 pub enabled: bool,
207
208 #[serde(default, skip_serializing_if = "Option::is_none")]
210 pub queue_size: Option<usize>,
211
212 #[serde(default, skip_serializing_if = "Option::is_none")]
214 pub drop_policy: Option<String>,
215}
216
217#[derive(Debug, Clone, Serialize, Deserialize)]
219pub struct BenchmarkConfig {
220 pub mode: String,
222
223 #[serde(default, skip_serializing_if = "Option::is_none")]
225 pub warmup: Option<usize>,
226
227 #[serde(default, skip_serializing_if = "Option::is_none")]
229 pub iterations: Option<usize>,
230
231 #[serde(default, skip_serializing_if = "Option::is_none")]
233 pub batch_sizes: Option<Vec<usize>>,
234
235 #[serde(default, skip_serializing_if = "Option::is_none")]
237 pub percentiles: Option<Vec<String>>,
238}
239
240#[derive(Debug, Clone, Serialize, Deserialize)]
242pub struct DebugConfig {
243 #[serde(default, skip_serializing_if = "Option::is_none")]
245 pub memory_profile: Option<bool>,
246
247 #[serde(default, skip_serializing_if = "Option::is_none")]
249 pub log_interval: Option<usize>,
250
251 #[serde(default, skip_serializing_if = "Option::is_none")]
253 pub gc_interval: Option<usize>,
254}
255
256#[derive(Debug, Clone, Serialize, Deserialize)]
258pub struct SigningConfig {
259 pub enabled: bool,
261
262 #[serde(default, skip_serializing_if = "Option::is_none")]
264 pub algorithm: Option<String>,
265
266 #[serde(default, skip_serializing_if = "Option::is_none")]
268 pub key: Option<String>,
269}
270
271#[derive(Debug, Clone, Serialize, Deserialize)]
273pub struct VerificationConfig {
274 #[serde(default, skip_serializing_if = "Option::is_none")]
276 pub all_25_checks: Option<bool>,
277
278 #[serde(default, skip_serializing_if = "Option::is_none")]
280 pub qa_lead_sign_off: Option<String>,
281
282 #[serde(default, skip_serializing_if = "Option::is_none")]
284 pub eng_lead_sign_off: Option<String>,
285
286 #[serde(default, skip_serializing_if = "Option::is_none")]
288 pub safety_officer_sign_off: Option<String>,
289}