Normalize typed CLI history evidence

This commit is contained in:
2026-10-26 15:36:42 +00:00
parent da74d4190d
commit 231ae66857
5 changed files with 366 additions and 3 deletions

View File

@@ -106,12 +106,22 @@ func overrideMetadataRecords(before decodedConfiguration, overrides []preparedOv
location := document.Location{SourceID: override.source.ID}
previous := cloneOrigin(before.origins[override.path.String()])
var displaced []displacedDefinition
var introduced []historyPathOrigin
if existing, ok := documentAtPathWithLookup(before.final, override.path, lookup); ok {
displaced = affectedOverrideOrigins(existing, override.value, before.origins, override.path, new(mappingIndex))
}
application := historyApplication{
layer: LayerCLI, path: override.path.clone(), value: override.value,
origin: overlayOrigin(LayerCLI, location),
}
walkHistoryApplication(application, func(_, effective Path, node *document.Node) {
introduced = append(introduced, historyPathOrigin{
path: effective, origin: sourceApplicationOrigin(application, node), sensitive: node.Sensitive,
})
})
records = append(records, overlayRecord{change: Change{
Path: override.path.clone(), Origin: overlayOrigin(LayerCLI, location), Previous: previousOrigins(previous),
}, displaced: displaced})
}, displaced: displaced, introduced: introduced})
}
return records
}