Specifications overview¶
The repository keeps its normative rules under docs/specs/. Those files
define the architecture and implementation contracts the project depends on.
This page links to the ones most relevant to someone using go-cask as a
library, not to the internal maintenance/process files.
Start here¶
- cas-core — the canonical core library specification: every component contract, data flows, and concurrency guarantees
- object-versioning — versioned type names and model compatibility rules
- library-design — the exported-surface budget and compatibility policy
- versioning — semantic versioning and release process
- consistency — the mark-and-sweep GC and pruning model
- operations — durability, crash recovery, and integrity cadence
- testing-strategy — the test classes that prove the CAS invariants
What you will find¶
- object format and identity rules
- storage and backend contract expectations
- compatibility and migration guarantees
- versioning and release design
- viewer architecture, its reference states, and its security requirements — see the CLI README for the operator-facing explanation and the specs it links for the normative contracts
Why the website also includes a summary¶
The repository specs are authoritative. The website makes the project easier to navigate for new users: read the short architecture summary here, then follow a link directly to the specification you need.