Complete source 6 engineering workflows and preserve release validation evidence
This commit is contained in:
@@ -32,6 +32,22 @@ pub struct RecoveryWorkspace {
|
||||
}
|
||||
|
||||
impl RecoveryWorkspace {
|
||||
/// Refresh only accepted clean buffers. Dirty baselines and invalid/unapplied
|
||||
/// workspaces are authored recovery data, not migration input.
|
||||
pub(crate) fn upgrade_clean_buffers(&mut self, old: &SourceBundle, new: &SourceBundle) {
|
||||
if !self.applied || self.entry != old.entry {
|
||||
return;
|
||||
}
|
||||
for (path, (text, baseline)) in &mut self.files {
|
||||
if text == baseline
|
||||
&& old.files.get(path) == Some(text)
|
||||
&& let Some(upgraded) = new.files.get(path)
|
||||
{
|
||||
*text = upgraded.clone();
|
||||
*baseline = upgraded.clone();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// Check the same bounds before replacing a checkpoint and before restoring it.
|
||||
pub(crate) fn validate(&self) -> Result<(), String> {
|
||||
if self.files.len() > LIMITS.max_files
|
||||
|
||||
Reference in New Issue
Block a user