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.
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).safetyis covered bycommand_latency_test.cpp. Four go-RCP packages have no cpp-RCP equivalent:iso21434ComputeRisk,ThreatScenario,TARA,GoalRegistrycertgapRegistry,GapReport,StandardASILDGapsformalAlways/Eventually/Until,CheckercodegenParseManifest,GenerateDecision 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 intla/. So the question is architectural, not just effort:iso21434is the most relevant to cpp-RCP's cyber-requirement story and the most self-contained;codegenis the largest. Tracking for a later decision. See companion issue on SoundMatt/go-RCP.