carlos / platform Public

console: a window expiry after a cut is refused whatever deadline the worker read

Pins SetSelfServeExpiry's cut predicate on its own: the cut zeroes
window_deadline, so the old-deadline case alone could not tell it apart.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev fed55d0bfdbbcc72ba4c042dcd29867b3292e4dd parent b462c43
1 file changed, +5 −0
  • internal/console/selfserve_store_test.go +5 −0
diff --git a/internal/console/selfserve_store_test.go b/internal/console/selfserve_store_test.go
index 218b67134..a67c60684 100644
--- a/internal/console/selfserve_store_test.go
+++ b/internal/console/selfserve_store_test.go
@@ -544,6 +544,11 @@ func TestSelfServeCutAndExpiryPredicates(t *testing.T) {
if ok, err := st.SetSelfServeExpiry(ssID, "ready", "window", window, true); err != nil || ok {
t.Fatalf("the obsolete window expiry = %v, %v; want refused", ok, err)
}
+ // No window expiry is recorded after a cut, whatever deadline the
+ // worker read (the cut retired it to zero).
+ if ok, err := st.SetSelfServeExpiry(ssID, "ready", "window", time.Time{}, true); err != nil || ok {
+ t.Fatalf("a window expiry after the cut = %v, %v; want refused", ok, err)
+ }
// The copy's step expiry after the cut is accepted.
if ok, err := st.SetSelfServeExpiry(ssID, "ready", "step", copyDeadline, true); err != nil || !ok {
t.Fatalf("the copy's step expiry = %v, %v", ok, err)