fix: Capture stderr instead of suppressing in command execution

Several files were setting cmd.Stderr = nil, which hides potentially
critical error messages:

- prime.go: bd prime, gt mail check, and bd show commands now log
  stderr on failure for debugging
- orphans.go: git fsck now includes stderr in error messages
- patrol_helpers.go: bd list/show/catalog commands now log stderr

Daemon launch cases (up.go, daemon.go, daemon_check.go) correctly
use nil for I/O detachment but now have clarifying comments.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-30 00:49:18 -08:00
parent 4e67f7e637
commit 212d818305
5 changed files with 60 additions and 24 deletions
+1
View File
@@ -196,6 +196,7 @@ func ensureDaemon(townRoot string) error {
cmd := exec.Command(gtPath, "daemon", "run")
cmd.Dir = townRoot
// Detach from parent I/O for background daemon (uses its own logging)
cmd.Stdin = nil
cmd.Stdout = nil
cmd.Stderr = nil