Repository navigation
feat: v2.17.0 — Deprecation Sweep (§Phase 16 milestone 61) - #56
Merged
Merged
Conversation
Removes the seven satellite packages the Satellite Package Disposition table already calls DEPRECATE with no TC18 analog: canbr.hpp, linbr.hpp (CAN/LIN are native RC Server endpoint types as of v2.7.0, not bridge targets — the bridge direction these two assumed is inverted by the real protocol), federation.hpp (multi-HPC lease-based zone forwarding has no analog; the spec's real multi-client arbitration is the root-client/ discovery-stream-claim mechanism, a different architecture), proxy.hpp (TC18 has no proxy-node concept — a client addresses a server directly), zonegroup.hpp (the spec's real way to batch targets is packing several ACF messages with different byte_bus_ids into one AVTPDU, not fan-out to N zones), prioqueue.hpp (its Priority enum is removed; the spec's real priority concept is a fixed server-side execution-priority ordering across request kinds), and firmware.hpp (OTA has no analog and is left an application-layer concern). Each header's own dedicated test file is deleted alongside it, and tests/CMakeLists.txt is updated to match: canbr/ linbr are pulled out of the shared bridge-stub foreach loop (the seven ADAPTed bridges sharing that loop are untouched), and the five standalone CMake blocks for federation/proxy/zonegroup/prioqueue/firmware are removed. tests/test_config.cpp borrowed proxy.hpp purely as a generic empty rcp::Registry test double (legacy_mock::Registry always pre-populates all 5 zones) — no ProxyController-specific behavior was ever under test. It now defines its own minimal EmptyRegistry double locally instead, so the config::load coverage (and its REQ-CFG-* traceability) survives without reaching back into a deleted package; rcp/config.hpp itself, and its own still-open rebind onto the new manifest schema, are untouched. .fusa-reqs.json is pruned of the 44 requirement entries backing the deleted packages (REQ-CAN-001..004 and REQ-LIN-001..004 — canbr.hpp's and linbr.hpp's own req prefixes, distinct from the native endpoints' REQ- CANEP-*/REQ-LINEP-* — plus REQ-PROXY-*, REQ-FED-*, REQ-ZG-*, REQ-PQ-*, and REQ-FW-*), since cpfusa trace --req-coverage 100 treats any requirement id with no matching fusa:req/fusa:test source annotation as an uncovered gap. This is a narrow prune of exactly what this milestone's own deletions orphaned, not the fuller regeneration milestone #62 (Certification Refresh) still owns against the complete v2.x requirement set. version.hpp and CMakeLists.txt PROJECT VERSION move to 2.17.0. Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
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.
Summary
Implements ROADMAP.md milestone 61, "Deprecation Sweep (v2.17.0)" — the first milestone of Phase 16 ("Deprecation & Certification Refresh"), following the Satellite Package Disposition table's already-recorded DEPRECATE call for seven packages with no OPEN Alliance TC18 Remote Control Protocol analog:
canbr.hpp/linbr.hpp— CAN/LIN are native RC Server endpoint types (v2.7.0), not bridge targets; the bridge direction these assumed is inverted by the real protocolfederation.hpp— multi-HPC lease-based zone-ownership forwarding has no analog; the spec's real multi-client arbitration (root-client/discovery-stream-claim) is architecturally differentproxy.hpp— TC18 has no proxy-node conceptzonegroup.hpp— the spec's real way to batch targets is packing several ACF messages into one AVTPDU, a different mechanism from fan-out-to-N-zonesprioqueue.hpp— itsPriorityenum is removed; the spec's real priority concept is a fixed server-side execution-priority orderingfirmware.hpp— OTA has no analog and is left an application-layer concernChanges
tests/CMakeLists.txt: pulledcanbr/linbrout of the shared bridge-stubforeachloop (the seven ADAPTed bridges sharing that loop are untouched); removed the five standalone CMake blocks forfederation/proxy/zonegroup/prioqueue/firmwaretests/test_config.cpp: replaced its incidentalproxy::ProxyRegistrydependency (used purely as a generic emptyrcp::Registrytest double, no proxy-specific behavior under test) with a small localEmptyRegistrydouble, soconfig::loadcoverage andREQ-CFG-*traceability survive without reaching back into a deleted package.rcp/config.hppitself remains untouched — its own rebind onto the new manifest schema stays a separate, open item..fusa-reqs.json: pruned the 44 requirement entries backing the deleted packages (REQ-CAN-001..004,REQ-LIN-001..004— canbr/linbr's own req prefixes, distinct from the native endpoints'REQ-CANEP-*/REQ-LINEP-*— plusREQ-PROXY-*,REQ-FED-*,REQ-ZG-*,REQ-PQ-*,REQ-FW-*). Necessary becausecpfusa trace --req-coverage 100(the same gate CI'scpfusa-tracejob enforces) treats a requirement id with no matching source annotation as an uncovered gap. This is a narrow prune of exactly what this milestone orphaned — not the fuller regeneration milestone README's TC18 wire-codec table entries omit the wire-conformance-not-claimed caveat (and byte_bus_id width vs TC18 needs verifying) #62 (Certification Refresh) still owns.version.hpp/CMakeLists.txtPROJECT VERSION bumped to 2.17.0ROADMAP.md: added the milestone's**Done (v2.17.0):**close-out paragraphTest plan
All verified locally against a full clean build before pushing:
cmake --build(Release, C++17) — clean build, no leftover references to the removed headersctest— 53/53 tests pass (down from 60; the seven removed suites)cpfusa check/lint/cyber— 0 errors (only pre-existing warnings)cpfusa trace --req-coverage 100— passes (100%, confirmed the prune above was required: without it, coverage drops to 90.9%)conform --strictagainst the builtcpp-rcpCLI — passes unchanged (this milestone touches no wire-format or CLI-surface code)#includereferences to all seven removed headers — zero remaining outside their own header/test pair