huskies: merge 513_story_startup_reconcile_pass_that_detects_drift_between_crdt_pipeline_items_and_filesystem_shadows
This commit is contained in:
@@ -53,6 +53,14 @@ pub struct ProjectConfig {
|
||||
/// so both machines see the same pipeline state in real-time.
|
||||
#[serde(default)]
|
||||
pub rendezvous: Option<String>,
|
||||
/// Whether to run the startup state-reconcile pass.
|
||||
///
|
||||
/// The pass compares pipeline state across CRDT, `pipeline_items`, and
|
||||
/// filesystem shadows after CRDT replay, logging any drift it finds.
|
||||
/// Set to `false` to disable during the migration window if the pass
|
||||
/// produces too much noise. Default: `true`.
|
||||
#[serde(default = "default_reconcile_on_startup")]
|
||||
pub reconcile_on_startup: bool,
|
||||
}
|
||||
|
||||
/// Configuration for the filesystem watcher's sweep behaviour.
|
||||
@@ -100,6 +108,10 @@ fn default_rate_limit_notifications() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn default_reconcile_on_startup() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
#[allow(dead_code)]
|
||||
pub struct ComponentConfig {
|
||||
@@ -197,6 +209,8 @@ struct LegacyProjectConfig {
|
||||
rate_limit_notifications: bool,
|
||||
#[serde(default)]
|
||||
timezone: Option<String>,
|
||||
#[serde(default = "default_reconcile_on_startup")]
|
||||
reconcile_on_startup: bool,
|
||||
}
|
||||
|
||||
impl Default for ProjectConfig {
|
||||
@@ -227,6 +241,7 @@ impl Default for ProjectConfig {
|
||||
rate_limit_notifications: default_rate_limit_notifications(),
|
||||
timezone: None,
|
||||
rendezvous: None,
|
||||
reconcile_on_startup: default_reconcile_on_startup(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,6 +318,7 @@ impl ProjectConfig {
|
||||
rate_limit_notifications: legacy.rate_limit_notifications,
|
||||
timezone: legacy.timezone,
|
||||
rendezvous: None,
|
||||
reconcile_on_startup: legacy.reconcile_on_startup,
|
||||
};
|
||||
validate_agents(&config.agent)?;
|
||||
return Ok(config);
|
||||
@@ -331,6 +347,7 @@ impl ProjectConfig {
|
||||
rate_limit_notifications: legacy.rate_limit_notifications,
|
||||
timezone: legacy.timezone,
|
||||
rendezvous: None,
|
||||
reconcile_on_startup: legacy.reconcile_on_startup,
|
||||
};
|
||||
validate_agents(&config.agent)?;
|
||||
Ok(config)
|
||||
@@ -347,6 +364,7 @@ impl ProjectConfig {
|
||||
rate_limit_notifications: legacy.rate_limit_notifications,
|
||||
timezone: legacy.timezone,
|
||||
rendezvous: None,
|
||||
reconcile_on_startup: legacy.reconcile_on_startup,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user