Chair synthesis round that exposes per-member weights to the chair prompt.
Used by CouncilEx.Councils.WeightedConsensus. Behaves like
CouncilEx.Rounds.Synthesis but attaches a :weight to each member's
digest so the chair (or downstream code) can weight contributions by
reliability.
Weight resolution order, per member:
- Static
:weightopt declared on the member :confidencefield on the%MemberResult{}(if populated)- Equal weight
1.0 / Nas fallback
Weights are normalized to sum to 1.0 across members with :ok status.
Inspired by Wu et al. Council Mode (arXiv:2604.02923).
Round opts
:expose_confidence— boolean (defaulttrue). Whenfalse, the raw:confidencefield is hidden from the chair's input; only the normalized:weightis surfaced. Set tofalseto test the finding from Wu et al. Can LLM Agents Really Debate? (arXiv:2511.07784) that visible peer confidence biases downstream reasoning toward conformity. The chair is terminal (not a peer that can capitulate to a majority), so the default keeps confidence visible — but the option exists so callers can audit sensitivity to this signal.
Wu 2025 alignment for OTHER rounds
This is the only built-in round that ever exposes confidence/weight
to a downstream prompt. Rounds.{PeerReview, Critique, AnonymizedPeerReview} only surface parsed content / response text to
peers — no per-member confidence numbers, no running vote tallies.
That makes the existing peer-visibility rounds Wu-2025-safe by
default: agents see what others said, but not "X others agreed" or
"peer Y was 90% confident", which the paper identifies as the
conformity trigger.
See docs/RELATED_WORK.md for the
broader analysis.