[PR #2818] [MERGED] test(signals): verify native decoder discovery coverage #5415

Closed
opened 2026-10-31 01:06:27 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2818
Author: @N0zoM1z0
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: review/signal-decoder-discovery-2487-20261013


📝 Commits (10+)

  • 58c6d77 test(signals): verify native decoder discovery coverage
  • 92aeaee chore: sync main after upstream CI baseline fixes
  • c562eec chore: sync main after upstream CI baseline fixes
  • ddea3d8 style(test): format the JVM class fixture
  • b553194 fix(comparison): recheck historical calls-only changes (#2223)
  • ab78dc7 fix(ci): isolate Linux Hopper process fixture inventory
  • 2b86749 chore: sync latest main into PR #2818
  • 947cb5a chore: integrate maintainer updates for PR #2818
  • 4e5bcc3 chore: sync latest main into PR #2818
  • 8a33fe1 Merge commit 'refs/codex/pr-refresh/main-20261014-phase2' into codex/pr-refresh-2818-20261014

📊 Changes

1 file changed (+52 additions, -18 deletions)

View changed files

📝 scripts/verify-signal-recording.mjs (+52 -18)

📄 Description

The real sigrok verifier previously checked only that UART appeared in a catalog search. CLI/MCP agreement could therefore pass when both adapters returned the same incomplete catalog or incorrect coverage counts.

Compare the installed native catalog and UART help independently with every returned page and all coverage fields. Exercise default and unlimited pages, offsets at/past the end, mixed-case queries, literal special characters, and empty matches. This follows up #2487; production behavior is unchanged.

Validation on Linux x64 with sigrok-cli 0.7.2 / libsigrokdecode 0.5.3, using 2 CPUs and an 8 GiB process-family limit:

  • 62/62 related tests pass on the synchronized base, covering provider/parser/cancellation/capacity/cleanup and converted CLI/MCP schemas; peak family RSS 3.16 GiB including a fresh compile.
  • Real native verifier: 21/21 cases on the synchronized base, including 11 discovery cases, CLI/MCP parity, exact catalog/help pages, coverage fields, and private-workspace cleanup; peak family RSS 1.27 GiB.
  • Four actual hardware recordings from sigrok-dumps at 0ad1347: STM32 UART greeting, 9-bit UART counter, FT232H/MAX7219 SPI, and Samsung EDID over I2C. All selected/full annotation pages match separate native commands; source SHA-256 values remain unchanged. This verifies existing recordings; no acquisition was performed.
  • Equivalent three-call UART discovery/help/greeting task, three alternating pairs on a warm MCP server: broad versus focused request/response counts are 14,382 vs 7,220 tokens; including the current complete input tool catalog, 198,283 vs 191,121 tokens (o200k_base, not billed usage; model reasoning excluded). Median wall time is 1.286 vs 1.367 seconds, CPU 0.92 vs 0.90 seconds, and sampled peak server/native process-family RSS 435 vs 434 MiB. Page cache is uncontrolled and the sampler adds overhead; no speedup or caching claim. The complete hardware/benchmark run peaked at 876 MiB.
  • npm run check:ci: 8/8 static tasks and architecture guards passed on the previously synchronized main; peak family RSS 4.13 GiB. On the final current-base head, it reaches the formatter and fails only in two unchanged main files (enhancedTools.04-uses-complete-inventories-inline.test.ts and packagePlatformDiagnostics.test.ts); both are byte-identical to origin/main. The run peaked at 2.60 GiB. git diff --check passes.

The validated revision is 6ab5a82d95f5eac85d2630d3c2035a395d921d4a. Windows/macOS sigrok behavior is not claimed; this provider is explicitly Linux-only.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2818 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `review/signal-decoder-discovery-2487-20261013` --- ### 📝 Commits (10+) - [`58c6d77`](https://github.com/morluto/rea/commit/58c6d77686e1e31c8976b90bd0c4ea8c4ff5e34f) test(signals): verify native decoder discovery coverage - [`92aeaee`](https://github.com/morluto/rea/commit/92aeaee1214864d317ea85988a4646ef201b2ad0) chore: sync main after upstream CI baseline fixes - [`c562eec`](https://github.com/morluto/rea/commit/c562eec19082c5a523dbae7199d11b9fabb5b1d0) chore: sync main after upstream CI baseline fixes - [`ddea3d8`](https://github.com/morluto/rea/commit/ddea3d85954d11b6da19ed6d2884481455be994f) style(test): format the JVM class fixture - [`b553194`](https://github.com/morluto/rea/commit/b553194f6b4e55bad4f5c5e43a8d498570ec425a) fix(comparison): recheck historical calls-only changes (#2223) - [`ab78dc7`](https://github.com/morluto/rea/commit/ab78dc774a18569796f2dc4a3755432b361772f8) fix(ci): isolate Linux Hopper process fixture inventory - [`2b86749`](https://github.com/morluto/rea/commit/2b8674965459bd88bc9ba960dcb5e8844ac875d7) chore: sync latest main into PR #2818 - [`947cb5a`](https://github.com/morluto/rea/commit/947cb5a00b0ac958ec91f3db8a04bf9956945c36) chore: integrate maintainer updates for PR #2818 - [`4e5bcc3`](https://github.com/morluto/rea/commit/4e5bcc3ab22899c24ba1e88171d2056c98db5bb7) chore: sync latest main into PR #2818 - [`8a33fe1`](https://github.com/morluto/rea/commit/8a33fe1ce8f30c40bc55bd475606e475ae470c7b) Merge commit 'refs/codex/pr-refresh/main-20261014-phase2' into codex/pr-refresh-2818-20261014 ### 📊 Changes **1 file changed** (+52 additions, -18 deletions) <details> <summary>View changed files</summary> 📝 `scripts/verify-signal-recording.mjs` (+52 -18) </details> ### 📄 Description The real sigrok verifier previously checked only that UART appeared in a catalog search. CLI/MCP agreement could therefore pass when both adapters returned the same incomplete catalog or incorrect coverage counts. Compare the installed native catalog and UART help independently with every returned page and all coverage fields. Exercise default and unlimited pages, offsets at/past the end, mixed-case queries, literal special characters, and empty matches. This follows up #2487; production behavior is unchanged. Validation on Linux x64 with sigrok-cli 0.7.2 / libsigrokdecode 0.5.3, using 2 CPUs and an 8 GiB process-family limit: - 62/62 related tests pass on the synchronized base, covering provider/parser/cancellation/capacity/cleanup and converted CLI/MCP schemas; peak family RSS 3.16 GiB including a fresh compile. - Real native verifier: 21/21 cases on the synchronized base, including 11 discovery cases, CLI/MCP parity, exact catalog/help pages, coverage fields, and private-workspace cleanup; peak family RSS 1.27 GiB. - Four actual hardware recordings from [sigrok-dumps at 0ad1347](https://github.com/sigrokproject/sigrok-dumps/tree/0ad13477abc959d37fc9a5acbd23901c371c9c76): STM32 UART greeting, 9-bit UART counter, FT232H/MAX7219 SPI, and Samsung EDID over I2C. All selected/full annotation pages match separate native commands; source SHA-256 values remain unchanged. This verifies existing recordings; no acquisition was performed. - Equivalent three-call UART discovery/help/greeting task, three alternating pairs on a warm MCP server: broad versus focused request/response counts are **14,382 vs 7,220 tokens**; including the current complete input tool catalog, **198,283 vs 191,121 tokens** (`o200k_base`, not billed usage; model reasoning excluded). Median wall time is **1.286 vs 1.367 seconds**, CPU **0.92 vs 0.90 seconds**, and sampled peak server/native process-family RSS **435 vs 434 MiB**. Page cache is uncontrolled and the sampler adds overhead; no speedup or caching claim. The complete hardware/benchmark run peaked at **876 MiB**. - `npm run check:ci`: 8/8 static tasks and architecture guards passed on the previously synchronized `main`; peak family RSS 4.13 GiB. On the final current-base head, it reaches the formatter and fails only in two unchanged `main` files (`enhancedTools.04-uses-complete-inventories-inline.test.ts` and `packagePlatformDiagnostics.test.ts`); both are byte-identical to `origin/main`. The run peaked at 2.60 GiB. `git diff --check` passes. The validated revision is `6ab5a82d95f5eac85d2630d3c2035a395d921d4a`. Windows/macOS sigrok behavior is not claimed; this provider is explicitly Linux-only. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:06:27 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5415
No description provided.