Run all schema-driven comparison groups and return results keyed by group ID.
(
gt: dict, agent: dict, master: MasterData, tolerance: float
)
| 668 | |
| 669 | |
| 670 | def _run_comparison_groups( |
| 671 | gt: dict, agent: dict, master: MasterData, tolerance: float |
| 672 | ) -> dict[str, dict]: |
| 673 | """Run all schema-driven comparison groups and return results keyed by group ID.""" |
| 674 | group_results = {} |
| 675 | for group in master.get_eval_comparison_groups(): |
| 676 | group_id = group.get("id", "") |
| 677 | if group.get("type", "") == "array": |
| 678 | group_results[group_id] = compare_line_items_generic( |
| 679 | gt, agent, group, tolerance |
| 680 | ) |
| 681 | else: |
| 682 | group_results[group_id] = compare_field_group( |
| 683 | gt, agent, group, tolerance |
| 684 | ) |
| 685 | return group_results |
| 686 | |
| 687 | |
| 688 | def _collect_schema_mismatches( |
no test coverage detected