Hold a group's batch open for its last member and keep both kinds of member in one batch and one plan (issue 977, part C, ADR 0418)

This commit is contained in:
2026-10-17 21:06:33 +02:00
parent e43d52c1ea
commit 8b3a9163d0
10 changed files with 406 additions and 127 deletions
+13
View File
@@ -147,6 +147,19 @@ var suppressions = map[string]suppression{
atMost: f.now.Add(-61 * time.Second), closed: f.now.Add(-61 * time.Second)}}
},
},
// A batch held for a group whose last member has not merged by the window's maximum after the first (ADR 0418).
"S22": {
inside: func(f *signalFacts) {
f.batches = []batchFacts{{id: "plan-3", state: inventory.PlanAssembling, grouped: "novox/app@c0ffee11",
holds: map[string]string{"feat/g": "group feat/g has a member still to merge: novox/two (ready)"},
created: f.now.Add(-9 * time.Minute), atMostWindow: 10 * time.Minute}}
},
past: func(f *signalFacts) {
f.batches = []batchFacts{{id: "plan-3", state: inventory.PlanAssembling, grouped: "novox/app@c0ffee11",
holds: map[string]string{"feat/g": "group feat/g has a member still to merge: novox/two (ready)"},
created: f.now.Add(-11 * time.Minute), atMostWindow: 10 * time.Minute}}
},
},
// A batch queued behind an open walk past that walk's bound, named.
"S19": {
inside: func(f *signalFacts) {