Create AgentIdentity type to parse and construct session names, replacing duplicated logic in sling.go and handoff.go. - Add internal/session/identity.go with AgentIdentity type - ParseSessionName handles: mayor, deacon, witness, refinery, crew, polecat - SessionName() reconstructs valid tmux session name - Address() returns mail-style address (e.g., "gastown/crew/max") - GTRole() returns GT_ROLE env var format - Update sling.go:sessionToAgentID to use ParseSessionName - Update handoff.go:sessionToGTRole to use ParseSessionName - Add comprehensive unit tests with round-trip verification 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.2 KiB
4.2 KiB