Skip to content
CAI
Software that uses CAICheck a score

spacejam/sled

75.6

Strong · 29 September 2026

7.4k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is Sled, a high-performance embedded key-value database for Rust. It provides core data operations including inserts, queries, transactions, and range scans, with a focus on crash recovery and concurrency safety. The codebase includes extensive tooling for fuzzing, memory safety verification, and performance benchmarking to ensure robustness under various failure and load conditions.

Features

Add CI and testing helper scripts

Introduces a suite of new shell and Python scripts to support continuous integration, testing, and performance analysis. This includes \sanitizers.sh\ for running memory, address, leak, and thread sanitizers on the stress2 benchmark; \cgtest.sh\ to enforce memory limits via cgroups during test execution; \cross\_compile.sh\ to verify compatibility across multiple target architectures; \instructions\ for instruction counting via Cachegrind; \execution\_explorer.py\ for deterministic multithreaded debugging with GDB; \shufnice.sh\ for random process renicing; and \ubuntu\_bench\ for setting up a benchmarking environment with flamegraph support.

scripts · high confidence

Added performance benchmarking examples for sled 1.0

New example programs, bench.rs and bench\_large.rs, have been added to the examples directory to provide performance baselines for the new sled 1.0 implementation. These tools allow users to measure throughput, latency, and memory usage under various concurrency and data-size configurations, serving as a reference for the optimized metadata subsystem and fanout configurations.

examples · high confidence

Introduction of sled 1.0 alpha with configurable leaf fanout and new configuration API

This release introduces the alpha version of sled 1.0, featuring a new \Db\ struct that accepts a \LEAF\_FANOUT\ const generic parameter (defaulting to 1024) to allow users to tune the performance-vs-efficiency trade-off for key compression and contention. The configuration system has been refactored into a new \Config\ struct with builder-style methods for settings such as cache capacity, flush intervals, and compression levels, replacing the previous configuration approach. Additionally, new internal modules for allocation, heap management, and flush epoch tracking have been added to support the new architecture.

src · high confidence

Test coverage

Add crash recovery tests for batches, iteration, and transactions; Added fuzz testing for the database model; Added property-based tests for tree operations; Added test infrastructure for memory shredding and logging; Expanded test suite for regression, crash recovery, and concurrency.

Dependencies

Sled 1.0 alpha release with Rust 2024 edition and dependency updates

The main crate has been renamed from 'rsdb' to 'sled' and bumped to version 1.0.0-alpha.124, adopting the Rust 2024 edition. This release updates several dependencies, including parking\_lot to 0.12.1, zstd to 0.12.4, and concurrent-map to 5.0.31, while adding new dependencies like cache-advisor, pagetable, and stack-map. A new fuzzing crate, 'bloodstone-fuzz', has been added to support libfuzzer-based testing, and the Cargo.lock file has been removed from the repository.

(dependencies) · high confidence

Housekeeping

Added CREDITS file for art assets; Initial project scaffolding and documentation.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 75 → 76 (+0.1)
  • Rubric changed (rubric-2026.09.9 → rubric-2026.09.17) — scores are not directly comparable.

Lenses

  • Code Health 87 → 87 (+0.0)
  • Architecture 99 → 99 (+0.3)
  • Maturity 60 → 62 (+1.8)
  • Readiness 93 → 90 (-2.3)
  • Security 86 → 86 (+0.0)

Resolved (2)

  • Documentation: contradicts the code (README.md)
  • Documentation: no installation or build instructions (README.md)

New (5)

  • Confusingly similar names for potentially inverse operations. update_and_fetch suggests updating first then fetching the new value, while fetch_and_update suggests fetching the old value then updating. While the order of words might imply the return value (fetch=return old, update=return new), the naming is not immediately intuitive and risks confusion with standard fetch_update patterns in other libraries (like std::collections::HashMap's entry API).
  • Dependency hygiene PARTLY measured — Cargo dependencies read, no committed lock to grade for currency
  • Inconsistent entry point for opening a database. sled.open is a convenience function that likely uses default config, while Db.open_with_config requires explicit configuration. This creates two different ways to achieve the same primary goal (opening a DB) with different signatures and implied defaults.
  • Inverted test pyramid
  • Redundant existence check. contains_key is a common pattern, but in Rust, get returning Option is the idiomatic way to check existence. Having both get and contains_key (which likely just calls get and checks for Some) adds API surface without significant benefit, especially since get is already present.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

spacejam/sled was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 29 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit e449d17111f4a097e1c66b6db241962ccb6a4136 — the exact code this score is about.
  • Scored under rubric-2026.09.17 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-705631bb727e.