Repository navigation
feat: v2.18.0 — Certification Refresh (§Phase 16 milestone 62) - #57
Merged
Merged
Conversation
Retires the pre-replacement REQ-ZONE-*/REQ-CMD-*/REQ-STATUS-* requirement groups (20 entries) that milestone 61 explicitly left untouched, and regenerates HARA.md/.fusa-hara.json, TARA-ANALYSIS.md, CYBERSECURITY.md, and AUDIT_PACK.md against the full v2.x stream/endpoint/register-map requirement set, keeping existing OS-*/H-*/SG-*/A-*/T-* IDs stable while replacing every Zone/Command/Controller-era mechanism reference with the real v2.x module it now maps to. Adds a new H-011/SG-011 hazard/safety-goal pair for the E2E CRC mechanism, the roadmap's own stated most safety-relevant new surface. Replaces the three formal-verification TLA+ specs (AntiReplayGuard, HealthStateMachine, WatchdogProtocol), none of which matched any mechanism actually in this tree, with RxSequenceGuard/CrcSafeStateLatch/ WatchdogSafeState modelling rcp/e2e.hpp's and rcp/watchdog.hpp's actual primitives — each verified for real with TLC via a checked-in .cfg file, closing a pre-existing gap where FORMAL_VERIFICATION.md's documented invocation had no config to load. version.hpp/CMakeLists.txt bumped to 2.18.0. fmea.*/safety-case.*/tara.*/ sbom.json/audit-pack.zip/etc. are left for release.yml's existing tag-triggered regeneration rather than hand-edited here. 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
REQ-ZONE-*/REQ-CMD-*/REQ-STATUS-*requirement groups (20 entries) that milestone 61's closeout explicitly left untouched, removing the matching// fusa:req/// fusa:testannotations and Catch2 tags fromrcp/rcp.hpp/tests/test_rcp.cppwhile leaving the C++ types themselves in place (still depended on byrcp/config.hpp, per milestone 60's closeout).HARA.md/.fusa-hara.json,TARA-ANALYSIS.md,CYBERSECURITY.md, andAUDIT_PACK.mdagainst the full v2.x stream/endpoint/register-map requirement set — existingOS-*/H-*/SG-*/A-*/T-*IDs are kept stable (soSAFETY_PLAN.md's references stay valid), but every mechanism reference is repointed from the removed Zone/Command/Controller model to the real v2.x module (e2e::RxSequenceGuard/RxStreamGuard/RxWatchdog,watchdog::Manager,lifecycle::ServerLifecycle,regmap::Ep0,authz::AccessPolicy,discovery::DiscoveryClaim,tls::SecureClient/SecureServer).rcp/e2e.hpp, v2.6.0) — the roadmap's own stated most safety-relevant new surface in this whole effort.AntiReplayGuard.tla,HealthStateMachine.tla,WatchdogProtocol.tla) — none of which modelled any mechanism actually present in this tree — withRxSequenceGuard.tla,CrcSafeStateLatch.tla(new coverage), andWatchdogSafeState.tla, each with a checked-in.cfgand verified for real with TLC 2.19 (Model checking completed. No error has been found.). This also closes a pre-existing gap: the old specs had no.cfgfiles, soFORMAL_VERIFICATION.md's documentedjava -jar tla2tools.jar tla/*.tlainvocation would have failed outright.SAFETY_PLAN.md: two mechanism-table rows citing now-retired ids (REQ-CMD-005,REQ-PQ-001, the latter already stale since milestone 61) are repointed to their real v2.x replacements (REQ-WDG-002,REQ-SEQ-002) — a minimal, targeted fix, not a full rewrite of that file.version.hpp/CMakeLists.txtbumped to 2.18.0.fmea.csv/fmea.json,safety-case.*,tara.json/tara.md,sbom.json,provenance.json, gap reports,sas.*,sci.json,audit-pack.zip,fusa-badge.svg,report.json/report.html,qualify-report.jsonare deliberately not touched —.github/workflows/release.ymlmechanically regenerates all of them fromcpfusaagainst.fusa-reqs.json/.fusa-hara.json/source on the next tag push, same as every prior milestone.README.mdis left unmodified — it already predates milestones 44-61 (still documents deleted packages likercp/firmware.hpp) and bringing it current is a separately-scoped task this milestone's own text doesn't name.Test plan
cmake -B build -DCMAKE_BUILD_TYPE=Release -DRELAY_BUILD_CLI=ON -G Ninja && cmake --build build --parallel— clean build, 0 errorsctest --test-dir build --output-on-failure -j1— 53/53 tests passcpfusa check— 0 errorscpfusa lint— 0 errors (matches CI's own invocation, which runs without a prior CMake build so no FetchContent'dbuild/_deps/catch2-srcis ever present)cpfusa cyber— 0 errorscpfusa trace --req-coverage 100—Total: 417 Annotated: 417 (100.0%) Tested: 417 (100.0%), 0 dangling idscpfusa qualify— 8/8 passedrelay conform --strict build/cpp-rcp— PASS (§12.1/§12.2/§12.3), unaffected since this milestone touches no wire-format or CLI-surface codetla2tools.jar(TLC 2.19):RxSequenceGuard(Monotonic,NoStaleAcceptance),CrcSafeStateLatch(LatchIsSticky,NoLatchWithoutEnforce),WatchdogSafeState(LatchIsSticky) all report no error foundREQ-*/SG-*/OS-*id referenced across the rewritten docs against.fusa-reqs.json/.fusa-hara.json— all valid, no new dangling references