Skip to content

Reference the shared SummaryCatalog from execution plans - #537

Merged
zzylol merged 3 commits into
mainfrom
feat/precompute-summary-catalog
Sep 9, 2026
Merged

zzylol merged 3 commits into
mainfrom
feat/precompute-summary-catalog

Conversation

@zzylol

@zzylol zzylol commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Execution plans previously copied materialization semantics or relied on BackendPlan for cross-validation. This change makes CollectorPlan, PrecomputePlan, and TransmissionPlan reference the same authoritative SummaryCatalog snapshot by schema/version/plan identity and SHA-256 digest. Descriptor tables remain stored once in the enclosing PhysicalPlan.

PrecomputePlan now carries typed per-materialization execution contracts for update mode, placement, state schema, activation/expiry, and retained windows. validate_against_catalog verifies the snapshot reference and reconstructs expected operator, source, grouping, physical pane, encoding, placement, and lifecycle from the configured materialization. It preserves the distinction between physical pane width and query readout lookback. Collector and transmission validation reject unknown materializations, wrong plan generations, and different catalog snapshots.

This also fixes an existing compiler drift where a compatibility projection clamped a 300-second pane to 60 seconds while the state schema still advertised 300 seconds. The schema now describes the executable pane. Legacy serialized plans may omit catalog references during migration, but strict catalog-aware validation rejects them. BackendPlan remains temporarily installed until the runtime protocol migration is complete.

Validation:

  • Focused PrecomputePlan catalog regression passes.
  • Contributing branches passed 701 and 702 control-plane tests respectively.
  • Shared SDS tests pass.

Stacked on #536.

@zzylol zzylol changed the title Reference SummaryCatalog from precompute and producer plans Reference the shared SummaryCatalog from execution plans Sep 9, 2026
@zzylol
zzylol changed the base branch from feat/shared-summary-catalog to main September 9, 2026 23:03
@zzylol
zzylol force-pushed the feat/precompute-summary-catalog branch from 9b92c18 to a374c0d Compare September 9, 2026 23:04
@zzylol
zzylol merged commit 0d64948 into main Sep 9, 2026
1 check passed
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