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

@@ -68,6 +68,17 @@ func TestHydrateExtractionArtifactsAcceptsOnlyCompleteCurrentBundle(t *testing.T
if entry.Provenance != ArtifactProvenanceCurrentExtractManifest || entry.ProducerRunID != "extract-run-1" {
t.Fatalf("hydrated provenance = %#v", entry)
}
wantOutput := currentManifest.Stages["extract"].Outputs[0]
info, err := os.Stat(wantOutput.LocalPath)
if err != nil {
t.Fatal(err)
}
if entry.Checksum != wantOutput.Checksum || entry.Size != info.Size() {
t.Fatalf("hydrated content identity = (%q, %d), want (%q, %d)", entry.Checksum, entry.Size, wantOutput.Checksum, info.Size())
}
if entry.Contract == nil || *entry.Contract != *wantOutput.Contract {
t.Fatalf("hydrated contract = %#v, want %#v", entry.Contract, wantOutput.Contract)
}
resolved, err := ResolveSessionArtifactWithCatalog(paths, currentManifest, entry.SourceID, catalog)
if err != nil {
t.Fatalf("ResolveSessionArtifactWithCatalog() error = %v", err)