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

Alan-Jowett / sonde / 23362894195
82%

Build:
DEFAULT BRANCH: main
Ran 20 Mar 2026 09:19PM UTC
Jobs 1
Files 72
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 Mar 2026 09:15PM UTC coverage: 82.739% (+0.1%) from 82.631%
23362894195

push

github

web-flow
fix(gateway): close 6 implementation gaps — ELF ingestion, factory reset, logging, state export (#395)

* fix(gateway): close 6 implementation gaps

GAP 1 (GW-0400): Wire up ingest_elf() in the admin IngestProgram RPC.
Auto-detects ELF binaries via the 0x7fELF magic and routes them through
Prevail verification + CBOR conversion. Pre-encoded CBOR still accepted.

GAP 2 (GW-0705): Zeroize PSK key material in RemoveNode before deleting
the node from storage, preventing key material from lingering in freed
heap memory.

GAP 3 (GW-0805/GW-1001): Add handler routing configuration to state
export/import bundles (root key 6 in the CBOR map).

GAP 4 (GW-0702 AC2): Add BatteryReading struct and battery_history field
to NodeRecord. update_telemetry() appends each reading, capped at 100.
Battery history is included in state bundle export/import.

GAP 5 (GW-1002): Emit tracing::warn! with key_hint when a frame from an
unknown node is discarded (no key_hint match in storage).

GAP 6 (GW-0101 AC3): Emit tracing::warn! with node_id and decode error
when inbound CBOR decoding fails for WAKE and post-WAKE messages.

Closes #384

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

* fix: cargo fmt + address review comments

- Run cargo fmt to fix formatting in engine.rs and state_bundle.rs
- Cap battery_history import to 100 entries (state_bundle.rs)
- Gate non-ELF program ingest on debug_assertions (admin.rs)
- Remove ineffective local-copy PSK zeroize in remove_node (admin.rs)
- Add TODO for GW-0705 factory-reset protocol gap (admin.rs)
- Document handler routing exclusion in ExportState (admin.rs)
- Clarify CBOR ingest path is test-only in proto docs (admin.proto)
- Persist battery_history in SQLite battery_readings table (sqlite_storage.rs)

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

* fix: address PR #395 review comments

- Incremental battery history persistence (insert-only + prune) instead of
  full delete-and-rewrite... (continued)

334 of 373 new or added lines in 5 files covered. (89.54%)

2 existing lines in 1 file now uncovered.

16844 of 20358 relevant lines covered (82.74%)

49.32 hits per line

Uncovered Changes

Lines Coverage ∆ File
30
81.43
1.12% crates/sonde-gateway/src/state_bundle.rs
4
92.85
-0.54% crates/sonde-gateway/src/engine.rs
2
94.12
-5.88% crates/sonde-gateway/src/registry.rs
2
91.61
0.65% crates/sonde-gateway/src/sqlite_storage.rs
1
61.87
-0.24% crates/sonde-gateway/src/admin.rs

Coverage Regressions

Lines Coverage ∆ File
2
81.43
1.12% crates/sonde-gateway/src/state_bundle.rs
Jobs
ID Job ID Ran Files Coverage
1 23362894195.1 20 Mar 2026 09:19PM UTC 72
82.74
GitHub Action Run
Source Files on build 23362894195
  • Tree
  • List 72
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23362894195
  • c463106d on github
  • Prev Build on main (#23362891951)
  • Next Build on main (#23363555300)
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