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

Alan-Jowett / sonde / 26545897875
82%

Build:
DEFAULT BRANCH: main
Ran 28 May 2026 12:07AM UTC
Jobs 1
Files 130
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

27 May 2026 11:57PM UTC coverage: 82.547% (-0.001%) from 82.548%
26545897875

push

github

web-flow
feat(admin): add key rotate, key fingerprint, key status subcommands (ADMIN-0900–0902) (#1073)

* test(gateway): add escrow/rotation test suite T-2000, T-2001, T-2002, T-2006c

Add integration tests for PSK escrow, master key identification, and
ACTUAL_STATE publication (issue #1058, gateway-validation.md §18):

- T-2000: Master key identification — first startup
  Verifies \init_master_key_id()\ generates random 16-byte ID, sets
  epoch=1, backfills existing node and phone PSK records, and is
  idempotent across restarts.

- T-2001: Gateway ACTUAL_STATE publication
  Verifies gateway ACTUAL_STATE is emitted with all required fields
  (entity_kind, channel, \master_key_id\, epoch, \x25519_public_key\,
  \ingerprint_words\, \otation_in_progress\). Also verifies node
  ACTUAL_STATE includes escrow fields (keys 12–14).

- T-2002: Gateway DESIRED_STATE channel change
  Verifies DESIRED_STATE with channel field is parsed and forwarded
  to the \gateway_desired_state_tx\ channel. Channel switch handler
  is not yet implemented (rotation_engine.rs TODO).

- T-2006c: Phone PSKs not escrowed
  Verifies node ACTUAL_STATE includes escrow fields but no phone
  ACTUAL_STATE is emitted. After rotation, node ACTUAL_STATE is
  re-emitted with updated escrow, phone PSK is re-encrypted
  (plaintext preserved), and still no phone ACTUAL_STATE appears.

Remaining tests T-2006, T-2006a, T-2006b are blocked by #1056
(companion-side escrow receipt tests).

Closes #1058 (partial — 4 of 7 missing tests implemented)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* feat(admin): add key rotate, key fingerprint, key status subcommands (ADMIN-0900–0902)

Implement the three key management CLI subcommands per admin-design.md §11:

- \key fingerprint\: display BIP-39 fingerprint words (text + JSON)
- \key status\: display epoch, \master_key_id\, rotation state, salt, KDF params
- \key rotate\: interacti... (continued)

189 of 381 new or added lines in 2 files covered. (49.61%)

7 existing lines in 1 file now uncovered.

39394 of 47723 relevant lines covered (82.55%)

239.06 hits per line

Uncovered Changes

Lines Coverage ∆ File
192
38.98
5.37% crates/sonde-admin/src/main.rs

Coverage Regressions

Lines Coverage ∆ File
7
81.12
-0.28% crates/sonde-azure-companion/src/main.rs
Jobs
ID Job ID Ran Files Coverage
1 26545897875.1 28 May 2026 12:07AM UTC 130
82.55
GitHub Action Run
Source Files on build 26545897875
  • Tree
  • List 130
  • Changed 5
  • Source Changed 2
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26545897875
  • 4cdc54da on github
  • Prev Build on main (#26543495002)
  • Next Build on main (#26550860189)
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