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

prisma-risk / tsoracle / 26426188190
95%

Build:
DEFAULT BRANCH: main
Ran 26 May 2026 01:01AM UTC
Jobs 1
Files 84
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

26 May 2026 12:55AM UTC coverage: 95.39% (-0.2%) from 95.563%
26426188190

push

github

web-flow
feat(openraft-toolkit): route RocksdbLogStore log/meta codec through LogStoreCodec provider seam (#459)

Wire the openraft toolkit and the openraft driver through the VersionedCodec
seam so log/meta/snapshot (de)serialization routes through a versioned body
provider, with the toolkit owning the leading version-byte framing. No
on-disk byte changes — SCHEMA_VERSION stays 4 and the bodies are byte-for-byte
identical to the pre-seam postcard frame.

The orphan rule blocks `impl tsoracle_codec::VersionedCodec for openraft::Entry`
(both foreign here). The seam therefore has two halves:

1. **Toolkit-generic openraft types** (`C::Entry`, `VoteOf<C>`, `LogIdOf<C>`):
   the toolkit defines a toolkit-local provider trait `LogStoreCodec<C>` (six
   `(version, &T)` / `(version, &[u8])` body methods), a behavior-preserving
   `DefaultLogStoreCodec` impl (whole-value postcard), and the driver supplies
   a local marker `OpenraftLogCodec` to satisfy the orphan rule.
   `RocksdbLogStore<C, K, Codec = DefaultLogStoreCodec>` gains the `Codec`
   parameter — defaulted to keep the ~40 internal `<TestTypeConfig, …>` sites
   compiling unchanged, threaded explicitly at the four driver-side sites.

2. **Driver-local snapshot types** (`HighWaterStateMachineSnapshot`,
   `PersistedSnapshot`): the driver `impl tsoracle_codec::VersionedCodec`
   directly. The six `state_machine.rs` snapshot codec sites (with_store
   envelope+payload decode, build_snapshot payload+envelope encode,
   install_snapshot payload decode + envelope encode) move from
   `decode(SCHEMA_VERSION, ..)` / `encode(SCHEMA_VERSION, ..)` to
   `decode_framed(SCHEMA_VERSION, SCHEMA_VERSION, ..)` / `encode_framed(SCHEMA_VERSION, ..)`.

- `tsoracle-openraft-toolkit::codec_provider` (NEW, top-level, NOT gated by
  `rocksdb-log-store` since it has no rocksdb dependency): the `LogStoreCodec`
  trait + `DefaultLogStoreCodec`.
- `RocksdbLogStore<C, K, Codec>` gains the `Codec: 'static` parameter, defaulted
  to `Defa... (continued)

330 of 372 new or added lines in 7 files covered. (88.71%)

12001 of 12581 relevant lines covered (95.39%)

432164.06 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
95.05
-2.38% crates/tsoracle-driver-openraft/src/state_machine.rs
6
97.26
-1.53% crates/tsoracle-openraft-toolkit/src/log_store/mod.rs
5
37.5
crates/tsoracle-openraft-toolkit/src/lib.rs
5
80.65
0.13% crates/tsoracle-standalone/src/drivers/openraft/mod.rs
3
92.68
crates/tsoracle-openraft-toolkit/src/codec_provider.rs
3
97.09
-2.91% crates/tsoracle-openraft-toolkit/src/log_store/meta.rs
Jobs
ID Job ID Ran Files Coverage
1 26426188190.1 26 May 2026 01:01AM UTC 84
95.39
GitHub Action Run
Source Files on build 26426188190
  • Tree
  • List 84
  • Changed 5
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26426188190
  • b4e51ef4 on github
  • Prev Build on main (#26425818812)
  • Next Build on main (#26427776142)
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