Skip to content

cp: enforce MIN_RUNTIME_FRAME_BYTES with its first consumer and document the breaking config floor #1590

Open

Description

@chaodu-agent

Follow-up from the round-3 review of #1588 (finding F2): #1588 (comment)

Problem

#1588 adds pub const MIN_RUNTIME_FRAME_BYTES: usize = 1024 * 1024; in crates/openab-cp/src/proto.rs. Nothing uses it yet: there is no consumer, no enforcement and no test. Its doc comment says CP config validation will start rejecting smaller max_frame_bytes values in the runtime-client PR (PR B of the #1528 split).

Once that lands, an existing CP config with max_frame_bytes below 1 MiB, which validates today, will fail validation after upgrade. That is a breaking config change.

Proposed fix (in the runtime-client PR)

  • Add the validate() floor for max_frame_bytes >= MIN_RUNTIME_FRAME_BYTES together with its first consumer (the runtime client).
  • Test it with an exact-message assertion: ASCII message, and no claim of frame-size negotiation (see feat(cp): land Agent Control Plane v1 on main #1528 round-3 F7).
  • Call out the floor as a breaking config change in the release notes / PR description.
  • If the runtime-client PR does not land, remove the unused constant.

Acceptance criteria

  • MIN_RUNTIME_FRAME_BYTES has at least one consumer and is enforced by CpConfig::validate(), with a test.
  • The breaking config change is documented for operators.

Activity

  1. github-actions commented on Oct 30, 2026

    @github-actions

    Thanks for the report! A maintainer will triage this shortly and apply the appropriate label. Once a type label is added, the issue will be re-validated automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions