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

prisma-risk / tsoracle / 26678748372
95%

Build:
DEFAULT BRANCH: main
Ran 30 May 2026 08:13AM UTC
Jobs 1
Files 93
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 May 2026 08:02AM UTC coverage: 95.218% (-0.1%) from 95.338%
26678748372

push

github

web-flow
feat: keyed dense sequences on openraft + format-activation rollout gate (#585)

* feat(openraft,consensus): DENSE_WRITE_VERSION=5, MAX_READABLE=5, DenseNotActivated error

Signed-off-by: Sebastian Thiebaud <sebastian@prismarisk.com>

* feat(openraft): AdvanceDense command + dense ApplyOutcome variants

Add AdvanceDense { key: SeqKey, count: u32 } to HighWaterCommand (appended
at the END so existing postcard discriminants are stable), and add
DenseAdvanced { start }, DenseCardinalityExceeded { cap }, and DenseOverflow
to ApplyOutcome.

SeqKey gains serde derives under tsoracle-core's `serde` feature; the driver's
Cargo.toml enables that feature.

All match sites that are exhaustive on HighWaterCommand or ApplyOutcome have
been extended: standalone.rs's classify_activation_outcome maps the three new
dense outcomes to MembershipChangedSinceGate (genuinely unreachable for a
SetFormatVersion entry but required for exhaustiveness; noted as Task 6's
territory), and the openraft-piggyback example's apply match handles
AdvanceDense as a no-op (the example has no dense state).

Signed-off-by: Sebastian Thiebaud <sebastian@prismarisk.com>

* feat(openraft): dense state-machine apply (fetch-add, cardinality cap, overflow) at apply time

Add `dense: BTreeMap<String, u64>` and `dense_cap: u64` fields to `Core`;
seed both at construction from `DEFAULT_DENSE_CARDINALITY_CAP` (new pub const
= 10_000, exported from the driver crate's lib.rs).

Implement the AdvanceDense apply arm: checks cardinality cap on NEW keys only
(existing keys always proceed), computes start as the pre-advance counter via
checked_add for overflow detection, inserts the post-advance value on success.
Returns HighWaterApplied with the high-water untouched.

Add a `dense_value(key)` pub accessor for linearizable-read callers (Task 6).

Add a test-only `new_with_dense_cap` constructor and four unit tests
(TDD: tests written before the arm was implemented):
- dense_advance_first_key_starts_at_zero:... (continued)

400 of 443 new or added lines in 7 files covered. (90.29%)

15729 of 16519 relevant lines covered (95.22%)

338987.56 hits per line

Uncovered Changes

Lines Coverage ∆ File
29
95.53
-0.62% crates/tsoracle-driver-openraft/src/state_machine.rs
7
87.59
-4.2% crates/tsoracle-driver-openraft/src/driver.rs
5
92.96
-7.04% crates/tsoracle-driver-openraft/src/log_entry.rs
2
93.03
-0.58% crates/tsoracle-driver-openraft/src/standalone.rs
Jobs
ID Job ID Ran Files Coverage
1 26678748372.1 30 May 2026 08:13AM UTC 93
95.22
GitHub Action Run
Source Files on build 26678748372
  • Tree
  • List 93
  • Changed 16
  • Source Changed 16
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26678748372
  • 7d5d2dc5 on github
  • Prev Build on main (#26678500405)
  • Next Build on main (#26678761119)
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