Skip to content

feat: adopt versioned Planner kernels and typed physical selection - #810

Open
zzylol wants to merge 16 commits into
refactor/materialization-deployment-onlyfrom
followup/planner-kernel-codecs
Open

zzylol wants to merge 16 commits into
refactor/materialization-deployment-onlyfrom
followup/planner-kernel-codecs

Conversation

@zzylol

@zzylol zzylol commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #806.

Why

The backend must use Planner-owned computation and preserve sampling metadata through stored-state reads. The integrated Planner now also types series identity before physical selection and compiles the remaining requested PromQL shapes.

What

Remove the UnivMon shim and private codec mirrors; use validated Planner kernel accessors and in-place delta updates. Version sampled and exact payloads, including durable frame tags, and reject retired formats. Type candidates before selection, remove reselection, retain safe whole-query fallback for unbindable candidates, and price native timing using its installed windows.

Pin Planner integration a049a3b6c17cee4c51c79e478799b32280a7d71d. Lock changes preserve every dependency version and sketchlib revision; the new Planner label_replace dependency requires one reference to the already locked regex package.

Before this PR

Sampled edge frames were rejected; stored payloads omitted sampling metadata; duplicate backend code implemented UnivMon and decoded private kernel layouts. Candidate selection needed a typed retry.

After this PR

Sampled frames retain their probability through updates, window readout, persistence, and recovery. Old formats fail explicitly. Logical candidates carry series identity up front and execution stays with Planner kernels and physical programs.

Review dependency

Open PR #791 overlaps the SDS ownership and stored-state decoding changes already carried by #793/#805. It uses an older Planner pin and should be reconciled before either overlapping route is merged. This PR does not merge either route.

Validation

Independent review completed for codec, delta atomicity, upfront typing, native pricing, and stored-frame routing. All required checks passed at the final Planner pin:

  • Formatting and all-target workspace Clippy with warnings denied.
  • Workspace library tests, including 43 stored-state tests and 882 data-plane tests.
  • Complete control-plane test suite, including native placement pricing.
  • All 29 compatibility process tests, including persistence/restart, two-source immutable and revisable maintenance, mixed placement, and successive warm evaluations within the startup limit.

Regressions were established before the fixes. Planner's corresponding full workspace validation also passed.

🤖 Generated with Claude Code

zzylol and others added 14 commits September 30, 2026 14:37
Replace the UnivMon shim and private serde mirrors with Planner kernel accessors. Preserve sampling metadata through storage and direct readouts, reject retired formats, and validate malformed deltas before in-place updates. Repin Planner integration without changing sketchlib revisions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Select once over identity-typed logical roots; remove the compile-error-triggered retry. Preserve canonical frontend roots for exact routing and native candidate enumeration. Cover first-selection arithmetic, first-forest sort deployment, shared fingerprints, and warm shared workloads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve the kernel sampling envelope through window reconstruction and durable recovery instead of decoding it as raw sketchlib bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use the hypothetical installed window layout for retained native candidates, including after upfront series typing exposes additional physical candidates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The label_replace implementation adds an edge to the already locked regex package. Preserve every dependency version and sketchlib revision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol and others added 2 commits September 30, 2026 15:09
Preserve the priced physical realization instead of recompiling it after window preparation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restore two-source derived maintenance after upfront identity typing; preserve all dependency versions.

Co-Authored-By: Claude Opus 5.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