fix: gt sling resolves dot target to current agent identity (gt-hldpv)

When slinging with . as target, resolve it to the current agent identity
instead of using literal dot. This matches git convention where dot means
current directory/context.

Fix applied to both runSling and runSlingFormula code paths.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/crew/gus
2025-12-31 13:05:08 -08:00
committed by Steve Yegge
parent 7d6ea09efe
commit 7bfaf1a791

View File

@@ -183,8 +183,13 @@ func runSling(cmd *cobra.Command, args []string) error {
if len(args) > 1 {
target := args[1]
// Check if target is a dog target (deacon/dogs or deacon/dogs/<name>)
if dogName, isDog := IsDogTarget(target); isDog {
// Resolve "." to current agent identity (like git's "." meaning current directory)
if target == "." {
targetAgent, targetPane, _, err = resolveSelfTarget()
if err != nil {
return fmt.Errorf("resolving self for '.' target: %w", err)
}
} else if dogName, isDog := IsDogTarget(target); isDog {
if slingDryRun {
if dogName == "" {
fmt.Printf("Would dispatch to idle dog in kennel\n")
@@ -622,8 +627,13 @@ func runSlingFormula(args []string) error {
var err error
if target != "" {
// Check if target is a dog target (deacon/dogs or deacon/dogs/<name>)
if dogName, isDog := IsDogTarget(target); isDog {
// Resolve "." to current agent identity (like git's "." meaning current directory)
if target == "." {
targetAgent, targetPane, _, err = resolveSelfTarget()
if err != nil {
return fmt.Errorf("resolving self for '.' target: %w", err)
}
} else if dogName, isDog := IsDogTarget(target); isDog {
if slingDryRun {
if dogName == "" {
fmt.Printf("Would dispatch to idle dog in kennel\n")