Skip to content

feat: add default_formula rig config for sling dispatch#3284

Merged
steveyegge merged 1 commit intogastownhall:mainfrom
totalslacker:polecat/furiosa/gt-y18@mn6fkydy
Mar 27, 2026
Merged

feat: add default_formula rig config for sling dispatch#3284
steveyegge merged 1 commit intogastownhall:mainfrom
totalslacker:polecat/furiosa/gt-y18@mn6fkydy

Conversation

@totalslacker
Copy link
Copy Markdown
Contributor

@totalslacker totalslacker commented Mar 25, 2026

Summary

  • Adds default_formula to rig property layers so gt sling uses the rig's configured formula instead of always defaulting to mol-polecat-work
  • Enables per-project formula configuration: gt rig config set myrig default_formula mol-custom
  • --formula flag still overrides the configured default
  • Resolution order: explicit flag > rig property layers (wisp/bead) > rig settings file > hardcoded fallback

Motivation

Different projects may need different default formulas for their polecats. Currently the only way to use a non-default formula is to pass --formula on every gt sling invocation, which is error-prone. A per-rig config eliminates this.

Test plan

  • TestResolveFormula — 6 subtests covering precedence: explicit flag, hookRawBead, system default, wisp layer override, explicit overrides wisp, empty rigName fallback
  • Manual: gt rig config set <rig> default_formula <formula> persists and is picked up by gt sling
  • Manual: --formula flag still overrides the default

🤖 Generated with Claude Code

…gt-y18)

resolveFormula now checks rig property layers (wisp → bead → system default)
before falling back to settings/config.json. This enables:

  gt rig config set <rig> default_formula mol-evolve

to override the mol-polecat-work default per-rig, eliminating the need for
manual --formula flags on gt sling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added the status/needs-triage Inbox — we haven't looked at it yet label Mar 25, 2026
@codecov-commenter
Copy link
Copy Markdown

❌ 5 Tests Failed:

Tests completed Failed Passed Skipped
9326 5 9321 48
View the top 3 failed test(s) by shortest run time
github.com/steveyegge/gastown/internal/cmd::TestBuildRefineryPatrolVars_FullConfig
Stack Traces | 0s run time
=== RUN   TestBuildRefineryPatrolVars_FullConfig
    patrol_helpers_test.go:166: expected 5 vars, got 7: [target_branch=main integration_branch_refinery_enabled=true integration_branch_auto_land=false run_tests=true delete_merged_branches=true judgment_enabled=false review_depth=standard]
--- FAIL: TestBuildRefineryPatrolVars_FullConfig (0.00s)
github.com/steveyegge/gastown/internal/cmd::TestRunHooksSyncNonClaudeAgent
Stack Traces | 0.01s run time
=== RUN   TestRunHooksSyncNonClaudeAgent
Syncing hooks...
  ✓ mayor/.claude/settings.json (created)
  ✓ deacon/.claude/settings.json (created)
  ✓ myrig/crew/.claude/settings.json (created)
warning: role_agents[crew]=opencode - agent "opencode" binary "opencode" not found in PATH, falling back to default

Synced 3 targets (3 created, 0 updated, 0 unchanged)
    hooks_sync_test.go:366: opencode plugin not created in worktree alice
--- FAIL: TestRunHooksSyncNonClaudeAgent (0.01s)
github.com/steveyegge/gastown/internal/doctor::TestHooksSyncCheck_Fix_TemplateAgent
Stack Traces | 0.01s run time
=== RUN   TestHooksSyncCheck_Fix_TemplateAgent
warning: role_agents[crew]=opencode - agent "opencode" binary "opencode" not found in PATH, falling back to default
    hooks_sync_check_test.go:219: expected StatusWarning before fix, got OK
--- FAIL: TestHooksSyncCheck_Fix_TemplateAgent (0.01s)
github.com/steveyegge/gastown/internal/doctor::TestHooksSyncCheck_TemplateAgent_Missing
Stack Traces | 0.01s run time
=== RUN   TestHooksSyncCheck_TemplateAgent_Missing
warning: role_agents[crew]=opencode - agent "opencode" binary "opencode" not found in PATH, falling back to default
    hooks_sync_check_test.go:193: expected StatusWarning for missing template agent file, got OK: All 3 hook targets in sync
--- FAIL: TestHooksSyncCheck_TemplateAgent_Missing (0.01s)
github.com/steveyegge/gastown/internal/doctor::TestHooksSyncCheck_TemplateAgent_OutOfSync
Stack Traces | 0.01s run time
=== RUN   TestHooksSyncCheck_TemplateAgent_OutOfSync
warning: role_agents[crew]=opencode - agent "opencode" binary "opencode" not found in PATH, falling back to default
    hooks_sync_check_test.go:172: expected StatusWarning for out-of-sync template agent, got OK: All 3 hook targets in sync
--- FAIL: TestHooksSyncCheck_TemplateAgent_OutOfSync (0.01s)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@steveyegge steveyegge merged commit 65630fc into gastownhall:main Mar 27, 2026
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/needs-triage Inbox — we haven't looked at it yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants