Skip to content

docs(control_plane): target architecture -- planning-time and serving-time - #425

Merged
zzylol merged 1 commit into
mainfrom
docs/control-plane-target-architecture
Jul 29, 2026
Merged

zzylol merged 1 commit into
mainfrom
docs/control-plane-target-architecture

Conversation

@zzylol

@zzylol zzylol commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Written independent of what's currently implemented in control_plane/data_plane, grounded entirely in ASAPController's own current interfaces — specifically the ## Interface sections added to docs/l1-query-language.md through l5-physical-plan.md in ASAPController#169 (every signature there verified against ASAPController main at cc18c98, 2026-07-28).

Core claim: control_plane should be a thin planning-time shell around asap-ir/asap-l2/asap-plan/asap-sketch, contributing exactly two things ASAPController doesn't ship — an L5 physical planner (ASAPController has no asap-physical crate; L5 is explicitly speculative there, real here) and deployment-specific L4 extension points (CostModel, Matcher). data_plane should be a thin serving-time shell implementing SummaryExecutor once.

The gap table (§4) finds L2-L4 substantially already at this target (thin re-export shims, ControlPlaneCostModel, SummaryFamilyMatcher) — the two genuinely open items are L1 (adopt asap-frontend-promql, retiring query_parser/ outright) and the serving-time cutover (SummaryExecutor is fully implemented but not yet the live path). L5 should NOT shrink — it's this deployment's own permanent contribution, not legacy debt, precisely because no asap-physical crate exists upstream.

§5 reconciles this with data_plane/docs/l4node-plan-executor-design.md (#409)'s open questions — PR #169's Reduction::{Reduce(GroupKeys), PerEntity} type looks like it resolves the grouping-ambiguity question that doc flagged as blocking, via a real upstream IR signal rather than a per-deployment heuristic.

Supersedes #409 with a version grounded in ASAPController's now-merged official interface docs rather than proposing/guessing at them.

Test plan

N/A — docs only, no code changes.

🤖 Generated with Claude Code

…-time

Written independent of what's currently implemented, grounded entirely
in ASAPController's own current interfaces -- specifically the
`## Interface` sections added to docs/l1-query-language.md through
l5-physical-plan.md in ASAPController#169 (every signature there
verified against ASAPController main at cc18c98, 2026-07-28).

Core claim: control_plane should be a thin planning-time shell around
asap-ir/asap-l2/asap-plan/asap-sketch, contributing exactly two things
ASAPController doesn't ship -- an L5 physical planner (ASAPController
has no asap-physical crate; L5 is explicitly speculative there, real
here) and deployment-specific L4 extension points (CostModel, Matcher).
data_plane should be a thin serving-time shell implementing
SummaryExecutor once.

The gap table (S4) finds L2-L4 substantially already at this target
(thin re-export shims, ControlPlaneCostModel, SummaryFamilyMatcher) --
the two genuinely open items are L1 (adopt asap-frontend-promql,
retiring query_parser/ outright) and the serving-time cutover
(SummaryExecutor is fully implemented but not yet the live path).
L5 should NOT shrink -- it's this deployment's own permanent
contribution, not legacy debt, precisely because no asap-physical
crate exists upstream.

S5 reconciles this with data_plane/docs/l4node-plan-executor-design.md
(PR #409)'s open questions -- PR #169's Reduction::{Reduce(GroupKeys),
PerEntity} type looks like it resolves the grouping-ambiguity question
that doc flagged as blocking, via a real upstream IR signal rather than
a per-deployment heuristic.

Supersedes #409 with a version grounded in ASAPController's now-merged
official interface docs rather than proposing/guessing at them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@zzylol
zzylol merged commit ee25e89 into main Jul 29, 2026
@zzylol
zzylol deleted the docs/control-plane-target-architecture branch July 29, 2026 02:58
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