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

prisma-risk / tsoracle / 26414589970
95%

Build:
DEFAULT BRANCH: main
Ran 25 May 2026 06:39PM UTC
Jobs 1
Files 66
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 06:32PM UTC coverage: 96.568% (+0.005%) from 96.563%
26414589970

push

github

web-flow
feat(codec): lift codec_io_error into tsoracle-codec (#431)

The CodecError -> io::Error mapping was duplicated across the two
openraft-side storage impls: tsoracle-openraft-toolkit's log store and
tsoracle-driver-openraft's state machine. The copies had already drifted
— the driver's prepended a context label, the toolkit's did not — so the
version-mismatch-to-InvalidData contract was being re-stated in two
places with no guarantee they stayed in agreement.

Lift a single context-taking codec_io_error(context, err) into
tsoracle-codec (the shared framing crate already speaks CodecError and
needs only std::io for this — no rocksdb coupling). Re-export it through
tsoracle-openraft-toolkit so the driver reaches it without a new
dependency edge. A Version mismatch maps to ErrorKind::InvalidData, every
other variant to io::Error::other, with context prefixed onto the message
in both arms.

The toolkit's encode_record/decode_record now pass boundary labels, so
their errors gain an identifying prefix they previously lacked; the
kind() that callers and tests assert on is unchanged.

The rocksdb-bound helpers the same review flagged (the set_sync(true)
write-options and the validate-CF-at-open dance) are deliberately left in
place: tsoracle-codec carries no rocksdb dependency, the shared code is a
couple of trivial lines, and the per-toolkit durability rationale in those
doc comments is worth keeping distinct. The paxos toolkit surfaces
CodecError through its own thiserror enum and never maps to io::Error, so
there was no third copy to lift.

30 of 31 new or added lines in 2 files covered. (96.77%)

10355 of 10723 relevant lines covered (96.57%)

466664.79 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
98.96
-1.04% crates/tsoracle-codec/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 26414589970.1 25 May 2026 06:39PM UTC 66
96.57
GitHub Action Run
Source Files on build 26414589970
  • Tree
  • List 66
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26414589970
  • 2e7bc4a6 on github
  • Prev Build on main (#26414407657)
  • Next Build on main (#26414752906)
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