Centralize Scriptorium input source policy across config, analyze, and previous-cache

This commit is contained in:
2026-05-23 15:50:29 +00:00
parent 094b0d2532
commit 9fe44cd00d
6 changed files with 223 additions and 45 deletions

View File

@@ -5,6 +5,7 @@ import (
"sort"
"strings"
"gitea.maximumdirect.net/eric/narratio/internal/artifactpolicy"
"gitea.maximumdirect.net/eric/narratio/internal/config"
)
@@ -36,10 +37,11 @@ func CollectPreviousArtifactRequirements(
inputNames := sortedScriptoriumInputKeys(artifactCfg.Inputs)
for _, inputName := range inputNames {
inputCfg := artifactCfg.Inputs[inputName]
previousName, ok := PreviousSessionArtifactName(inputCfg.Source)
if !ok {
descriptor, err := artifactpolicy.DescribeScriptoriumInputSource(inputCfg.Source)
if err != nil || descriptor.PreviousSession == nil {
continue
}
previousName := descriptor.PreviousSession.ConfiguredKey
location := fmt.Sprintf(
"pipeline.scriptorium.artifacts.%s.inputs.%s.source",