From 3a0f87fe3f51c149b1e4a96baf450fde5f9482cd Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 26 Sep 2026 10:34:19 +0000 Subject: [PATCH 1/2] docs(adr): correct ADR 0001 HEAD cite and SCPI error parsing The living-audit timeline still called v3.7.2 firmware HEAD, and the enabling-fact paragraph cited a member that does not exist and claimed the numeric SCPI code was unparsed. Point both at the code on main. Co-authored-by: Tyler Kron --- docs/adr/0001-firmware-feature-gating.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/adr/0001-firmware-feature-gating.md b/docs/adr/0001-firmware-feature-gating.md index 6f91c474..92e1d523 100644 --- a/docs/adr/0001-firmware-feature-gating.md +++ b/docs/adr/0001-firmware-feature-gating.md @@ -37,7 +37,8 @@ client-relevant boundary, not the commit date. **Release timeline (tag → date):** v3.0.0b0 (2025-01-14) → v3.0.0b2 (2025-08-04) → v3.1.0b2 (2025-10-09) → v3.2.0 (2025-11-06) → v3.4.3 (2026-01-30) → v3.4.4 (2026-02-06) → v3.4.6b1 (2026-03-12) → v3.5.0 (2026-06-08) → v3.6.0 (2026-06-12) → v3.6.1 → v3.6.3 → -**v3.7.0** → v3.7.1 → **v3.7.2** (current firmware HEAD). SD file transfer over WiFi +**v3.7.0** → v3.7.1 → v3.7.2 → **v3.7.3** (current firmware HEAD; SD:GET `__TRANSFER_ERROR__`, +firmware #725). SD file transfer over WiFi (firmware #598/#599, commit `bf105585` = `git describe` v3.6.3-6) first shipped in the **v3.7.0** release tag (`git tag --contains bf105585`). @@ -126,10 +127,10 @@ backstop below. The firmware emits SCPI errors **inline** on both transports — `UsbCdc.c:1052` and `wifi_tcp_server.c:211` both format `**ERROR: %d, "%s"\r\n`. An unknown command yields **`-113, "Undefined header"`** (libscpi `SCPI_ERROR_UNDEFINED_HEADER`) — a *different code* -from a runtime `-200, "Execution error"`. daqifi-core already recognizes `**ERROR` lines -(`ScpiResponseClassifier.IsErrorResponseLine`, `DaqifiStreamingDevice.IsScpiErrorLine`) but -does not yet parse the numeric code. Parsing it is the concrete hook that makes a -probe-and-detect backstop reliable. +from a runtime `-200, "Execution error"`. daqifi-core classifies those lines with +`ScpiResponseClassifier.IsScpiErrorLine` and parses the numeric code with +`ScpiResponseClassifier.TryExtractErrorCode`. The `-113` backstop already throws +`FeatureNotSupportedException` (`SdCardOperations.GetSdCardStorageAsync`). ## Decision From 0e4f3bbd438a857f8f96419a0b8fa30ae2a6aa01 Mon Sep 17 00:00:00 2001 From: Tyler Kron Date: Sun, 27 Sep 2026 11:08:27 -0600 Subject: [PATCH 2/2] docs(adr): stop calling v3.7.3 the firmware HEAD; mark the pre-releases v3.7.3 is a pre-release cherry-picked onto v3.7.2, and v3.8.0 (also a pre-release) has since superseded it. v3.7.2 remains the latest full release. Say that instead of naming any tag as current HEAD. Co-Authored-By: Claude Opus 5.5 --- docs/adr/0001-firmware-feature-gating.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/adr/0001-firmware-feature-gating.md b/docs/adr/0001-firmware-feature-gating.md index 92e1d523..8119a8ef 100644 --- a/docs/adr/0001-firmware-feature-gating.md +++ b/docs/adr/0001-firmware-feature-gating.md @@ -37,8 +37,9 @@ client-relevant boundary, not the commit date. **Release timeline (tag → date):** v3.0.0b0 (2025-01-14) → v3.0.0b2 (2025-08-04) → v3.1.0b2 (2025-10-09) → v3.2.0 (2025-11-06) → v3.4.3 (2026-01-30) → v3.4.4 (2026-02-06) → v3.4.6b1 (2026-03-12) → v3.5.0 (2026-06-08) → v3.6.0 (2026-06-12) → v3.6.1 → v3.6.3 → -**v3.7.0** → v3.7.1 → v3.7.2 → **v3.7.3** (current firmware HEAD; SD:GET `__TRANSFER_ERROR__`, -firmware #725). SD file transfer over WiFi +**v3.7.0** → v3.7.1 → **v3.7.2** (latest full release as of 2026-09) → v3.7.3 (pre-release; +adds the SD:GET `__TRANSFER_ERROR__` marker, firmware #725) → v3.8.0 (pre-release; supersedes +v3.7.3 and includes its fixes). SD file transfer over WiFi (firmware #598/#599, commit `bf105585` = `git describe` v3.6.3-6) first shipped in the **v3.7.0** release tag (`git tag --contains bf105585`).