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

Alan-Jowett / sonde / 23456573279
82%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 08:11PM UTC
Jobs 1
Files 74
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

23 Mar 2026 07:39PM UTC coverage: 84.576% (+0.3%) from 84.298%
23456573279

push

github

web-flow
feat(sonde-pair): add LESC pairing enforcement, BLE fragmentation, and missing tests (#422)

* feat(sonde-pair): add LESC pairing enforcement, BLE fragmentation, and missing tests

Closes #340 — addresses all four gaps identified in the validation audit.

GAP 1 — LESC Numeric Comparison enforcement (PT-0904):
- Add PairingMethod enum (NumericComparison, JustWorks) to 	ypes.rs
- Add pairing_method() to BleTransport trait with default None impl
- Enforce LESC in phase1::pair_with_gateway and phase2::provision_node
  (reject JustWorks with InsecurePairingMethod error before any GATT writes)
- Update MockBleTransport with configurable pairing_method and ail_connect
- Tests: T-PT-109, T-PT-804, T-PT-805 (Phase 1 and Phase 2)

GAP 2 — BLE indication reassembly and Write Long fragmentation (§3.4):
- Add ragmentation.rs module with ragment_for_write() and
  IndicationReassembler (stateful multi-chunk reassembly using envelope
  header LEN field)
- 14 tests covering: single/multi-chunk writes, exact boundaries, empty
  data, single/multi-chunk reassembly, byte-at-a-time, overflow rejection,
  empty chunk rejection, header split across chunks, zero-length payload,
  MTU-244 boundary, consecutive messages, and reset behavior

GAP 3 — PT-0902 traceability (validation doc):
- Fix T-PT-309 \Validates:\ line: \PT-0405\ → \PT-0405, PT-0902\
  (traceability table already correct, spec body was not)

GAP 4 — Verbose diagnostic mode (PT-0702):
- T-PT-112: assert message type names (REQUEST_GW_INFO, GW_INFO_RESPONSE,
  REGISTER_PHONE) appear in trace output and PSK hex never does

Additional:
- T-PT-309: Ed25519 → X25519 low-order point rejection test in \crypto.rs\

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add pre-allocation size guard and make pairing_method required

- fragmentation: check buffer + chunk size against MAX_REASSEMBLY_SIZE
  before extending the buffer, preventing unbounded allocation from a
  large first chunk.
- transp... (continued)

453 of 484 new or added lines in 8 files covered. (93.6%)

18928 of 22380 relevant lines covered (84.58%)

46.96 hits per line

Uncovered Changes

Lines Coverage ∆ File
19
92.43
crates/sonde-pair/src/fragmentation.rs
6
16.67
-3.33% crates/sonde-pair/src/types.rs
3
0.0
0.0% crates/sonde-pair/src/btleplug_transport.rs
1
96.16
1.71% crates/sonde-pair/src/phase1.rs
1
97.6
1.36% crates/sonde-pair/src/phase2.rs
1
99.1
-0.9% crates/sonde-pair/src/transport.rs
Jobs
ID Job ID Ran Files Coverage
1 23456573279.1 23 Mar 2026 08:11PM UTC 74
84.58
GitHub Action Run
Source Files on build 23456573279
  • Tree
  • List 74
  • Changed 9
  • Source Changed 9
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23456573279
  • 45a52dd7 on github
  • Prev Build on main (#23456552050)
  • Next Build on main (#23458324849)
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