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

prisma-risk / tsoracle / 26317326260
95%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 11:49PM UTC
Jobs 1
Files 63
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

22 May 2026 11:45PM UTC coverage: 95.346% (-0.7%) from 96.0%
26317326260

push

github

web-flow
feat(paxos-toolkit): declare_omnipaxos_types_ext! macro and lifecycle runner (#167)

* feat(paxos-toolkit): declare_omnipaxos_types_ext! macro for downstream type aliases

* feat(paxos-toolkit): LeadershipState newtype mapping to consensus crate

* feat(paxos-toolkit): debounced leader-event channel and stream

* feat(paxos-toolkit): PaxosRunner with tick, outbound drain, leader emission

* refactor(paxos-toolkit): apply code-review feedback on lifecycle layer

Several review-driven cleanups across the lifecycle module:

- LeaderEventSender::send: replace the send_if_modified + is_closed()
  TOCTOU pattern with a borrow-equality check followed by
  watch::Sender::send, which atomically reports closed channels. The
  prior pattern could miss a channel-closed event by one tick and emit
  a spurious extra notify cycle. Updated SendError doc.
- Rewrite the runner's KNOWN LIMITATION comment to drop project
  phase-naming conventions; the comment now describes the limitation
  and points to the follow-up driver crate without referring to plan
  phases.
- PaxosRunner::start: assert in debug builds that the runner isn't
  already running. A double-start was previously silent; now it panics
  in development and at minimum carries an explicit precondition doc.
- PaxosRunner::stop: surface JoinError via tracing::error! rather than
  silently discarding it. A panic in the tick task is unrecoverable
  for paxos and should be visible to the operator.
- Tighten LeadershipState::from_omnipaxos so that current_leader =
  Some(my_node_id) with epoch = None produces Unknown rather than
  "follower of self". The runner always pairs them, but the permissive
  signature should not produce nonsensical output for callers that
  don't. Added a test for the edge case.
- Rename PeerEntry to Peer (the Entry suffix collides in readers'
  mental model with omnipaxos::storage::Entry, which is the log-entry
  trait used throughout the toolkit).
- Add module-level and item-level doc ... (continued)

295 of 368 new or added lines in 4 files covered. (80.16%)

8503 of 8918 relevant lines covered (95.35%)

637133.5 hits per line

Uncovered Changes

Lines Coverage ∆ File
73
67.84
crates/tsoracle-paxos-toolkit/src/lifecycle/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 26317326260.1 22 May 2026 11:49PM UTC 63
95.35
GitHub Action Run
Source Files on build 26317326260
  • Tree
  • List 63
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26317326260
  • f203c8f0 on github
  • Prev Build on main (#26315329267)
  • Next Build on main (#26317506982)
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