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

prisma-risk / tsoracle / 26416197751
95%

Build:
DEFAULT BRANCH: main
Ran 25 May 2026 07:24PM UTC
Jobs 1
Files 69
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

25 May 2026 07:18PM UTC coverage: 96.423% (+0.03%) from 96.398%
26416197751

push

github

web-flow
fix(server): enforce LeaderState::Follower driver contracts with a debug guard (#439)

LeaderState::Follower.leader_endpoint and leader_epoch carry two driver contracts that nothing enforced: the endpoint must be a scheme-less host:port (a TLS client silently drops http:// leader hints to refuse a transport downgrade, making a scheme-bearing leader unreachable via redirect) and the epoch must be per-node non-decreasing (the client's monotone-forward leader cache drops a hint that cannot outrank the cached leader). The shipped openraft/paxos drivers honor both by construction, so the contracts were a silent trap for a third-party driver.

Document both contracts on LeaderState::Follower and ConsensusDriver::leadership_events(), and add debug_assert_leader_state_contract in run_leader_watch, called once per observed event. The debug_assert!s compile out in release (zero production cost) and trip loudly in a driver author's own test suite.

Correct the scheme-bearing http:// leader_endpoint fixtures the guard surfaced (guarded-path tests plus the reference-example mapping unit tests a third-party author would copy). The TLS plaintext-hint-drop security test deliberately surfaces an http:// hint to verify the client refuses it; route that adversarial hint through a new wire-level fake peer (test_support::boot_fixed_hint_server_tls) instead of a real follower's leader-watch path, so the guard stays intact while the client-side assertion is preserved.

83 of 83 new or added lines in 4 files covered. (100.0%)

10675 of 11071 relevant lines covered (96.42%)

488893.02 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26416197751.1 25 May 2026 07:24PM UTC 69
96.42
GitHub Action Run
Source Files on build 26416197751
  • Tree
  • List 69
  • Changed 5
  • Source Changed 5
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26416197751
  • 29af731f on github
  • Prev Build on main (#26416149253)
  • Next Build on main (#26416322904)
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