feat(identity): add gt commit wrapper and gt trail command

gt-f6mkz: Agent git identity
- Add `gt commit` wrapper that sets git author from agent identity
- Identity mapping: gastown/crew/jack → gastown.crew.jack@gastown.local
- Add `agent_email_domain` to TownSettings (default: gastown.local)
- Add `gt config agent-email-domain` command to manage domain

gt-j1m5v: gt trail command
- Add `gt trail` with aliases `gt recent` and `gt recap`
- Subcommands: commits, beads, hooks
- Flags: --since, --limit, --json, --all
- Filter commits by agent email domain

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/crew/jack
2026-01-13 19:34:29 -08:00
committed by Steve Yegge
parent 0a6fa457f6
commit 60da5de104
5 changed files with 653 additions and 0 deletions

View File

@@ -56,6 +56,11 @@ type TownSettings struct {
// This allows cost optimization by using different models for different roles.
// Example: {"mayor": "claude-opus", "witness": "claude-haiku", "polecat": "claude-sonnet"}
RoleAgents map[string]string `json:"role_agents,omitempty"`
// AgentEmailDomain is the domain used for agent git identity emails.
// Agent addresses like "gastown/crew/jack" become "gastown.crew.jack@{domain}".
// Default: "gastown.local"
AgentEmailDomain string `json:"agent_email_domain,omitempty"`
}
// NewTownSettings creates a new TownSettings with defaults.