Build the CompositeResult from available layer results.
(self, layers: list[LayerResult])
| 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 |
no test coverage detected