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

Alan-Jowett / sonde / 26656398613
82%

Build:
DEFAULT BRANCH: main
Ran 29 May 2026 07:09PM UTC
Jobs 1
Files 124
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

29 May 2026 06:59PM UTC coverage: 82.001% (+0.01%) from 81.99%
26656398613

push

github

web-flow
fix: enforce append-only semantics on Programs table (AZH-0800) (#1104)

* fix: enforce append-only semantics on Programs table (AZH-0800)

Replace \insert_or_replace\ with \insert\ in \store_program_image\ so that
the \Programs\ Azure Table uses the same append-only semantics as
\ActualNodeState\, \DesiredNodeState\, and \SensorData\.

Duplicate \program_hash\ inserts (HTTP 409 \EntityAlreadyExists\) are
treated as a no-op — the original row is preserved unchanged
(first-writer-wins). This is safe because \program_hash\ is the SHA-256
of the CBOR image, so identical hashes imply identical program content.

Changes:
- \AzureTablesStore::store_program_image\: \insert\ + conflict handling
- \is_legacy_conflict\ helper: matches only \EntityAlreadyExists\, not
  all 409 responses
- \HandlerStore\ trait: doc comment specifying insert-only contract
- \MemoryStore\ mock: insert-only with \contains_key\ guard
- Legacy \lf_image\ warning: updated to say delete-then-re-ingest
- Tests: enhanced \program_ingest_is_idempotent\ (T-AZH-0800) and new
  \store_program_image_duplicate_hash_preserves_original\ (T-AZH-0800a)
- Specs: AZH-0800 requirement, updated design §4.4/§5/§8.5, validation
  entries T-AZH-0800 and T-AZH-0800a

Closes #1098

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

* fix: use Entry API to satisfy clippy map_entry lint

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

---------

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

54 of 61 new or added lines in 1 file covered. (88.52%)

1 existing line in 1 file now uncovered.

38343 of 46759 relevant lines covered (82.0%)

248.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
86.1
0.08% crates/sonde-azure-handler/src/lib.rs

Coverage Regressions

Lines Coverage ∆ File
1
86.1
0.08% crates/sonde-azure-handler/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 26656398613.1 29 May 2026 07:09PM UTC 124
82.0
GitHub Action Run
Source Files on build 26656398613
  • Tree
  • List 124
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26656398613
  • 8fa6a3b2 on github
  • Prev Build on main (#26653918877)
  • Next Build on main (#26657496714)
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