diff --git a/.github/workflows/daily-model-resolution.lock.yml b/.github/workflows/daily-model-resolution.lock.yml index 08de3f08ff1..bef5d067424 100644 --- a/.github/workflows/daily-model-resolution.lock.yml +++ b/.github/workflows/daily-model-resolution.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d682ade477f5a12186198e954ce670e5bb72f7e21001413550d0ca4ad4cf4f65","body_hash":"02b03e019c9a1e3091d33a11d974be735c7c11244f7b077c2c116118e26a776d","strict":true,"agent_id":"codex","agent_model":"gpt-5-mini","engine_versions":{"codex":"0.141.0"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d682ade477f5a12186198e954ce670e5bb72f7e21001413550d0ca4ad4cf4f65","body_hash":"fde234f700297a3f9a722b148de02a7937860b961f0d28ebf8c4450166730cd8","strict":true,"agent_id":"codex","agent_model":"gpt-5-mini","engine_versions":{"codex":"0.141.0"}} # gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.9","digest":"sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9","digest":"sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9","digest":"sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.9","digest":"sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.29","digest":"sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.4.0","digest":"sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036","pinned_image":"ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # diff --git a/.github/workflows/daily-model-resolution.md b/.github/workflows/daily-model-resolution.md index 02317ee7428..11d1d37d5ce 100644 --- a/.github/workflows/daily-model-resolution.md +++ b/.github/workflows/daily-model-resolution.md @@ -229,7 +229,7 @@ You **MUST** call one safe-output tool before finishing: ## agent: `run-analyzer` --- description: Parses a single run directory to extract sub-agent dispatch requests and actual models from api-proxy logs, then classifies model size correctness. -model: small +model: gpt-5-mini --- You are a model-resolution analysis sub-agent. diff --git a/pkg/workflow/prompts_test.go b/pkg/workflow/prompts_test.go index 5e5bbeb6ca5..01a53a4fc9a 100644 --- a/pkg/workflow/prompts_test.go +++ b/pkg/workflow/prompts_test.go @@ -444,6 +444,29 @@ func TestDailyCacheStrategyAnalyzerUsesCodexCompatibleModelsForExperiment(t *tes } } +func TestDailyModelResolutionUsesCodexCompatibleSubAgentModel(t *testing.T) { + repoRoot, err := findRepoRoot() + if err != nil { + t.Fatalf("Failed to find repo root: %v", err) + } + + workflowFile := filepath.Join(repoRoot, ".github", "workflows", "daily-model-resolution.md") + content, err := os.ReadFile(workflowFile) + if err != nil { + t.Fatalf("Failed to read workflow file: %v", err) + } + + workflow := string(content) + agentStart := strings.Index(workflow, "## agent: `run-analyzer`") + if agentStart == -1 { + t.Fatal("Expected daily-model-resolution workflow to define the run-analyzer sub-agent") + } + agentBlock := workflow[agentStart:] + if !strings.Contains(agentBlock, "\nmodel: gpt-5-mini\n") { + t.Fatal("Expected daily-model-resolution run-analyzer sub-agent to use explicit codex-compatible model gpt-5-mini") + } +} + // ============================================================================ // Playwright Prompt Tests // ============================================================================