fix(channel): enforce RetentionHours in channel message retention
The RetentionHours field in ChannelFields was never enforced - only RetentionCount was checked. Now both EnforceChannelRetention and PruneAllChannels delete messages older than the configured hours. Also fixes sling tests that were missing TMUX_PANE and GT_TEST_NO_NUDGE guards, causing them to inject prompts into active tmux sessions during test runs. Fixes: gt-uvnfug Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -616,6 +616,7 @@ exit 0
|
||||
t.Setenv(EnvGTRole, "crew")
|
||||
t.Setenv("GT_CREW", "jv")
|
||||
t.Setenv("GT_POLECAT", "")
|
||||
t.Setenv("TMUX_PANE", "") // Prevent inheriting real tmux pane from test runner
|
||||
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
@@ -637,6 +638,9 @@ exit 0
|
||||
slingDryRun = true
|
||||
slingNoConvoy = true
|
||||
|
||||
// Prevent real tmux nudge from firing during tests (causes agent self-interruption)
|
||||
t.Setenv("GT_TEST_NO_NUDGE", "1")
|
||||
|
||||
// EXPECTED: gt sling should use daemon mode and succeed
|
||||
// ACTUAL: verifyBeadExists uses --no-daemon and fails with sync error
|
||||
beadID := "jv-v599"
|
||||
@@ -792,6 +796,7 @@ exit 0
|
||||
t.Setenv(EnvGTRole, "mayor")
|
||||
t.Setenv("GT_POLECAT", "")
|
||||
t.Setenv("GT_CREW", "")
|
||||
t.Setenv("TMUX_PANE", "") // Prevent inheriting real tmux pane from test runner
|
||||
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
@@ -819,6 +824,9 @@ exit 0
|
||||
slingVars = nil
|
||||
slingOnTarget = "gt-abc123" // The bug bead we're applying formula to
|
||||
|
||||
// Prevent real tmux nudge from firing during tests (causes agent self-interruption)
|
||||
t.Setenv("GT_TEST_NO_NUDGE", "1")
|
||||
|
||||
if err := runSling(nil, []string{"mol-polecat-work"}); err != nil {
|
||||
t.Fatalf("runSling: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user