MCPcopy Index your code
hub / github.com/wshobson/agents / _build_composite

Method _build_composite

plugins/plugin-eval/src/plugin_eval/engine.py:165–182  ·  view source on GitHub ↗

Build the CompositeResult from available layer results.

(self, layers: list[LayerResult])

Source from the content-addressed store, hash-verified

163 # ------------------------------------------------------------------
164
165 def _build_composite(self, layers: list[LayerResult]) -> CompositeResult:
166 """Build the CompositeResult from available layer results."""
167 static_result = next((lr for lr in layers if lr.layer == "static"), None)
168 judge_result = next((lr for lr in layers if lr.layer == "judge"), None)
169 mc_result = next((lr for lr in layers if lr.layer == "monte_carlo"), None)
170
171 static_scores = self._map_static_to_dimensions(static_result) if static_result else None
172 judge_scores = judge_result.sub_scores if judge_result else None
173 mc_scores = self._normalize_mc_scores(mc_result.sub_scores) if mc_result else None
174
175 dimension_scores = self._blend_layer_scores(
176 static_scores=static_scores,
177 judge_scores=judge_scores,
178 mc_scores=mc_scores,
179 )
180
181 anti_pattern_count = len(static_result.anti_patterns) if static_result else 0
182 return self._assemble_composite(dimension_scores, anti_pattern_count)
183
184 def _assemble_composite(
185 self, dimension_scores: dict[str, float], anti_pattern_count: int

Callers 1

evaluate_skillMethod · 0.95

Calls 4

_normalize_mc_scoresMethod · 0.95
_blend_layer_scoresMethod · 0.95
_assemble_compositeMethod · 0.95

Tested by

no test coverage detected