feat(planner): retain evidence-dependent candidates without certifying them - #455
Conversation
milindsrivastava1997
left a comment
There was a problem hiding this comment.
Is it possible to have some before vs after e2e examples to show the difference?
|
Added a before/after table and reproducible PromQL-to-Planner checks in |
Brings per-measure FILTER predicates (#466) plus the five main commits it is based on (#445, #455, #426, #460, #461). Conflicts resolved toward main: `ValueOperationAtIngestionTime`, `query_time_nested_sum`, and the unconditional `finalize_exact_accumulator` from #461 replace dev/dqc's older #379 shape; the #455 wording in the architecture docs stands; the moved `accuracy.rs` is dropped in favor of `accuracy/mod.rs`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Why
Planner #454 needs to show constructible alternatives even when external facts are absent, while keeping unknown accuracy, cost, and runtime support distinct from a proven deployment choice.
Before this PR: a grouped Count with no Hydra shared-grid evidence, or a Count-ranked TopK without interval evidence, lost candidates during construction or root-target filtering. A mixed exact/summary operation could also be selected from a permissive default capability flag. A legacy NaN estimate could appear as an available candidate cost.
After this PR: those logical candidates remain in PlanSpace with symbolic unknown guarantees; direct DDSketch ratios remain visible under the existing #449 behavior. Known-invalid evidence is rejected (including a typed Hydra rejection). Unknown mixed-execution support remains visible but is not automatically selected. Non-finite/negative default costs are unavailable, with a separate explicit legacy qualitative-ranking policy. Backend still owns physical binding and final deployment acceptance.
Changes
Verification
Addresses #454.