You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Coverage lost with the legacy candidate_selection tests (follow-up of #580) #623
Follow-up of #580. The legacy selection (asap_plan_selection::candidate_selection: global_selection, cost_sorted, recurrence_profiles) and its legacy-only test files are being deleted (Q52, approved 2026-10-04). Some behaviours were covered only by those tests, and the #509 stage pipeline (plan_stages) doesn't cover them yet. Listing them here so the coverage can be rebuilt on the stage pipeline, or explicitly dropped.
Accuracy propagation and exact composition
Max / avg over a quantile composes at query time, with accuracy propagated through the outer fold (integration-tests/tests/exact_composition.rs: max_and_avg_over_quantile_compose_at_query_time_with_statistics, avg_over_quantile_keeps_the_sum_over_count_rewrite_as_a_competitor, promql_max_by_zone_over_quantile_over_time_composes, identity_and_genuine_multi_row_folds_both_compose, a_shared_inner_summary_is_materialized_once_for_several_outer_folds, outer_summary_over_an_exact_function_composes_at_ingestion_time, every_exact_accumulator_is_finalized_before_an_outer_sketch, root_target_rejects_unproven_composition, custom_accuracy_rule_survives_root_target_and_materialization).
DDSketch quantile ratio: the shared relative-error target, domain proofs, signed evaluations, population size (promql_to_post_asap.rs: ddsketch_quantile_ratio_meets_the_shared_relative_error_target, ddsketch_ratio_without_domain_proof_is_uncertified, ddsketch_ratio_rejects_unsafe_domains, ddsketch_ratio_rejects_one_invalid_domain_when_the_other_is_missing, ddsketch_ratio_bound_holds_for_signed_pinned_sketch_evaluations, ddsketch_ratio_requires_a_supported_population_size).
Approximate children are never relabelled exact through binary arithmetic (promql_binary_arithmetic_never_relabels_approximate_children_as_exact).
CSE share-vs-recompute by recurrence and consumer count
cost/recurrence.rs: plan_selection_uses_recurrence_profiles_for_cse_choices and the recurrence_profiles_* tests (mixed intervals across roots sharing a sub-DAG, invalid rates, unreachable sites, repeated-reference multiplicity).
mixed_candidate_ranking_uses_explicit_candidate_costs, cost_sorted_pairs_each_candidate_with_its_own_estimate_cost, complete_plan_costs_reject_unbound_cse_arms, exact_composition.rs: missing_cost_statistics_preserve_the_conservative_retain_exact, unknown_runtime_capability_keeps_candidate_but_prevents_selection. See also Stage 3: evidence-driven cost (storage I/O, hand-off bytes) #615 (storage I/O and hand-off evidence).
Missing accuracy evidence is never selected
selection_never_chooses_a_candidate_missing_accuracy_evidence, grouping_cost_cannot_resurrect_unprovable_hydra_candidates, explicit_summary_infeasibility_prevents_selection, nothing_is_selected_when_the_root_target_rejects_every_summary. The frontend-promql tests for Hydra counts and uncalibrated UnivMon estimates were ported to plan_stages, so this is partly covered for those families.
integration-tests/tests/sql_to_post_asap.rs and promql_to_post_asap.rs pinned the post-ASAP shape that ASAPStrategies + global_selection produced for many SQL and PromQL queries (temporal reuse, joins, filters, top-k, binary arithmetic, exact workloads). Equivalent shape pins on Stage 1 candidates or the selected plan don't exist yet for most of them.
Follow-up of #580. The legacy selection (
asap_plan_selection::candidate_selection:global_selection,cost_sorted,recurrence_profiles) and its legacy-only test files are being deleted (Q52, approved 2026-10-04). Some behaviours were covered only by those tests, and the #509 stage pipeline (plan_stages) doesn't cover them yet. Listing them here so the coverage can be rebuilt on the stage pipeline, or explicitly dropped.Accuracy propagation and exact composition
integration-tests/tests/exact_composition.rs:max_and_avg_over_quantile_compose_at_query_time_with_statistics,avg_over_quantile_keeps_the_sum_over_count_rewrite_as_a_competitor,promql_max_by_zone_over_quantile_over_time_composes,identity_and_genuine_multi_row_folds_both_compose,a_shared_inner_summary_is_materialized_once_for_several_outer_folds,outer_summary_over_an_exact_function_composes_at_ingestion_time,every_exact_accumulator_is_finalized_before_an_outer_sketch,root_target_rejects_unproven_composition,custom_accuracy_rule_survives_root_target_and_materialization).promql_to_post_asap.rs:ddsketch_quantile_ratio_meets_the_shared_relative_error_target,ddsketch_ratio_without_domain_proof_is_uncertified,ddsketch_ratio_rejects_unsafe_domains,ddsketch_ratio_rejects_one_invalid_domain_when_the_other_is_missing,ddsketch_ratio_bound_holds_for_signed_pinned_sketch_evaluations,ddsketch_ratio_requires_a_supported_population_size).promql_binary_arithmetic_never_relabels_approximate_children_as_exact).CSE share-vs-recompute by recurrence and consumer count
cost/recurrence.rs:plan_selection_uses_recurrence_profiles_for_cse_choicesand therecurrence_profiles_*tests (mixed intervals across roots sharing a sub-DAG, invalid rates, unreachable sites, repeated-reference multiplicity).candidate_selection.rs:cost_sorted_orders_shared_sub_dag_candidates_by_cse_share_decision,effective_consumer_count_corrects_a_nested_groups_share_decision,effective_repetition_materializes_a_cse_choice_for_a_single_edge_child,shared_ancestor_keeps_a_single_use_cse_descendant_selected,estimate_cost_does_not_scale_with_the_readers_own_consumer_count.Rollup vs CSE
global_selection_compares_a_logical_rewrite_with_the_cse_choice,mixed_rewrite_group_keeps_and_selects_its_explicit_cse_pair,global_selection_propagates_uses_through_the_selected_rewrite,costed_logical_candidate_beats_uncosted_legacy_cse_choice.Evidence-ranked physical cost
mixed_candidate_ranking_uses_explicit_candidate_costs,cost_sorted_pairs_each_candidate_with_its_own_estimate_cost,complete_plan_costs_reject_unbound_cse_arms,exact_composition.rs:missing_cost_statistics_preserve_the_conservative_retain_exact,unknown_runtime_capability_keeps_candidate_but_prevents_selection. See also Stage 3: evidence-driven cost (storage I/O, hand-off bytes) #615 (storage I/O and hand-off evidence).Missing accuracy evidence is never selected
selection_never_chooses_a_candidate_missing_accuracy_evidence,grouping_cost_cannot_resurrect_unprovable_hydra_candidates,explicit_summary_infeasibility_prevents_selection,nothing_is_selected_when_the_root_target_rejects_every_summary. The frontend-promql tests for Hydra counts and uncalibrated UnivMon estimates were ported toplan_stages, so this is partly covered for those families.Reconciled tighter-target propagation
global_selection_propagates_reconciled_consumers_to_the_tighter_group,cost_sorted_and_global_selection_handle_a_shared_looser_target,cost_sorted_and_global_selection_handle_a_single_consumer_looser_target.Also legacy-only
integration-tests/tests/sql_to_post_asap.rsandpromql_to_post_asap.rspinned the post-ASAP shape thatASAPStrategies+global_selectionproduced for many SQL and PromQL queries (temporal reuse, joins, filters, top-k, binary arithmetic, exact workloads). Equivalent shape pins on Stage 1 candidates or the selected plan don't exist yet for most of them.