Skip to content

chore: declare split APIs (network-access-devices, network-access-domains) in release-plan as draft (#152)#154

Open
clundie-CL wants to merge 3 commits into
camaraproject:mainfrom
cablelabs:152-release-plan-split-apis
Open

chore: declare split APIs (network-access-devices, network-access-domains) in release-plan as draft (#152)#154
clundie-CL wants to merge 3 commits into
camaraproject:mainfrom
cablelabs:152-release-plan-split-apis

Conversation

@clundie-CL

@clundie-CL clundie-CL commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

  • subproject management

What this PR does / why we need it:

First step of the sequenced API split (see #153), per @hdamker's "draft status" guidance for the release-plan hen-egg. It declares the split API names in release-plan.yaml so the restructure PR can add the matching spec files without tripping validation.

Two adjustments are needed to keep this PR's validation clean (0 errors):

  1. All entries are target_api_status: draft — draft allows the spec YAML to not exist yet (no P-002 error). This includes keeping network-access-management as a transitional draft entry: with its network-access-management.yaml still present, dropping it from the plan would make the file an orphan and trip P-009's "naming mismatch" (which the released tooling treats as blocking). Declaring it keeps the plan and the on-disk file consistent.
  2. target_release_type: none (parked) — P-009 rejects draft APIs while the repo targets pre-release-rc. Parking the plan is the supported state while the restructure is in flight.

Sequence:

  1. (this PR) declare all three APIs as draft, park the release type.
  2. feat: split API into Network Access Devices + Trust Domains (#152) #153 adds network-access-devices.yaml + network-access-domains.yaml and deletes network-access-management.yaml, with no release-plan.yaml change (so it isn't blocked by P-022).
  3. rc-bump PR drops the network-access-management entry, sets network-access-devices + network-access-domains to rc, and restores target_release_type: pre-release-rc for the r3.1 cut.

Relates to #152; unblocks #153.

Does this PR introduce a breaking change?

  • Yes
  • No

(Release-plan declaration only — no API surface change here. The split itself, in #153, is the breaking change.)

Special notes for reviewers:

Changelog input

 release-note

Per release-management guidance for the API split (the hen-egg between
release-plan api_names and the spec files): declare the two target APIs —
network-access-devices and network-access-domains — at
target_api_status: draft. Draft allows the spec files to land separately in
the restructure PR (camaraproject#153) without a P-002 "declared API has no file" error;
status is bumped to rc once the files are in place.

This is a dedicated release-plan-only change so it satisfies P-022
(release-plan edits must not be mixed with other files).

Co-Authored-By: claude-flow <ruv@ruv.net>
clundie-CL and others added 2 commits June 19, 2026 08:29
P-009 (_check_release_type_consistency) rejects draft APIs while
target_release_type is pre-release-rc ("APIs are not rc/public"). The split
declares the two APIs as draft (so their files can land in camaraproject#153 without a
P-002 error), so the plan must be parked at target_release_type: none for
this phase. The rc-bump PR restores target_release_type: pre-release-rc when
it sets both APIs to rc.

Co-Authored-By: claude-flow <ruv@ruv.net>
P-009 flags a "naming mismatch" (blocking in the released tooling) when a
declared draft API has no file AND an unmatched file is present — here the
still-present network-access-management.yaml. Declaring network-access-management
itself as draft removes the orphan, so the heuristic stays quiet. The
restructure PR (camaraproject#153) deletes network-access-management.yaml (leaving a fileless
draft with no orphans — still clean), and the rc-bump PR drops this entry and
sets the two real APIs to rc.

Co-Authored-By: claude-flow <ruv@ruv.net>
@hdamker

hdamker commented Jun 19, 2026

Copy link
Copy Markdown
Contributor
  • target_api_version carried over as 0.3.0 to stay aligned with the repo's r3.1 target — flagging for release-management confirmation in case fresh 0.1.0 numbering is preferred for the new api_names.

@clundie-CL using 0.3.0 is definitely right if the functionality of the new APIs was already (partially) contained in the 0.2.0 NAM API version. If it is completely new functionality (never released before as part of NAM) you can consider also to use 0.1.0 to indicate that it is the first initial version of the new API.

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.

2 participants