Avoid duplicate intermediate source history

This commit is contained in:
2026-10-27 03:04:31 +00:00
parent 17216a40f3
commit 906ca34b6d
3 changed files with 56 additions and 1 deletions

View File

@@ -89,6 +89,9 @@ func (builder *historyBuilder) observeSourceEvidence(root *document.Node, origin
owned.hasApplicationRef = true
}
for displacedIndex, displaced := range record.displaced {
if sourceOriginRepresentedByOperation(builder.model, displaced.path, displaced.origin) {
continue
}
definitionPayload := payload
definitionPayload.substep = displacedIndex + 1
definition := builder.addAttribution(displaced.origin, nil, nil)
@@ -249,6 +252,9 @@ func sourceOriginRepresentedByOperation(model *historyModel, path Path, origin O
if observation.phase != historyPhaseSources || observation.role != historyRoleOperation {
return
}
if !observation.afterPresent || !sameConcreteHistoryPath(path, observation.path) {
return
}
operationOrigin, ok := model.resolveAttribution(observation.attributionRef)
if !ok {
return