Reference
Use this section when you need the exact spelling or behavior of a Casita interface. For an introduction, start with the Quick Start, then read the task-oriented CLI or Library guide.
Reference map
Section titled “Reference map”| Topic | Use it to answer |
|---|---|
| CLI | Which commands and flags exist, what they print, and which features they require |
| Rust API | Supported application workflows, identities, errors, and reports |
| Experimental Rust API | Custom backend composition, formats, sessions, and protocols |
| Identifiers | How object keys, digests, roots, revisions, paths, refs, and SSH endpoints are validated |
| Object formats | Which namespaces are built in, how they derive identity, and which links they retain |
| Cargo features | Build requirements for the CLI, native storage, Git, SSH, S3, and experimental APIs |
| Local repository | What the standard persistent profile stores and how processes coordinate |
| Benchmarks | How end-to-end performance results are generated, validated, and compared |
| Errors and integrity | How to classify failures, decide about retries, and interpret fsck |
Contract levels
Section titled “Contract levels”Casita documents three different kinds of fact:
- Frozen encodings and semantics are compatibility contracts. The object formats reference summarizes them, and their golden vectors in the test suite pin the exact byte layouts.
- Public Rust and CLI interfaces describe the current pre-release revision. They may evolve even when the frozen data they read remains compatible.
- Physical implementation details, such as chunk sizes, compression, and local filenames, are operationally useful but are not logical object identity. They are labeled as private where they appear.
When a summary here and a normative specification disagree, use the specification for durable encoding questions and report the documentation discrepancy.
Exact API documentation
Section titled “Exact API documentation”The crate-level API map and item documentation live with the Rust source. Build the complete local Rustdoc, including feature-gated items, with:
$ cargo doc --all-features --no-deps --openThe Rust API reference explains how those items compose; it does not duplicate every method signature.