# cache-mod v0.1.0 — Initial scaffold

**Repository bootstrap.** This is the seed commit for `cache-mod`: project structure, standards, dual-licensing, and cross-platform CI in place so that real implementation work can begin in 0.2.0. No public cache API surface yet — pin to a future minor release once `0.2.0` lands.

## What is cache-mod?

High-performance in-process caching for Rust with multiple eviction policies planned (LRU, LFU, TinyLFU, TTL, size-bounded). Async-safe, lock-minimized internals. Typed key-value API. No dependency on any external store.

## What's in 0.1.0

Scaffolding only — no cache types are exposed yet. The work that landed in this release is the foundation everything else builds on:

- **Repository structure.** `src/`, `tests/`, and `.github/` laid out for a single-crate library. `src/lib.rs` exposes one public symbol — the `VERSION` constant populated by Cargo — gated behind a strict REPS-disciplined lint configuration (`deny(missing_docs)`, `deny(clippy::unwrap_used)`, `deny(clippy::expect_used)`, `deny(clippy::todo)`, `deny(clippy::unimplemented)`, `deny(clippy::print_stdout)`, `deny(clippy::print_stderr)`, `deny(clippy::dbg_macro)`, `deny(clippy::undocumented_unsafe_blocks)`, `deny(clippy::missing_safety_doc)`, `deny(unsafe_op_in_unsafe_fn)`, `deny(unused_must_use)`, `deny(unused_results)`).
- **Cargo manifest.** MSRV pinned at Rust 1.75, edition 2024, dual-licensed Apache-2.0 OR MIT. `default = ["std"]` with a `std` feature flag and `no_std` shim wired through `lib.rs`. Release / bench profiles tuned for size and speed (`opt-level = 3`, `lto = "fat"`, `codegen-units = 1`, stripped symbols on release).
- **Documentation.** `README.md` with crates.io / docs.rs / CI / MSRV badges and project summary. `CHANGELOG.md` in Keep a Changelog format. `REPS.md` placeholder anchoring the standards model.
- **Licensing.** `LICENSE-APACHE` and `LICENSE-MIT` both present at repo root.
- **Tooling.** `rustfmt.toml`, `clippy.toml`, `.editorconfig`, `.gitignore`.
- **CI.** `.github/workflows/ci.yml` running the matrix on Linux, macOS, and Windows against both Rust stable and the MSRV (1.75), using Node 24 for the workflow runtime.

## Breaking changes

**None.** This is the initial release — no prior API to break. Pre-1.0 versioning applies: every minor bump may include breaking changes until the 1.0 freeze.

## Known issues

Baseline CI runs against the scaffold do not yet pass cleanly. The matrix is wired correctly; the failures are environmental shake-out, not real test or build regressions. These are explicitly **carried forward to 0.2.0** rather than backported here — the scaffold release is dated and tagged as-is so that fix work happens against the foundation release rather than getting folded into setup churn.

## Verification

What was checked locally on Windows x86_64 before tagging:

```bash
cargo fmt --all -- --check
cargo build
cargo test
```

All green on the local toolchain. The cross-platform matrix surfaces the known shake-out items listed above.

## What's next

`0.2.0 — Foundation`. Public types, public traits, module layout, error type, the first end-to-end smoke test, and resolution of the carry-forward CI items from this release.

The fast-track to 1.0 follows the same shape used across the rest of this author's recent crates:

- `0.2.0` — first real implementation
- `0.5.0` — most features in place
- `0.9.0` — feature-complete, hardening pass
- `0.9.x` — audit findings
- `1.0.0` — stable, API frozen

## Installation

```toml
[dependencies]
cache-mod = "0.1"
```

MSRV: Rust 1.75. Edition 2024. `default-features = ["std"]`.

## Documentation

- [README](https://github.com/jamesgober/cache-mod/blob/main/README.md)
- [CHANGELOG](https://github.com/jamesgober/cache-mod/blob/main/CHANGELOG.md)
- [REPS standards](https://github.com/jamesgober/cache-mod/blob/main/REPS.md)

---

**Tag:** [`v0.1.0`](https://github.com/jamesgober/cache-mod/releases/tag/v0.1.0).
**Changelog:** [`CHANGELOG.md`](https://github.com/jamesgober/cache-mod/blob/main/CHANGELOG.md#010---2026-05-18).
