Skip to content

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.

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

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.

The crate-level API map and item documentation live with the Rust source. Build the complete local Rustdoc, including feature-gated items, with:

Terminal window
$ cargo doc --all-features --no-deps --open

The Rust API reference explains how those items compose; it does not duplicate every method signature.