From 973cf4430f453df31f48cdb394528e2218c25848 Mon Sep 17 00:00:00 2001 From: Matt <47545907+SoundMatt@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:34:31 -0700 Subject: [PATCH] docs: v0.138.0 -- citation backfill batch 18: WAKEUP (issue #164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cited 13/16 remaining uncited REQ-WAKEUP-* requirements against TC18 §13.7.2's basic-concept prose, Table 36/37, and Figure 22's sleep handshake. Several citations cross-reference the module's own pre-existing tc18-gap entries (REQ-WAKEUP-017-022) rather than implying full conformance where the implementation is a documented, reduced model of the spec's fuller register/behavior encoding. Also scoped and rejected MDIO as a batch candidate this session -- its wire layout is almost entirely self-documented as non-TC18 original design, leaving only ~1 genuinely citable requirement. 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 | 39 ++++++++++++++++++++++++------------- .fusa.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ CMakeLists.txt | 2 +- ROADMAP.md | 45 +++++++++++++++++++++++++++++++++++++++++++ include/rcp/version.h | 2 +- 6 files changed, 89 insertions(+), 16 deletions(-) diff --git a/.fusa-reqs.json b/.fusa-reqs.json index f9b7a80..e73370e 100644 --- a/.fusa-reqs.json +++ b/.fusa-reqs.json @@ -6913,7 +6913,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§12.3.1.2/.3, TC18.txt L2177-2178, L2225-2226 -- §12.3.1.3 W* marker convention, TC18.txt L2225-2226" }, { "id": "REQ-WAKEUP-003", @@ -6922,7 +6923,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.2 Table 37 (wake-up source pin configuration, IO_SRC[15:11]), TC18.txt L4144; reduced to a single active_high/active_low sense rather than Table 37's six-value IO_SRC encoding -- see the pre-existing gap REQ-WAKEUP-022" }, { "id": "REQ-WAKEUP-004", @@ -6931,7 +6933,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.1 (\"the endpoint listens to configurable IO signals for activity... When the WakeUp endpoint detects activity during sleep mode it wakes up the RC Server\"), TC18.txt L4087-4090; §13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_nr_io_pins_max, io_scr1/2 entries) -- see the pre-existing gap REQ-WAKEUP-021 for the reduced register model" }, { "id": "REQ-WAKEUP-005", @@ -6940,7 +6943,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status, \"Indication of wake-up source, writing '1' clears the flag. Each bit represents a wake-up source\"), TC18.txt L4107-4109 -- modeled as a single latch rather than a 16-bit per-source bitfield, see the pre-existing gap REQ-WAKEUP-021" }, { "id": "REQ-WAKEUP-006", @@ -6949,7 +6953,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status register), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021" }, { "id": "REQ-WAKEUP-007", @@ -6958,7 +6963,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status, \"writing '1' clears the flag\"), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021" }, { "id": "REQ-WAKEUP-008", @@ -6967,7 +6973,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status register), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021" }, { "id": "REQ-WAKEUP-009", @@ -6985,7 +6992,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168; target_mode restricted to Standby/Sleep per §12.5's Goto Sleep/Standby entry gating (established PWRMODE basis)" }, { "id": "REQ-WAKEUP-011", @@ -6994,7 +7002,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168" }, { "id": "REQ-WAKEUP-012", @@ -7003,7 +7012,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.3 (\"send an acknowledge to sleep request\" / \"bring the RC Server implementation to sleep mode\"), TC18.txt L4157-4158; §13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168 -- refusal signalled as a positive-form response rather than an error response, see the pre-existing gap REQ-WAKEUP-019" }, { "id": "REQ-WAKEUP-013", @@ -7012,7 +7022,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.3 (\"send an acknowledge to sleep request\" / \"bring the RC Server implementation to sleep mode\"), TC18.txt L4157-4158 -- see the pre-existing gap REQ-WAKEUP-019 for the response-shape divergence" }, { "id": "REQ-WAKEUP-014", @@ -7021,7 +7032,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.1 (\"After establishing a network connection, the WakeUp endpoint sends repetitive messages.\"), TC18.txt L4090-4092 -- carries no wake-up source of its own, see the pre-existing gap REQ-WAKEUP-017" }, { "id": "REQ-WAKEUP-015", @@ -7030,7 +7042,8 @@ "standard": "iso26262", "level": "ASIL-B", "asil": "ASIL-B", - "scope": "tc18" + "scope": "tc18", + "tc18": "§13.7.2.1, TC18.txt L4090-4092 -- see the pre-existing gap REQ-WAKEUP-017" }, { "id": "REQ-WAKEUP-016", diff --git a/.fusa.json b/.fusa.json index bfb0b97..0b56465 100644 --- a/.fusa.json +++ b/.fusa.json @@ -2,7 +2,7 @@ "configVersion": "1.0", "project": { "name": "c-RCP", - "version": "0.137.0" + "version": "0.138.0" }, "standard": "iso26262", "strict": false, diff --git a/CHANGELOG.md b/CHANGELOG.md index fa89e76..e205058 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,21 @@ the rationale. ## Releases +### v0.138.0 -- 2026-08-07 + +**Citation backfill, batch 18: WAKEUP.** Issue #164. Cited 13 of 16 +remaining uncited Wakeup-control requirements against TC18 §13.7.2's +basic-concept prose, Table 36/37's register block, and §13.7.2.3's +sleep-request handshake (Figure 22, SleepCMD=0xA5). Several citations +cross-reference the module's pre-existing `tc18-gap` entries +(`REQ-WAKEUP-017`-`022`) rather than implying full conformance where +the implementation is a documented, reduced model of the spec's fuller +register/behavior encoding. Also records that MDIO was scoped and +rejected as a batch candidate this session -- its wire layout is +almost entirely self-documented as non-TC18 original design. See +`ROADMAP.md` milestone 138 for full detail. 1028 requirements +(unchanged), 100% traced+tested, 0 `cfusa check` errors. + ### v0.137.0 -- 2026-08-07 **Citation backfill, batch 17: LINEP.** Issue #164. Cited 12 of 16 diff --git a/CMakeLists.txt b/CMakeLists.txt index 358b787..79b098c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(c-rcp - VERSION 0.137.0 + VERSION 0.138.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 759f02a..41c1c27 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -6800,3 +6800,48 @@ were genuinely uncited before writing anything. Purely additive; no code or test changed. 1028 requirements (unchanged count), 100% traced+tested, 0 `cfusa check` errors. + +### 138. Citation backfill, batch 18: WAKEUP (issue #164) (v0.138.0) + +Eighteenth batch. §13.7.2 Wakeup control, 16/22 uncited going in. +Before committing to this category, this batch's own scoping pass +first checked MDIO (16 uncited) and found its file header +self-documents essentially its *entire* wire layout as original, +non-TC18 design (already tracked as `tc18-gap` #021/#022) -- only one +requirement in it would have been genuinely citable. WAKEUP, by +contrast, has rich underlying TC18 prose (§13.7.2.1's basic concept, +Table 36/37's register block, §13.7.2.3's sleep-request handshake + +Figure 22 + the "SleepCMD is coded as 0xA5" line) despite the module +already carrying six pre-existing `tc18-gap` entries +(`REQ-WAKEUP-017`-`022`) documenting real, specific divergences from +that same prose. + +Cited 13 of the 16 uncited `REQ-WAKEUP-*` requirements, several +deliberately cross-referencing those pre-existing gap entries rather +than implying full conformance: lifecycle-gated functional-config +writability (`REQ-WAKEUP-002`) reusing the established §12.3.1.2/.3 +basis; wake-source assertion (`REQ-WAKEUP-003`-`004`) against +§13.7.2.1's activity-detection prose and Table 36/37, cross-referencing +`REQ-WAKEUP-021`/`022` for the module's reduced single-sense/ +single-latch modeling versus Table 37's six-value IO_SRC encoding and +Table 36's per-source bitfield; the wup_status latch primitives +(`REQ-WAKEUP-005`-`008`) against Table 36's wup_status register text, +same `REQ-WAKEUP-021` cross-reference; the SleepCMD request/response +pair (`REQ-WAKEUP-010`-`013`) against Figure 22, the 0xA5 opcode, and +the sleep-request acknowledge/refusal prose, with the response pair +cross-referencing `REQ-WAKEUP-019`'s divergence (refusal signalled as +a positive-form response, not an error response); and the WakeUp +message pair (`REQ-WAKEUP-014`-`015`) against §13.7.2.1's repetitive- +message prose, cross-referencing `REQ-WAKEUP-017`'s divergence (no +wake-up source field carried). + +Left uncited, deliberately: `REQ-WAKEUP-001` (zero-init), +`REQ-WAKEUP-009` (`strerror()`), and `REQ-WAKEUP-016` (the wakeup-echo +helper -- transaction_num correlation is this module's own +implementation convenience with no direct TC18 text of its own). + +Used the pre-flight citation-target check -- confirmed all 13 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 805d6df..7c38de6 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.137.0" +#define RCP_VERSION "0.138.0" #endif /* RCP_VERSION_H */