Skip to content

chore: release hardening — non_exhaustive, missing_docs, cargo-deny, gitignore#11

Merged
27Bslash6 merged 2 commits into
mainfrom
chore/release-hardening
Apr 26, 2026
Merged

chore: release hardening — non_exhaustive, missing_docs, cargo-deny, gitignore#11
27Bslash6 merged 2 commits into
mainfrom
chore/release-hardening

Conversation

@27Bslash6
Copy link
Copy Markdown
Contributor

@27Bslash6 27Bslash6 commented Apr 25, 2026

Summary

  • Add #[non_exhaustive] to CachekitError and BackendErrorKind for semver safety
  • Enable #![warn(missing_docs)] and document all public items
  • Fix deny.toml schema for cargo-deny 0.19.x
  • Add MPL-2.0, BSL-1.0, CDLA-Permissive-2.0 to license allowlist
  • Update rustls-webpki 0.103.9 → 0.103.13 (RUSTSEC-2026-0049/0098/0099/0104)
  • Untrack CLAUDE.md, gitignore all AI agent configs

Test plan

  • cargo test --features "cachekitio,redis,encryption,l1,macros" — 105 tests passing
  • cargo clippy -- -D warnings — clean
  • cargo deny check — advisories ok, bans ok, licenses ok, sources ok
  • cargo fmt --check — clean
  • Verify #[non_exhaustive] on CachekitError and BackendErrorKind
  • Verify #![warn(missing_docs)] enabled in lib.rs

Summary by CodeRabbit

Release Notes

  • New Features

    • Added L1 cache metrics exposure including hit/miss counters and cache performance statistics.
    • Introduced response headers for cache metrics with hit-rate calculations.
  • Documentation

    • Expanded documentation across library modules for improved API clarity and configuration guidance.
  • Chores

    • Updated dependency policies and configuration management settings.

…deny fixes

- Add #[non_exhaustive] to CachekitError and BackendErrorKind for semver safety
- Enable #![warn(missing_docs)] and document all public items
- Fix deny.toml schema for cargo-deny 0.19.x (advisories field changes)
- Add MPL-2.0, BSL-1.0, CDLA-Permissive-2.0 to license allowlist
- Update rustls-webpki 0.103.9 → 0.103.13 (RUSTSEC-2026-0049/0098/0099/0104)
Internal development tooling (CLAUDE.md, .claude/, .caliber/, etc.)
should not ship in the public OSS repo.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 25, 2026

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: 44391e8d-ed65-444a-b688-5ff0234ed51f

📥 Commits

Reviewing files that changed from the base of the PR and between 6794911 and b67cddd.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (10)
  • .gitignore
  • CLAUDE.md
  • crates/cachekit/src/backend/mod.rs
  • crates/cachekit/src/error.rs
  • crates/cachekit/src/key.rs
  • crates/cachekit/src/l1/mod.rs
  • crates/cachekit/src/lib.rs
  • crates/cachekit/src/metrics.rs
  • crates/cachekit/src/url_validator.rs
  • deny.toml
💤 Files with no reviewable changes (1)
  • CLAUDE.md

📝 Walkthrough

Walkthrough

This pull request adds comprehensive module and item documentation across the cachekit library, introduces breaking changes via #[non_exhaustive] attributes on error types, adds new metrics API surface (L1Stats, MetricsProvider), updates cargo-deny configuration with new allowed licenses, removes AI documentation (CLAUDE.md), and updates .gitignore patterns.

Changes

Cohort / File(s) Summary
Documentation & Linting
crates/cachekit/src/lib.rs, crates/cachekit/src/backend/mod.rs, crates/cachekit/src/key.rs, crates/cachekit/src/l1/mod.rs, crates/cachekit/src/url_validator.rs
Adds crate-level #![warn(missing_docs)] lint and rustdoc comments for modules, types, and public functions to improve API documentation coverage.
Breaking API Changes
crates/cachekit/src/error.rs
Adds #[non_exhaustive] attributes to CachekitError and BackendErrorKind enums; reformats PayloadTooLarge variant to multi-line struct-style with documented fields.
New Metrics API
crates/cachekit/src/metrics.rs
Introduces L1Stats struct and MetricsProvider type alias alongside documentation for metrics_headers function to expose cache hit/miss statistics and computed hit-rate headers.
Configuration & Ignore
deny.toml, .gitignore
Updates cargo-deny policy with new allowed licenses (BSL-1.0, CDLA-Permissive-2.0, MPL-2.0) and workspace-scoped unmaintained handling; adds .gitignore patterns for AI agent configuration files.
Documentation Removal
CLAUDE.md
Deletes entire file containing Rust SDK structure, features, quick-start, build examples, and environment variable documentation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 Docs now flourish, bright and clear,
Non-exhaustive types appear!
Metrics bloom with stats so fine,
L1 hits and misses align,
A polished library for all to cheer!


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@27Bslash6 27Bslash6 merged commit 73ea826 into main Apr 26, 2026
5 checks passed
@27Bslash6 27Bslash6 deleted the chore/release-hardening branch April 26, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant