Let the controller say a bucket it deleted at its first start (issue 1943; for issue 1945, B13)

ADR 0539 clause 13 has the controller delete the plan-state buckets once and say each as its event.
This commit is contained in:
2026-10-24 17:03:54 +02:00
parent e64486b0e6
commit 5da87a0dda
2 changed files with 16 additions and 1 deletions
+4 -1
View File
@@ -118,7 +118,10 @@ var defaultSeats = append([]Seat{
"assignment-changed", "declared-config-changed", "predefined-changed",
// A builder's key not taken in because the artifact store does not hold an artifact it names (novox/hq
// issue 1937): the builder builds it again.
"artifacts-gone"},
"artifacts-gone",
// A bucket of a state this release deleted, deleted at the controller's first start (novox/hq ADR 0539
// clause 13): the merge window's, the silent sends' and the building plans' hold, each said once.
"bucket-deleted"},
Serves: ControllerVerbs},
// The store's first verbs (novox/hq ADR 0159): the smallest set that makes the store askable,
// served by whichever module holds the seat with tools of these names.
+12
View File
@@ -101,3 +101,15 @@ func TestTheDeliverySeatHasNoPlanVerbs(t *testing.T) {
t.Errorf("the gate of release 5 cannot hold the seat: %v", err)
}
}
// 1943 (for 1945/AC14): the controller's seat says a bucket it deleted at its first start as its event, bucket-deleted
// (ADR 0539 clause 13).
func TestTheControllerSaysABucketItDeleted(t *testing.T) {
seat, ok := SeatNamed(ControllerSeatName)
if !ok {
t.Fatal("no controller seat")
}
if !SeatSays(seat.Emits, "bucket-deleted") {
t.Errorf("the controller's seat does not emit bucket-deleted: %v", seat.Emits)
}
}