Add shared metadata maps and stage-name helpers
This commit is contained in:
@@ -40,6 +40,16 @@ type Metadata struct {
|
||||
SHA256 string `json:"sha256"`
|
||||
}
|
||||
|
||||
func (m Metadata) DiagnosticsMap() map[string]any {
|
||||
return map[string]any{
|
||||
"prompt_id": m.PromptID,
|
||||
"prompt_version": m.PromptVersion,
|
||||
"prompt_source": m.PromptSource,
|
||||
"embedded_path": m.EmbeddedPath,
|
||||
"sha256": m.SHA256,
|
||||
}
|
||||
}
|
||||
|
||||
type definition struct {
|
||||
id string
|
||||
version string
|
||||
|
||||
@@ -107,3 +107,16 @@ func TestRenderedPromptsContainHardening(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDiagnosticsMapIncludesStablePromptMetadataShapeForAllPrompts(t *testing.T) {
|
||||
for _, m := range RegisteredMetadata() {
|
||||
metadataMap := m.DiagnosticsMap()
|
||||
if metadataMap["prompt_id"] != m.PromptID ||
|
||||
metadataMap["prompt_version"] != m.PromptVersion ||
|
||||
metadataMap["prompt_source"] != m.PromptSource ||
|
||||
metadataMap["embedded_path"] != m.EmbeddedPath ||
|
||||
metadataMap["sha256"] != m.SHA256 {
|
||||
t.Fatalf("unexpected diagnostics metadata map for %q: %+v", m.PromptID, metadataMap)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user