diff --git a/modules/mesh-knowledge/cmd/mesh-knowledge/answers.go b/modules/mesh-knowledge/cmd/mesh-knowledge/answers.go index 84737abf4..9b29b439f 100644 --- a/modules/mesh-knowledge/cmd/mesh-knowledge/answers.go +++ b/modules/mesh-knowledge/cmd/mesh-knowledge/answers.go @@ -388,8 +388,8 @@ func (k *KB) Get(a GetAsk) (*Got, error) { e.PendingVersion, k, last.Version) } } - if a.Version == 0 { - g.Round = e.Working().Round() + if w := e.Working(); a.Version == 0 && w.Status == StatusProposed { + g.Round = w.Round() } ask := r.Ask if a.Version == 0 && e.Pending != nil && e.Pending.Ask != nil { diff --git a/modules/mesh-knowledge/cmd/mesh-knowledge/review_round_test.go b/modules/mesh-knowledge/cmd/mesh-knowledge/review_round_test.go index c747fdb51..a87a7c693 100644 --- a/modules/mesh-knowledge/cmd/mesh-knowledge/review_round_test.go +++ b/modules/mesh-knowledge/cmd/mesh-knowledge/review_round_test.go @@ -163,6 +163,9 @@ func TestARoundCountSurvivesAClosingAndAClosingWaitsForTheOperatorsAnswer(t *tes if g, err := w.k.Get(GetAsk{Kind: KindResearch, Number: n}); err != nil || g.Round != 3 { t.Fatalf("get after two rounds: %+v, %v", g, err) } + if g, err := w.k.Get(GetAsk{Kind: KindDecision, Number: 276}); err != nil || g.Round != 0 { + t.Fatalf("get of an accepted record shows round %d, %v", g.Round, err) + } if _, err := w.k.Close("lead@shanks", CloseAsk{Number: n, To: StatusIdea, Note: "Parked: nothing carries it this month."}); err != nil { t.Fatal(err) }