From c0da09d81f6e30c4135848811c9b7ca70ab11fa9 Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 7 Nov 2026 14:21:15 +0100 Subject: [PATCH] A pull request's check without a previewed candidate says its composition was not judged, not its manifests (issue 1921, review note) Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i --- .../mesh-delivery-checker/internal/check/judge.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/mesh-delivery-checker/internal/check/judge.go b/modules/mesh-delivery-checker/internal/check/judge.go index cd165a44..8ea27c1b 100644 --- a/modules/mesh-delivery-checker/internal/check/judge.go +++ b/modules/mesh-delivery-checker/internal/check/judge.go @@ -251,8 +251,10 @@ type state struct { // unpreviewed are the members (pullKey) with no preview of a merge: a head that does not merge, or a fetch that did not // answer. The indexer holds no manifest of them, so the assigner's composition would only wait: it is not awaited. unpreviewed []string - // noCandidate says why a whole try has no candidate of its group from the indexer, so its manifests were not judged and - // it was not composed; empty when it has one, and for a pull request's check. + // noCandidate says why the case has no previewed candidate of its heads from the indexer within the bound: for a whole + // try its manifests were not judged and it was not composed; for a pull request's check that began on the indexer's + // first write, its manifests were judged from that write and it was not composed. Empty when it has one, and for a pull + // request's check whose case already holds its fingerprints. noCandidate string } @@ -291,7 +293,11 @@ func (st *state) takeTryCandidate(ctx context.Context) { return } no := func(why string) { - st.noCandidate = "the group's manifests and composition were not judged: " + why + what := "the group's manifests and composition were not judged: " + if st.c.Try == nil { + what = "the composition was not judged (the manifests were judged from the indexer's first write): " + } + st.noCandidate = what + why st.c.note(st.noCandidate) } if st.j.Candidates == nil {