| """Metric registry for paper-ready aggregation.""" | |
| METRIC_GROUPS: dict[str, tuple[str, ...]] = { | |
| "correctness": ( | |
| "resolved_at_1", | |
| "fail_to_pass_rate", | |
| "pass_to_pass_rate", | |
| "regression_count", | |
| ), | |
| "localization": ( | |
| "file_recall_at_1", | |
| "file_recall_at_5", | |
| "file_recall_at_10", | |
| "function_recall_at_10", | |
| "mrr", | |
| "ndcg_at_10", | |
| "all_gold_within_token_budget", | |
| ), | |
| "navigation": ( | |
| "tokens_to_first_gold", | |
| "tool_calls_to_first_gold", | |
| "seconds_to_first_gold", | |
| "irrelevant_files_before_first_gold", | |
| "repeated_read_count", | |
| "context_churn_tokens", | |
| ), | |
| "editing": ( | |
| "patch_applies", | |
| "syntax_valid", | |
| "lint_passes", | |
| "build_passes", | |
| "files_changed", | |
| "hunks_changed", | |
| "lines_changed", | |
| ), | |
| "efficiency": ( | |
| "input_tokens", | |
| "output_tokens", | |
| "cached_tokens", | |
| "tool_result_tokens", | |
| "model_calls", | |
| "tool_calls", | |
| "test_runs", | |
| "wall_time_seconds", | |
| "tokens_per_second", | |
| "time_to_first_token_seconds", | |
| ), | |
| "index": ( | |
| "index_build_seconds", | |
| "index_update_seconds", | |
| "query_p50_ms", | |
| "query_p95_ms", | |
| "index_ram_bytes", | |
| "index_disk_bytes", | |
| ), | |
| "reliability": ( | |
| "timed_out", | |
| "tool_failure_count", | |
| "parser_failure_count", | |
| "malformed_edit_count", | |
| "failure_stage", | |
| ), | |
| } | |