Skip to content

Feature parity: port remaining go-RCP tooling packages (iso21434, certgap, formal, codegen) #23

@SoundMatt

Description

@SoundMatt

Background

Feature-equivalence audit against the reference implementation go-RCP (2026-06-19). cpp-RCP matches 39/44 go-RCP packages (+ adds cli/adapt/relay). safety is covered by command_latency_test.cpp. Four go-RCP packages have no cpp-RCP equivalent:

go-RCP pkg Purpose Public API
iso21434 Cybersecurity engineering (ISO/SAE 21434) ComputeRisk, ThreatScenario, TARA, GoalRegistry
certgap ASIL gap analysis Registry, GapReport, StandardASILDGaps
formal In-library LTL verification helpers Always/Eventually/Until, Checker
codegen Zone-manifest → controller stub + fusa-req skeleton generator ParseManifest, Generate

Decision needed

All four are safety/cyber tooling, not RCP transport features. cpp-RCP currently delegates this role to the external cpp-FuSa (cpfusa) tool (gap reports, TARA, traceability) and to TLA+ specs in tla/. So the question is architectural, not just effort:

  • Option A — port them as C++ library modules for strict go-RCP API parity.
  • Option B — declare them intentionally out of scope for cpp-RCP (tooling lives in cpp-FuSa) and document the divergence.

iso21434 is the most relevant to cpp-RCP's cyber-requirement story and the most self-contained; codegen is the largest. Tracking for a later decision. See companion issue on SoundMatt/go-RCP.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions