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

Alan-Jowett / sonde / 23723030432
82%

Build:
DEFAULT BRANCH: main
Ran 30 Mar 2026 12:42AM UTC
Jobs 1
Files 77
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

30 Mar 2026 12:40AM UTC coverage: 85.116% (-0.4%) from 85.534%
23723030432

push

github

web-flow
feat(gateway): implement error diagnostic observability (GW-1307) (#579)

* feat(gateway): implement error diagnostic observability (GW-1307)

Improve error messages across all user-facing boundaries to include
operation name, input parameters, subsystem error, and actionable
guidance where applicable.

Boundaries improved: serial port, admin API, program verification,
storage, key provider, state export/import.

Implements: GW-1307
Relates-to: #532

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

* fix(gateway): address review findings for GW-1307

- bundle_err: handle all BundleError variants explicitly with
  variant-specific guidance instead of a catch-all (GW-1307 AC2)
- import_state: delegate guidance to bundle_err instead of
  always appending generic passphrase/corruption text
- remove_program: replace storage_err with storage_err_with_context
  for list_nodes and delete_program calls (GW-1307 AC1)
- assign_program: add operation context, program hash, and
  actionable guidance to all error paths (GW-1307 AC1)
- queue_ephemeral: add operation context and profile details
  to all error paths (GW-1307 AC1)
- fmt_hex: use pre-sized String allocation instead of per-byte
  format! allocations
- modem: collapse duplicate UNKNOWN match arms to fix clippy
  match_same_arms warning
- modem: make guidance structured fields single-line to avoid
  any ambiguity about embedded whitespace
- tests: tighten assertions to require specific operation markers
  and actionable guidance text instead of overly permissive matches
- tests: use tempdir() for path-based tests to ensure hermiticity
  and cross-platform correctness

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

* Address round-2 review findings

- Precompute \.to_string()\ before match in \storage_err_with_context\
  and \undle_err\ to avoid referencing moved value in format arms
- Add \alidate_program_hash_bytes\ helper enforcing 32-byte SHA-256
  length o... (continued)

101 of 271 new or added lines in 6 files covered. (37.27%)

6 existing lines in 2 files now uncovered.

23504 of 27614 relevant lines covered (85.12%)

153.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
77
64.4
-9.89% crates/sonde-gateway/src/admin.rs
43
77.49
-3.44% crates/sonde-gateway/src/modem.rs
43
88.22
-2.29% crates/sonde-gateway/src/sqlite_storage.rs
3
92.34
-0.17% crates/sonde-gateway/src/program.rs
2
0.0
0.0% crates/sonde-gateway/src/bin/gateway.rs
2
53.19
1.62% crates/sonde-gateway/src/key_provider.rs

Coverage Regressions

Lines Coverage ∆ File
5
77.49
-3.44% crates/sonde-gateway/src/modem.rs
1
92.34
-0.17% crates/sonde-gateway/src/program.rs
Jobs
ID Job ID Ran Files Coverage
1 23723030432.1 30 Mar 2026 12:42AM UTC 77
85.12
GitHub Action Run
Source Files on build 23723030432
  • Tree
  • List 77
  • Changed 7
  • Source Changed 6
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23723030432
  • 82c3c357 on github
  • Prev Build on main (#23720009625)
  • Next Build on main (#23724877677)
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