|
8 | 8 | "strings" |
9 | 9 | "testing" |
10 | 10 |
|
| 11 | + "github.com/github/gh-aw/pkg/parser" |
11 | 12 | "github.com/github/gh-aw/pkg/stringutil" |
12 | 13 | ) |
13 | 14 |
|
@@ -241,6 +242,45 @@ func TestDailyFunctionNamerColdStartHandling(t *testing.T) { |
241 | 242 | } |
242 | 243 | } |
243 | 244 |
|
| 245 | +func TestDailyFunctionNamerUsesConcreteClaudeModelsForExperiment(t *testing.T) { |
| 246 | + repoRoot, err := findRepoRoot() |
| 247 | + if err != nil { |
| 248 | + t.Fatalf("Failed to find repo root: %v", err) |
| 249 | + } |
| 250 | + |
| 251 | + workflowFile := filepath.Join(repoRoot, ".github", "workflows", "daily-function-namer.md") |
| 252 | + content, err := os.ReadFile(workflowFile) |
| 253 | + if err != nil { |
| 254 | + t.Fatalf("Failed to read workflow file: %v", err) |
| 255 | + } |
| 256 | + |
| 257 | + parsed, err := parser.ExtractFrontmatterFromContent(string(content)) |
| 258 | + if err != nil { |
| 259 | + t.Fatalf("Failed to parse workflow frontmatter: %v", err) |
| 260 | + } |
| 261 | + |
| 262 | + experiments, ok := parsed.Frontmatter["experiments"].(map[string]any) |
| 263 | + if !ok { |
| 264 | + t.Fatal("Expected daily-function-namer workflow to define experiments") |
| 265 | + } |
| 266 | + modelSize, ok := experiments["model_size"].(map[string]any) |
| 267 | + if !ok { |
| 268 | + t.Fatal("Expected daily-function-namer workflow to define experiments.model_size") |
| 269 | + } |
| 270 | + variants, ok := modelSize["variants"].([]any) |
| 271 | + if !ok { |
| 272 | + t.Fatal("Expected daily-function-namer workflow to define experiments.model_size.variants") |
| 273 | + } |
| 274 | + if len(variants) != 2 || variants[0] != "claude-sonnet-4-6" || variants[1] != "claude-haiku-4-5-20251001" { |
| 275 | + t.Fatalf("Expected concrete Claude variants [claude-sonnet-4-6, claude-haiku-4-5-20251001], got %#v", variants) |
| 276 | + } |
| 277 | + for _, variant := range variants { |
| 278 | + if variant == "agent" || variant == "small-agent" { |
| 279 | + t.Fatalf("Expected concrete model variants, found alias %q", variant) |
| 280 | + } |
| 281 | + } |
| 282 | +} |
| 283 | + |
244 | 284 | // ============================================================================ |
245 | 285 | // Playwright Prompt Tests |
246 | 286 | // ============================================================================ |
|
0 commit comments