Skip to content

[cpp-RCP-FS-03] legacy_mock/redundancy/faultinject/config are live compiled consumers of the retired model #86

Closed

Description

@SoundMatt

Location: include/rcp/legacy_mock.hpp:99,204; include/rcp/redundancy.hpp:37; include/rcp/faultinject.hpp:49; include/rcp/config.hpp:42,65-70,122; all four are built and tested per tests/CMakeLists.txt.

Finding: Four headers are still live, compiled, and tested consumers of the retired Zone/Controller/Registry model: legacy_mock.hpp defines a Controller/Registry pair implementing the old interfaces; redundancy.hpp defines a RedundantController implementing rcp::Controller; faultinject.hpp defines a fault-injecting Controller returning the old ResponseStatus::Error; and config.hpp defines a ZoneManifestEntry type that maps zone names like "FrontLeft" to Zone::FrontLeft and constructs a legacy_mock::Controller from it. Since all four are part of the test suite, the retired model isn't just present in the tree — it's actively exercised and kept "working" by CI, which makes it harder to remove and reinforces its apparent legitimacy as a supported surface.

Recommendation: Rebind config.hpp onto the TC18 register-map/endpoint model (this is the one with an actual reason to exist — zone-manifest-driven configuration — so it should move first), then delete legacy_mock.hpp outright, and re-express whatever redundancy.hpp/faultinject.hpp need in terms of relay::Caller/AcfMessageInfo instead of the retired Controller interface.

Verification: Independently re-read all four headers and tests/CMakeLists.txt against current HEAD (commit 4b9449a, 2026-07-29). Confirmed each still defines/derives from the retired types as described, and confirmed all four are registered as built test targets.

Filed from the 2026-07-29 ecosystem audit register; independently re-verified against current HEAD before filing.

Activity

  1. SoundMatt commented on Jul 30, 2026

    @SoundMatt
    OwnerAuthor

    Fixed by #93 (merged), which was not auto-linked because the PR description's bold markdown around the issue numbers broke GitHub's closing-keyword parser.

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions