Area 5 (join 11): mesh-recovery fills a restore point's names when it takes the point

Builds: design 47 G A-230 (answers G-22)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 11:36:52 +01:00
parent b276da8ba6
commit 8261c2c7e4
2 changed files with 5 additions and 0 deletions
@@ -130,6 +130,7 @@ func (e *Engine) take(ctx context.Context, a *Act) error {
return e.endedFailed(a, err)
}
p.Digests = append(p.Digests, seat.Digest{Name: o.Stream, Digest: sum})
p.Names = append(p.Names, o.Stream)
p.Size += n
p.Consumers = append(p.Consumers, o.Consumers...)
if e.filled()+p.Size > e.Settings.Cap {
@@ -41,6 +41,10 @@ func TestATakenPointIsListedWithItsDigestsAndEndedUnderItsAct(t *testing.T) {
if err != nil || len(pts) != 1 || pts[0].Snapshot != ev.Snapshot {
t.Fatalf("points %+v %v", pts, err)
}
// A-230: the point says the bus names it took, one per bus object, as its digests name them.
if len(pts[0].Names) != 2 || len(pts[0].Digests) != 2 || pts[0].Names[0] != pts[0].Digests[0].Name || pts[0].Names[1] != pts[0].Digests[1].Name {
t.Errorf("names %v for digests %+v", pts[0].Names, pts[0].Digests)
}
if _, ok, _ := r.d.Get("app/notes/2-fp1"); !ok {
t.Errorf("no digests on the bus: %v", r.d.m)
}