From 86d452aa4e9e07ade5eef854b036ec59a169563b Mon Sep 17 00:00:00 2001 From: Matt <47545907+SoundMatt@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:59:04 -0700 Subject: [PATCH] docs: v0.144.0 -- citation backfill batch 24: SEQ (issue #164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cited all 10 uncited REQ-SEQ-* requirements against TC18 §12.10 (Sequencers) and §12.7.10 (Sequencer state registers, Table 25 SEQUENCER_config). SEQ is now 100% cited. Purely additive; no code or test behavior changed. 1028 requirements (unchanged count), 100% traced+tested, 0 cfusa check errors. Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com> --- .fusa-reqs.json | 30 ++++++++++++++++++++---------- .fusa.json | 2 +- CHANGELOG.md | 11 +++++++++++ CMakeLists.txt | 2 +- ROADMAP.md | 31 +++++++++++++++++++++++++++++++ include/rcp/version.h | 2 +- 6 files changed, 65 insertions(+), 13 deletions(-) diff --git a/.fusa-reqs.json b/.fusa-reqs.json index b76bc01..94a573e 100644 --- a/.fusa-reqs.json +++ b/.fusa-reqs.json @@ -4925,7 +4925,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"After power-on/reset all sequencers are in state 1.\"), TC18.txt L3468; §12.7.10 (\"Upon power-on reset all sequencer state values are set to '1'.\"), TC18.txt L3068-3069" }, { "id": "REQ-SEQ-003", @@ -4934,7 +4935,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"After power-on/reset all sequencers are in state 1.\"), TC18.txt L3468; §12.7.10 (\"Upon power-on reset all sequencer state values are set to '1'.\"), TC18.txt L3068-3069" }, { "id": "REQ-SEQ-004", @@ -4943,7 +4945,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"An RC Server implementation may support only a lower number of sequencers.\"), TC18.txt L3473-3474; the implementation of one or more sequencers into an RC Server is optional, TC18.txt L3072-3073" }, { "id": "REQ-SEQ-005", @@ -4952,7 +4955,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"After power-on/reset all sequencers are in state 1.\"), TC18.txt L3468; §12.7.10 (\"Upon power-on reset all sequencer state values are set to '1'.\"), TC18.txt L3068-3069" }, { "id": "REQ-SEQ-006", @@ -4961,7 +4965,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"Sequencers are simply a state register which stores the current state of the sequencer.\"), TC18.txt L3466; readable/writable via §12.7.10's SEQUENCER_config register map, TC18.txt L3075-3092" }, { "id": "REQ-SEQ-007", @@ -4970,7 +4975,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"The number of sequencers and states per sequencer are limited to 256 by this definition.\"), TC18.txt L3472-3473" }, { "id": "REQ-SEQ-008", @@ -4979,7 +4985,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"Sequencers are simply a state register which stores the current state of the sequencer.\"), TC18.txt L3466; readable/writable via §12.7.10's SEQUENCER_config register map, TC18.txt L3075-3092" }, { "id": "REQ-SEQ-009", @@ -4988,7 +4995,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"The number of sequencers and states per sequencer are limited to 256 by this definition.\"), TC18.txt L3472-3473" }, { "id": "REQ-SEQ-010", @@ -4997,7 +5005,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"Sequencers are simply a state register which stores the current state of the sequencer.\"), TC18.txt L3466; readable/writable via §12.7.10's SEQUENCER_config register map, TC18.txt L3075-3092; §12.7.10 Table 25 (\"Seq_state ... if manually set to 0 then disabled\"), TC18.txt L3082, L3090" }, { "id": "REQ-SEQ-011", @@ -5006,7 +5015,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.10 (\"The number of sequencers and states per sequencer are limited to 256 by this definition.\"), TC18.txt L3472-3473" }, { "id": "REQ-CMP-001", diff --git a/.fusa.json b/.fusa.json index c558009..6ac85b2 100644 --- a/.fusa.json +++ b/.fusa.json @@ -2,7 +2,7 @@ "configVersion": "1.0", "project": { "name": "c-RCP", - "version": "0.143.0" + "version": "0.144.0" }, "standard": "iso26262", "strict": false, diff --git a/CHANGELOG.md b/CHANGELOG.md index 88b9896..81126d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,17 @@ the rationale. ## Releases +### v0.144.0 -- 2026-08-07 + +**Citation backfill, batch 24: SEQ.** Issue #164. Cited all 10 +remaining uncited sequencer-primitive requirements against TC18 +§12.10 (Sequencers) and §12.7.10 (Sequencer state registers, Table +25's SEQUENCER_config register map) -- SEQ is now 100% cited. This is +the shared state-table primitive CMP/SRV both consume, previously +cited only indirectly through those callers. See `ROADMAP.md` +milestone 144 for full detail. 1028 requirements (unchanged), 100% +traced+tested, 0 `cfusa check` errors. + ### v0.143.0 -- 2026-08-07 **Citation backfill, batch 23: CANCEL.** Issue #164. Cited 7 of 8 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d3d687..4190365 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(c-rcp - VERSION 0.143.0 + VERSION 0.144.0 DESCRIPTION "OPEN Alliance TC18 Remote Control Protocol (C)" HOMEPAGE_URL "https://github.com/SoundMatt/c-RCP" LANGUAGES C diff --git a/ROADMAP.md b/ROADMAP.md index 7d4b2b3..a33c7c7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -7025,3 +7025,34 @@ were genuinely uncited before writing anything. Purely additive; no code or test changed. 1028 requirements (unchanged count), 100% traced+tested, 0 `cfusa check` errors. + +### 144. Citation backfill, batch 24: SEQ (issue #164) (v0.144.0) + +Twenty-fourth batch. `request_sequencer.c`/`request_sequencer.h`, +10/14 uncited going in -- the shared sequencer-state-table primitive +CMP and SRV both consume (`rcp_sequencer_get_state()`/`_set_state()`/ +`_index_valid()`), previously cited only indirectly through those +callers' own citations. TC18 dedicates two sections to sequencers in +their own right, not just as compound-request sub-fields: §12.10 +(Sequencers, the concept itself) and §12.7.10 (Sequencer state +registers, Table 25's SEQUENCER_config register map). + +Cited all 10 of the 10 uncited `REQ-SEQ-*` requirements -- SEQ is now +100% cited: table allocation and power-on-state initialization +(`REQ-SEQ-002`-`003`, `005`) against "After power-on/reset all +sequencers are in state 1" (§12.10) and "Upon power-on reset all +sequencer state values are set to '1'" (§12.7.10); the +implementation-may-support-fewer-sequencers rule +(`REQ-SEQ-004`) against §12.10's own optionality text; table teardown +and the state-register read/write pair (`REQ-SEQ-006`, `008`, `010`) +against §12.10's "Sequencers are simply a state register" framing and +Table 25's manual-access register description, `010` also citing +Table 25's "if manually set to 0 then disabled" rule; and the +256-sequencer/state bound (`REQ-SEQ-007`, `009`, `011`) against §12.10's +own "limited to 256 by this definition" line. + +Used the pre-flight citation-target check -- confirmed all 10 targets +were genuinely uncited before writing anything. + +Purely additive; no code or test changed. 1028 requirements (unchanged +count), 100% traced+tested, 0 `cfusa check` errors. diff --git a/include/rcp/version.h b/include/rcp/version.h index a8559d1..24b964d 100644 --- a/include/rcp/version.h +++ b/include/rcp/version.h @@ -6,6 +6,6 @@ #ifndef RCP_VERSION_H #define RCP_VERSION_H -#define RCP_VERSION "0.143.0" +#define RCP_VERSION "0.144.0" #endif /* RCP_VERSION_H */