Give each asking of a merge ask its own id, and add the have phase removed (issues 1370, 1369)
mesh/merge-gate head ba684e54976b merged into trunk 5786ba190c69 — pass: group fix/r3e-before-the-gate composed: every machine composes with the change as …
mesh/repo-check head ba684e54976b merged into trunk 5786ba190c69 beside mesh-host#121@150fadfe — pass: its merge-check.sh passed, each part in its toolchai…
mesh/delivery delivered
mesh/delivery-group group fix/r3e-before-the-gate merged: every member is merged

The router drops an ask under an id it keeps as a redelivery, so a gate that writes the same group's ask again at unchanged heads was never heard. Ask gains Asking; AskingID gives the first asking the old id and later ones their own. PhaseRemoved lets the node-engine say a module left its node.
This commit is contained in:
2026-10-20 01:18:49 +00:00
parent 5786ba190c
commit ba684e5497
4 changed files with 107 additions and 4 deletions
+16
View File
@@ -292,3 +292,19 @@ func TestSame(t *testing.T) {
t.Error("different pulses same")
}
}
func TestHaveRemoved(t *testing.T) { // 1370/AC3
in := Have{Build: "b1", Phase: PhaseRemoved, Health: HealthUnknown, Detail: "the declaration no longer holds it"}
b, err := EncodeHave(in)
if err != nil {
t.Fatal(err)
}
out, err := DecodeHave(b)
if err != nil {
t.Fatal(err)
}
in.V = Version
if out != in || out.Phase != "removed" {
t.Errorf("round trip: %+v", out)
}
}