Skip to content

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.