From 115c266205b6cefdf878e3d5bbc036845c4e39e2 Mon Sep 17 00:00:00 2001 From: Matt <47545907+SoundMatt@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:43:25 -0700 Subject: [PATCH] docs: v0.140.0 -- citation backfill batch 20: SCHED (issue #164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cited all 8 uncited REQ-SCHED-* requirements against TC18 §12.9.1.1's multi-ACF-per-frame admission/TSCF-timing rules and §12.9.2's seven-tier priority list already established for SRV. SCHED 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 | 24 ++++++++++++++++-------- .fusa.json | 2 +- CHANGELOG.md | 11 +++++++++++ CMakeLists.txt | 2 +- ROADMAP.md | 26 ++++++++++++++++++++++++++ include/rcp/version.h | 2 +- 6 files changed, 56 insertions(+), 11 deletions(-) diff --git a/.fusa-reqs.json b/.fusa-reqs.json index be7148c..ddf96fc 100644 --- a/.fusa-reqs.json +++ b/.fusa-reqs.json @@ -5654,7 +5654,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199" }, { "id": "REQ-SCHED-002", @@ -5663,7 +5664,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266" }, { "id": "REQ-SCHED-003", @@ -5672,7 +5674,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266; §12.9.2 (\"When two or more requests with the same priority are due then starting the execution shall happen in the order with which the requests arrived in the EP request storage.\"), TC18.txt L3265-3266" }, { "id": "REQ-SCHED-004", @@ -5681,7 +5684,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199; ACF message length is a quadlet count per §11.2.1 Table 4, established ACF basis" }, { "id": "REQ-SCHED-005", @@ -5690,7 +5694,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199" }, { "id": "REQ-SCHED-006", @@ -5699,7 +5704,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199" }, { "id": "REQ-SCHED-007", @@ -5708,7 +5714,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.1.1 (\"As the AVTPDU has either a TSCF or NTSCF header a mixture of requests with and without presentation time in a single frame is not possible. A presentation time from a TSCF header will be applied to all ACFtypes within the frame.\"), TC18.txt L3224-3226" }, { "id": "REQ-SCHED-008", @@ -5717,7 +5724,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.9.1.1 (\"As the AVTPDU has either a TSCF or NTSCF header a mixture of requests with and without presentation time in a single frame is not possible. A presentation time from a TSCF header will be applied to all ACFtypes within the frame.\"), TC18.txt L3224-3226" }, { "id": "REQ-E2E-001", diff --git a/.fusa.json b/.fusa.json index d6179ee..9dfc379 100644 --- a/.fusa.json +++ b/.fusa.json @@ -2,7 +2,7 @@ "configVersion": "1.0", "project": { "name": "c-RCP", - "version": "0.139.0" + "version": "0.140.0" }, "standard": "iso26262", "strict": false, diff --git a/CHANGELOG.md b/CHANGELOG.md index c32dca7..9301ad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,17 @@ the rationale. ## Releases +### v0.140.0 -- 2026-08-07 + +**Citation backfill, batch 20: SCHED.** Issue #164. Cited all 8 +uncited `scheduler.c` requirements -- SCHED is now 100% cited. +Request-kind priority ranking/comparison against §12.9.2's seven-tier +priority list (already cited for SRV, whose own due-selection function +calls this module's `rcp_sched_compare()`); multi-ACF-per-frame +splitting and TSCF timing consistency against §12.9.1.1. See +`ROADMAP.md` milestone 140 for full detail. 1028 requirements +(unchanged), 100% traced+tested, 0 `cfusa check` errors. + ### v0.139.0 -- 2026-08-07 **Citation backfill, batch 19: SRV.** Issue #164. Cited all 15 diff --git a/CMakeLists.txt b/CMakeLists.txt index a720531..6cd52c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(c-rcp - VERSION 0.139.0 + VERSION 0.140.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 9bba118..59a391a 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -6898,3 +6898,29 @@ were genuinely uncited before writing anything. Purely additive; no code or test changed. 1028 requirements (unchanged count), 100% traced+tested, 0 `cfusa check` errors. + +### 140. Citation backfill, batch 20: SCHED (issue #164) (v0.140.0) + +Twentieth batch. `scheduler.c`/`scheduler.h`, 8/8 uncited (100%) going +in -- the first fully-uncited-to-fully-cited batch since ADC-class +work began, discovered directly from SRV's own research: the +scheduler module is the same §12.9.1.1/§12.9.2 machinery SRV already +consumes (`rcp_sched_compare()` is what `rcp_server_endpoint_select_ +due()` calls), just exposed as its own small, independently-testable +unit. + +Cited all 8 of the 8 uncited `REQ-SCHED-*` requirements: request-kind +classification/ranking/comparison (`REQ-SCHED-001`-`003`) against +§12.9.2's exact seven-tier priority list already cited for SRV plus +the same-priority FIFO tiebreak; multi-ACF-per-frame splitting +(`REQ-SCHED-004`-`006`) against §12.9.1.1's "An RCP frame may include +multiple ACF-types (requests). An RC Server shall support to handle +multiple requests in one frame" rule; and TSCF timing consistency +(`REQ-SCHED-007`-`008`) against §12.9.1.1's "A presentation time from +a TSCF header will be applied to all ACFtypes within the frame" rule. + +Used the pre-flight citation-target check -- confirmed all 8 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 c8b060c..1bf3aa2 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.139.0" +#define RCP_VERSION "0.140.0" #endif /* RCP_VERSION_H */