Skip to content

feat(transport): add TransmissionPlan and summary frame identity - #476

Merged
zzylol merged 3 commits into
mainfrom
feat/transmission-plan-frame-identity
Sep 4, 2026
Merged

zzylol merged 3 commits into
mainfrom
feat/transmission-plan-frame-identity

Conversation

@zzylol

@zzylol zzylol commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #475.

Establishes the physical transport contract:

  • adds TransmissionPlan to the atomic PhysicalPlan bundle and active immutable snapshot
  • emits one exact producer/materialization/schema rule with mode, encoding, cadence, checkpoint policy, and destination
  • embeds each Collector transmission subset in its CollectorPlan
  • defines versioned SummaryFrameIdentity with plan/version, materialization, schema, producer epoch, canonical series fingerprint, window, sequence, encoding, and checkpoint lineage
  • carries frame identity in reserved asap.frame.* data-point attributes without leaking them into PromQL labels
  • validates the complete OTLP summary-frame batch before SID registration, store mutation, snapshot mutation, or worker routing
  • validates active plan/version, registered producer, schema, wire encoding, materialization, series identity, and the complete full-state payload
  • returns HTTP 422 / non-OK gRPC for a rejected batch; HTTP 2xx / gRPC OK is the delivery ACK
  • keeps full-frame retries idempotent through the same SID/labels/window replacement; no second application ACK or transport WAL protocol
  • selects msgpack for heap-bearing frequency states so heap contents are not lost

Validation:

  • cargo check -p control_plane -p data_plane
  • cargo test -p control_plane physical::compiler::tests --lib --quiet (10 passed)
  • cargo test -p data_plane summary_frame_identity_is_parsed_and_removed_from_series_labels --lib --quiet (1 passed)
  • git diff --check

This PR is intentionally open and must follow #475.

@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from e14ed19 to f86e858 Compare September 3, 2026 04:57
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from cacf70a to e095862 Compare September 3, 2026 04:57
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from f86e858 to 1db430e Compare September 3, 2026 14:26
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from e095862 to dafdd92 Compare September 3, 2026 14:27
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from 1db430e to ae4dd7f Compare September 3, 2026 19:58
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from dafdd92 to 9613c54 Compare September 3, 2026 20:08
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from ae4dd7f to 48ad0fe Compare September 3, 2026 20:36
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from 9613c54 to 0018db5 Compare September 3, 2026 20:36
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from 48ad0fe to 12cd258 Compare September 3, 2026 20:41
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from 0018db5 to da0ada4 Compare September 3, 2026 20:41
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from 12cd258 to 0cdbf55 Compare September 4, 2026 02:56
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from da0ada4 to e79d0dd Compare September 4, 2026 02:57
@zzylol
zzylol force-pushed the feat/precompute-runtime-contract branch from 0cdbf55 to 11306d0 Compare September 4, 2026 03:25
@zzylol
zzylol force-pushed the feat/transmission-plan-frame-identity branch from e79d0dd to 56e8a87 Compare September 4, 2026 03:25
@zzylol
zzylol changed the base branch from feat/precompute-runtime-contract to main September 4, 2026 03:42
@zzylol
zzylol merged commit b581e54 into main Sep 4, 2026
1 check passed
@zzylol
zzylol deleted the feat/transmission-plan-frame-identity branch September 12, 2026 14:48
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