Record top-level module metadata in run manifests
This commit is contained in:
@@ -1094,6 +1094,37 @@ func TestExampleFixtureRunWithDNDScenesRecordsChunkerAndWarnings(t *testing.T) {
|
||||
if manifest.Chunker != scenes.Key {
|
||||
t.Fatalf("manifest chunker = %q, want %q", manifest.Chunker, scenes.Key)
|
||||
}
|
||||
chunkerMetadata := manifest.ModuleMetadata["chunker"]
|
||||
if chunkerMetadata == nil {
|
||||
t.Fatalf("module metadata chunker = %#v, want object", manifest.ModuleMetadata["chunker"])
|
||||
}
|
||||
wantMetadataKeys := []string{
|
||||
"prompt_id",
|
||||
"prompt_version",
|
||||
"prompt_sha256",
|
||||
"response_schema_key",
|
||||
"response_schema_id",
|
||||
"response_schema_name",
|
||||
"response_schema_version",
|
||||
"response_schema_sha256",
|
||||
}
|
||||
if len(chunkerMetadata) != len(wantMetadataKeys) {
|
||||
t.Fatalf("chunker metadata keys = %#v, want %d keys", chunkerMetadata, len(wantMetadataKeys))
|
||||
}
|
||||
for _, key := range wantMetadataKeys {
|
||||
value, ok := chunkerMetadata[key]
|
||||
if !ok {
|
||||
t.Fatalf("chunker metadata missing key %q: %#v", key, chunkerMetadata)
|
||||
}
|
||||
if _, ok := value.(string); !ok {
|
||||
t.Fatalf("chunker metadata[%q] = %#v, want string", key, value)
|
||||
}
|
||||
}
|
||||
for _, forbidden := range []string{"prompt", "schema", "source", "text", "payload", "api_key", "secret", "token"} {
|
||||
if _, ok := chunkerMetadata[forbidden]; ok {
|
||||
t.Fatalf("chunker metadata leaked forbidden key %q: %#v", forbidden, chunkerMetadata)
|
||||
}
|
||||
}
|
||||
for _, forbidden := range []string{"Source document ID:", "Aria casts Cure Wounds.", "spell_casts", "Scene boundary was ambiguous."} {
|
||||
if strings.Contains(string(manifestBytes), forbidden) {
|
||||
t.Fatalf("manifest leaked %q: %s", forbidden, manifestBytes)
|
||||
|
||||
Reference in New Issue
Block a user