pub fn aggregate(
panel: &Panel,
reported: &[Option<ReviewerReport>],
) -> PanelOutcomeExpand description
Derives a panel’s verdict from its reviewers’ reports.
This is the whole aggregation, and it is deliberately dull: Pass iff at
least quorum seats reported Pass. Confidence is carried through as
evidence and never consulted; there is no veto and no weighting, so a panel
behaves the same way every time and an operator can predict it from the
config alone.
reported is indexed by reviewer; a None — or a short slice, which is
what a stage abandoned part-way through its panel leaves — fills that seat
with ReviewerReport::silent. Nothing here reads a clock, a process, or
the store, so the aggregate is derived at read time rather than stored:
a resumed run recomputes the identical verdict from the identical rows.