feat(effort): add xhigh/auto levels + ephemeral --effort flag#3694
Open
ckumar1 wants to merge 1 commit intogastownhall:mainfrom
Open
feat(effort): add xhigh/auto levels + ephemeral --effort flag#3694ckumar1 wants to merge 1 commit intogastownhall:mainfrom
ckumar1 wants to merge 1 commit intogastownhall:mainfrom
Conversation
Claude Code 2.x (and 4.x-class models) exposes two effort levels gastown previously rejected: `xhigh` (extended reasoning budget) and `auto` (model picks adaptively). Rigs can now opt into deeper reasoning per-role via role_effort in rig settings, and operators can push an entire session into xhigh/auto ephemerally via `gt start --effort <level>` without editing config. Changes: - ValidEffortLevels + IsValidEffortLevel accept "xhigh" and "auto" - ResolveRoleEffort gains Tier 0: GT_EFFORT env var, set by `gt start --effort`; beats GT_COST_TIER and rig/town role_effort. Invalid values warn + skip. - gt start --effort <level> validates against ValidEffortLevels and exports GT_EFFORT for deacon/mayor and every agent they later spawn. - Deprecation notice for CLAUDE_CODE_EFFORT_LEVEL now points at --effort / GT_EFFORT as the session-scoped escape hatch. - Comments on TownSettings.RoleEffort and RigSettings.RoleEffort updated to list the new levels. Tests: GT_EFFORT precedence, xhigh/auto acceptance, invalid fallthrough. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Executed-By: gastown/crew/woodhouse
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
asblab
approved these changes
Apr 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds two new effort levels (
xhighandauto) toValidEffortLevels, plus an ephemeral--effortflag ongt startand aGT_EFFORTenvironment-variable tier inResolveRoleEffort.Motivation
Multi-agent fleets benefit from being able to bump a single session to a higher effort tier for a specific task without permanently editing per-role config. Today the only knobs are the role-default tier in
role_effort.<role>(persistent) and command-line effort flags on downstream commands — there is no way to say "just thisgt start, run the agent at xhigh effort." The ephemeral--effortflag andGT_EFFORTenv var fill that gap, andxhigh/autogive the fleet meaningful higher tiers to target.Changes
internal/config/types.go,internal/config/cost_tier.go: addxhighandautotoValidEffortLevelsand the cost-tier ordering.internal/config/env.go,internal/config/loader.go,internal/config/env_test.go,internal/config/cost_tier_test.go: addGT_EFFORTas a tier inResolveRoleEffort(env > flag > role > default), with tests.internal/cmd/start.go: add--effortflag togt start, ephemeral (applies only to that invocation, does not modify config).CHANGELOG.md: note the additions.Testing
go test ./internal/config/...— green, including the newenv_test.gocases.go test ./...— green locally.GT_EFFORT=xhigh gt start <role>picks up the tier;gt start <role> --effort autopicks up the flag; neither persists after the session ends.Checklist
low/medium/highcontinue to work unchanged;xhighandautoare additive.Notes
This change originated as an operational patch on our fork's
carry/operationalbranch. Filing upstream per the "graduate to upstream" path in our carry-patch lifecycle — both towns would benefit from not maintaining a local carry patch for this.