Repository navigation
feat(collector): activate compiled plans through OpAMP channel - #562
Merged
Merged
Conversation
This was referenced Sep 1, 2026
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
Validated plans need an atomic in-process activation channel with exact acknowledgement semantics before the production OpAMP bridge can safely expose them.
What
Adds the Go physical-plan decoder, queues validated plans through
OpAmpChannel, delivers each version once, and reports APPLIED only for the matching runtime acknowledgement.How
Validate the entire target-specific plan before replacing pending state; reject malformed, stale, duplicate, wrong-target, unsupported, or uncertified TopK plans; share language-neutral aggregation IDs with Rust.
Before this PR
There was no strict Go activation boundary, and partial or mismatched configuration could not be tied to an exact runtime acknowledgement.
After this PR
Only a fully validated plan becomes pending, and control-plane status identifies the exact version the runtime applied.
Evidence
Execution example: channel tests cover delivery-once, exact Ack, rejection, and preservation of the last valid pending plan. Visual and performance evidence are not applicable.
Verification
go test ./controlchannel— passed.git diff --check— passed.go test ./...: blocked by pre-existing split sketchlib feature APIs; see limitations.Architectural decisions
Whole-plan validation is atomic and fail-closed; the Collector does not parse PromQL or re-plan.
Limitations and follow-up
Stacked on #561. The production contrib transport bridge is #563. Full Go verification needs the referenced sketchlib feature branches combined upstream.
Human review — do not complete with an agent