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

bedrock-kv / bedrock / 6c58cd949c26296002358ef5a271c3847ba66d1a
82%

Build:
DEFAULT BRANCH: develop
Ran 25 Aug 2026 09:30PM UTC
Jobs 1
Files 217
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 Aug 2026 09:29PM UTC coverage: 78.457%. Remained the same
6c58cd949c26296002358ef5a271c3847ba66d1a

push

github

jallum
Document the encoding modules as the public API they already were

`Bedrock.Encoding` and its three implementations all carried
`@moduledoc false`, yet the guides and the class-scheduling livebook both
instruct users to pass `Encoding.Tuple` as a `key_encoding:` option. The
package was hiding modules it asks callers to name; the previous commit
silenced the resulting ex_doc warnings without settling that.

Settles it the other way: they are documented.

The behaviour explains what an encoding is for and how a keyspace uses it,
and states the property that should actually drive the choice - an
encoding used for KEYS must be order-preserving, so the byte order of
packed keys matches the logical order of the values inside them, which is
what makes a range read return what was meant.

- `Encoding.Tuple`: FDB's tuple layer. Order-preserving, so it is the one
  to use for composite keys. Documents the supported types and that the
  wire format is FDB's, so keys are readable by other tuple-layer bindings.
- `Encoding.None`: the identity. Documents that `pack/1` takes binaries
  only and raises rather than stringifying a term for you.
- `Encoding.BERT`: values only, because the external term format is NOT
  order-preserving - a keyspace using it for keys would fetch individual
  keys correctly but range-read them in an unrelated order. Also notes
  that `unpack/1` calls `:erlang.binary_to_term/1` without `:safe`, so it
  must not be pointed at bytes from an untrusted source.

Each example is a real doctest, so the docs cannot drift from behavior.

Removes the three `Bedrock.Encoding.*` entries from
`skip_code_autolink_to`; the guides now autolink to real pages. The
Link/GenServerApi entries stay - those are genuinely internal.

One duplicate removed while wiring the doctests up: `key_tuple_test.exs`
aliases `Bedrock.Encoding.Tuple` as `Key` and already declared
`doctest Key`, which had been collecting nothing because the module had no
documentation. Adding ex... (continued)

6781 of 8643 relevant lines covered (78.46%)

1030.69 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
94.22
0.0% lib/bedrock/data_plane/materializer/olivine/logic.ex
Jobs
ID Job ID Ran Files Coverage
1 6c58cd949c26296002358ef5a271c3847ba66d1a.1 25 Aug 2026 09:30PM UTC 217
78.46
GitHub Action Run
Source Files on build 6c58cd949c26296002358ef5a271c3847ba66d1a
  • Tree
  • List 217
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 6c58cd94 on github
  • Prev Build on develop (#9B4B2676...)
  • Next Build on develop (#734FAABA...)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc