feat(roles): add config-based role definition system (Phase 1)

Replace role beads with embedded TOML config files for role definitions.
This is Phase 1 of gt-y1uvb - adds the config infrastructure without
yet switching the daemon to use it.

New files:
- internal/config/roles.go: RoleDefinition types, LoadRoleDefinition()
  with layered override resolution (builtin → town → rig)
- internal/config/roles/*.toml: 7 embedded role definitions
- internal/config/roles_test.go: unit tests

New command:
- gt role def <role>: displays effective role configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/crew/max
2026-01-19 14:59:47 -08:00
committed by Steve Yegge
parent b8eb936219
commit 544cacf36d
10 changed files with 829 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# Refinery role definition
# Merge queue processor with verification gates. One per rig.
role = "refinery"
scope = "rig"
nudge = "Run 'gt prime' to check merge queue and begin processing."
prompt_template = "refinery.md.tmpl"
[session]
pattern = "gt-{rig}-refinery"
work_dir = "{town}/{rig}/refinery/rig"
needs_pre_sync = true
start_command = "exec claude --dangerously-skip-permissions"
[env]
GT_ROLE = "refinery"
GT_SCOPE = "rig"
[health]
ping_timeout = "30s"
consecutive_failures = 3
kill_cooldown = "5m"
stuck_threshold = "2h"