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:
committed by
Steve Yegge
parent
b8eb936219
commit
544cacf36d
23
internal/config/roles/deacon.toml
Normal file
23
internal/config/roles/deacon.toml
Normal file
@@ -0,0 +1,23 @@
|
||||
# Deacon role definition
|
||||
# Daemon beacon for heartbeats and monitoring. One per town.
|
||||
|
||||
role = "deacon"
|
||||
scope = "town"
|
||||
nudge = "Run 'gt prime' to check patrol status and begin heartbeat cycle."
|
||||
prompt_template = "deacon.md.tmpl"
|
||||
|
||||
[session]
|
||||
pattern = "hq-deacon"
|
||||
work_dir = "{town}"
|
||||
needs_pre_sync = false
|
||||
start_command = "exec claude --dangerously-skip-permissions"
|
||||
|
||||
[env]
|
||||
GT_ROLE = "deacon"
|
||||
GT_SCOPE = "town"
|
||||
|
||||
[health]
|
||||
ping_timeout = "30s"
|
||||
consecutive_failures = 3
|
||||
kill_cooldown = "5m"
|
||||
stuck_threshold = "1h"
|
||||
Reference in New Issue
Block a user