carlos / platform Public

host: the no-change release witness arms a fresh releaser, so a stray marker write shows (final review F6)

The first release advanced the requester's stage throttle, so an
erroneous second request would have been deferred and the immediate
absence check passed anyway. The second release now goes through a
freshly armed armOffline releaser, whose first request writes at once.
Removing the released guard in releaseHeldSeq turns it red; the old
assertion stayed green under the same mutation.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev c289fe84631ab6e77aab3be74ff15ef75b5827dc parent d16b3c2
1 file changed, +8 −2
  • internal/host/movesoffline_e2e_test.go +8 −2
diff --git a/internal/host/movesoffline_e2e_test.go b/internal/host/movesoffline_e2e_test.go
index 78e94f77c..acd1dec79 100644
--- a/internal/host/movesoffline_e2e_test.go
+++ b/internal/host/movesoffline_e2e_test.go
@@ -1754,11 +1754,17 @@ func offlineArmedReleaser(t *testing.T) {
if !lexists(marker) { // the first request writes at once (stageThrottle)
t.Fatal("the release did not touch the stage-requested marker")
}
- // A release that changes nothing touches nothing.
+ // A release that changes nothing touches nothing. The first release
+ // advanced cfg's stage throttle, so a request through it now would be
+ // deferred and the marker's absence would prove nothing: the second
+ // release goes through a freshly armed releaser, whose first request
+ // writes at once (final review F6).
if err := os.Remove(marker); err != nil {
t.Fatal(err)
}
- if ok, err := cfg.ReleaseHoldSeq(offHost, op, registry.Pair{Incarnation: 1, ServingSeq: 2}); err != nil || ok {
+ fresh := moveCfg{}
+ armOffline(&fresh, dd, reg, nil, nil, hostwrite.Config{}, func(string) string { return "" })
+ if ok, err := fresh.ReleaseHoldSeq(offHost, op, registry.Pair{Incarnation: 1, ServingSeq: 2}); err != nil || ok {
t.Fatalf("a second release: %v %v", ok, err)
}
if lexists(marker) {