feat(control-plane): publish compiled physical plans - #452
Merged
Merged
Conversation
This was referenced Sep 2, 2026
zzylol
added a commit
that referenced
this pull request
Sep 2, 2026
# Conflicts: # control_plane/src/sketch_algebra/cost_model.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The MVP needs compiled physical plans to reach the intended Collector and become active before the backend treats deployment as successful.
What
Publishes target-specific
CollectorPlanmessages over the shared OpAMP capability, installs the matching typedBackendPlan, and requires exact plan/version application status.How
Preflight Collector identity and capability, publish the compiled custom message, install the backend plan, and fail closed on disconnect, timeout, rejection, missing capability, or non-matching acknowledgement.
Before this PR
Physical plans could be compiled but not delivered through the production Collector control channel, and activation was not proven.
After this PR
The control plane reports success only when the targeted Collector acknowledges the exact compiled plan version.
Evidence
Execution example: OpAMP tests cover capability discovery, per-agent publication, exact-version acknowledgement, rejection, timeout, and disconnect. Visual and performance evidence are not applicable.
Verification
cargo test -p control_plane— 715 library and 28 binary tests passed.cargo check -p control_planeandgit diff --check— passed.Architectural decisions
Uses a versioned custom OpAMP message instead of full-YAML configuration so the wire payload is the typed physical-plan contract.
Limitations and follow-up
Stacked on #451. Collector transport counterpart: ProjectASAP/ASAPCollector#563. Lifecycle guarantees are added in #453.
Human review — do not complete with an agent