Skip to content

feat(planner): compose exact operators with summary plans - #314

Open
zzylol wants to merge 5 commits into
feat/exact-summary-composition-171from
feat/exact-composition-planner
Open

feat(planner): compose exact operators with summary plans#314
zzylol wants to merge 5 commits into
feat/exact-summary-composition-171from
feat/exact-composition-planner

Conversation

@zzylol

@zzylol zzylol commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Stacked on #300. Adds the exact-composition strategy, accuracy propagation, recurring cost hooks, parent/child memo commitments, materialization, and decision/DAG explanations. E2E coverage is intentionally split into the next PR.

zzylol and others added 5 commits August 29, 2026 16:38
…ase boundaries (#171)

Add phase-explicit post-ASAP nodes SummaryExpr::{ExactTransform, ExactPostProcess}
carrying a non-exhaustive ExactOperator::Aggregate payload (never an intact
QueryExpr subtree), plus an ExecutionAvailability {UpdateValue, SummaryState,
ReadoutValue} derivation/validation (post_asap::phase) returning typed
PhaseErrors at construction. construct_summary_agg now validates its edge, so
a maintained summary over a query-time readout falls back conservatively
instead of producing an unexecutable plan.

Add ExactCompositionStrategy (registered in default_strategies) proposing
Replacement::ExactComposition candidates that reference the child target
rather than selecting a child; PlanSpace::global_selection commits the
compatible parent/child pair using the issue's cost-units-per-second
formulas (postprocess/pretransform vs raw-recompute baseline), counts shared
child state once, and GlobalSelection::materialize links the committed
decisions into one validated DAG with shared Rc identity.

Cost hooks: CostModel::mixed_execution_capabilities and
exact_composition_cost_inputs (unknowns stay None, never zero; missing
statistics keep KeepPreAsap). DAG export gains explicit per-node stage,
decision provenance, cost unit and child-decision links (additive).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant