diff --git a/pkg/workflow/compilerenv/manager.go b/pkg/workflow/compilerenv/manager.go index 4c6b8b91828..671ea8e9f7b 100644 --- a/pkg/workflow/compilerenv/manager.go +++ b/pkg/workflow/compilerenv/manager.go @@ -7,7 +7,6 @@ import ( "strings" "github.com/github/gh-aw/pkg/logger" - "github.com/github/gh-aw/pkg/typeutil" ) var managerLog = logger.New("compilerenv:manager") @@ -46,30 +45,6 @@ const ( DefaultModelCodex = "GH_AW_DEFAULT_MODEL_CODEX" ) -// ResolveDefaultMaxAICredits returns the resolved max AI credits default, checking -// the enterprise env var GH_AW_DEFAULT_MAX_AI_CREDITS. -// Falls back to fallback (built-in default) when the env var is unset or invalid. -// -// A value of -1 is preserved and signals that budget enforcement and token -// steering should be disabled when no per-workflow value is configured. -func ResolveDefaultMaxAICredits(fallback int64) int64 { - if raw := strings.TrimSpace(os.Getenv(DefaultMaxAICredits)); raw != "" { - if raw == "-1" { - managerLog.Printf("Applying enterprise override %s=%q (fallback was %d)", DefaultMaxAICredits, raw, fallback) - return -1 - } - if normalized, ok := typeutil.NormalizeInt64KMSuffix(raw); ok { - parsed, err := strconv.ParseInt(normalized, 10, 64) - if err == nil && parsed > 0 { - managerLog.Printf("Applying enterprise override %s=%d (fallback was %d)", DefaultMaxAICredits, parsed, fallback) - return parsed - } - } - managerLog.Printf("Invalid %s=%q, using fallback=%d", DefaultMaxAICredits, raw, fallback) - } - return fallback -} - // ResolveDefaultMaxTurns returns fallback when the env var is unset/invalid, // otherwise returns the parsed override as a string. func ResolveDefaultMaxTurns(fallback string) string { diff --git a/pkg/workflow/compilerenv/manager_test.go b/pkg/workflow/compilerenv/manager_test.go index cb40990a868..21801db7a9c 100644 --- a/pkg/workflow/compilerenv/manager_test.go +++ b/pkg/workflow/compilerenv/manager_test.go @@ -6,38 +6,6 @@ import ( "github.com/stretchr/testify/assert" ) -func TestResolveDefaultMaxAICredits(t *testing.T) { - t.Run("unset uses fallback", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "") - assert.Equal(t, int64(1000), ResolveDefaultMaxAICredits(1000)) - }) - - t.Run("invalid uses fallback", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "abc") - assert.Equal(t, int64(1000), ResolveDefaultMaxAICredits(1000)) - }) - - t.Run("zero uses fallback", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "0") - assert.Equal(t, int64(1000), ResolveDefaultMaxAICredits(1000)) - }) - - t.Run("negative disables guardrail", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "-1") - assert.Equal(t, int64(-1), ResolveDefaultMaxAICredits(1000)) - }) - - t.Run("valid value overrides fallback", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "2500") - assert.Equal(t, int64(2500), ResolveDefaultMaxAICredits(1000)) - }) - - t.Run("suffix value overrides fallback", func(t *testing.T) { - t.Setenv(DefaultMaxAICredits, "2k") - assert.Equal(t, int64(2000), ResolveDefaultMaxAICredits(1000)) - }) -} - func TestBuildDefaultMaxTurnsExpression(t *testing.T) { assert.Equal(t, "${{ vars.GH_AW_DEFAULT_MAX_TURNS || '' }}",