• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 26193029605
82%

Build:
DEFAULT BRANCH: main
Ran 20 May 2026 10:25PM UTC
Jobs 1
Files 128
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 May 2026 10:11PM UTC coverage: 83.273% (-0.001%) from 83.274%
26193029605

push

github

web-flow
node: factory reset at boot when boot button held on paired node (ND-0917) (#1049)

* node: factory reset at boot when boot button held on paired node (ND-0917)

Move factory reset from deferred (inside NODE_PROVISION handler during
BLE pairing) to immediate (at boot, before entering BLE pairing mode).
When the boot button is held >=500 ms on an already-paired node, the
firmware now performs a full factory reset -- erasing PSK, programs, maps,
schedule, channel, BLE pairing artifacts, and staged pre-provisioning
test state -- then enters BLE pairing mode as an unpaired node.

This fixes the radio diagnostic reboot issue: previously, holding the
boot button entered BLE pairing mode with credentials intact and deferred
reset until NODE_PROVISION arrived. If the pairing tool triggered a
radio diagnostic (which reboots the node), the button was no longer held
on the next boot and the node reverted to its paired operational state,
losing the factory-reset intent.

Spec changes:
- ND-0900: boot priority reordered -- button+PSK->reset is now first
- ND-0905: removed button_held/paired_on_entry from NODE_PROVISION
- ND-0917: renamed to "Factory reset via boot button", immediate at boot
- Design updated for new boot flow
- Validation T-N900/T-N906 updated with factory-reset and staged-test steps

Implementation changes:
- KeyStore::factory_reset(): reordered to erase PSK last (partial
  failures leave node paired and retryable); added
  clear_staged_test_command() and clear_test_result()
- handle_node_provision(): removed button_held, paired_on_entry,
  and map_storage parameters -- no longer performs factory reset
- run_ble_pairing_mode(): removed button_held and map_storage
  parameters; added unpaired invariant check (fail-closed)
- node.rs: boot path performs factory reset when button_held && has_psk,
  fail-closed on error (deep sleep)
- Added clear_test_result() to PlatformStorage trait
- New tests for staged-test-clearing and failure-injection paths

Co... (continued)

79 of 79 new or added lines in 4 files covered. (100.0%)

6 existing lines in 1 file now uncovered.

36387 of 43696 relevant lines covered (83.27%)

258.6 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
94.85
-0.56% crates/sonde-node/src/ble_pairing.rs
Jobs
ID Job ID Ran Files Coverage
1 26193029605.1 20 May 2026 10:25PM UTC 128
83.27
GitHub Action Run
Source Files on build 26193029605
  • Tree
  • List 128
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26193029605
  • b4d04a40 on github
  • Prev Build on main (#26183192770)
  • Next Build on main (#26197336548)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc