From 7bfaf1a7910c5fe3ed26eb0e52468ea88da8b20e Mon Sep 17 00:00:00 2001 From: gastown/crew/gus Date: Wed, 31 Dec 2025 13:05:08 -0800 Subject: [PATCH] fix: gt sling resolves dot target to current agent identity (gt-hldpv) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- internal/cmd/sling.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/internal/cmd/sling.go b/internal/cmd/sling.go index f7c9adc6..08b341f1 100644 --- a/internal/cmd/sling.go +++ b/internal/cmd/sling.go @@ -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/) - 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/) - 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")