Add deterministic analysis input identities

This commit is contained in:
2026-08-29 19:02:16 +00:00
parent 62de6abdbf
commit ab5751459a
12 changed files with 815 additions and 150 deletions

View File

@@ -8,6 +8,7 @@ import (
"path/filepath"
"strings"
"gitea.maximumdirect.net/eric/narratio/internal/artifactmodel"
"gitea.maximumdirect.net/eric/narratio/internal/fileops"
"gitea.maximumdirect.net/eric/narratio/internal/manifest"
"gitea.maximumdirect.net/eric/narratio/internal/pathsafe"
@@ -30,6 +31,9 @@ type AnalyzeEvidence struct {
SourceID string
Path string
ProducerRunID string
Contract *artifactmodel.ContractMetadata
Checksum string
Size int64
}
// InspectAnalyzeEvidence verifies that one configured artifact has supported,
@@ -107,6 +111,9 @@ func InspectAnalyzeEvidence(
SourceID: sourceID,
Path: filepath.Join(paths.Root, filepath.FromSlash(configuredPath)),
ProducerRunID: record.ProducerRunID,
Contract: cloneArtifactContract(record.Output.Contract),
Checksum: record.Output.Checksum,
Size: record.OutputSize,
}
}
@@ -129,6 +136,9 @@ func (c *ArtifactCatalog) HydrateAnalyzeArtifacts(
if evidence.State != AnalyzeEvidenceCurrent {
continue
}
_ = c.markAvailableFromAnalyzeManifest(evidence.SourceID, evidence.Path, evidence.ProducerRunID)
_ = c.markAvailableFromAnalyzeManifest(
evidence.SourceID, evidence.Path, evidence.ProducerRunID,
evidence.Checksum, evidence.Size, evidence.Contract,
)
}
}