# Specifications
Per-module design specifications for `petgraph-live`.
Each document covers: purpose, public API, implementation constraints, and test matrix.
| [spec-cache](spec-cache.md) | `cache::GenerationCache<G>` |
| [spec-algorithms](spec-algorithms.md) | `metrics`, `connect`, `shortest_path`, `mst` |
| [spec-snapshot](spec-snapshot.md) | `snapshot` (feature-gated) |
| [spec-live](spec-live.md) | `live::GraphState<G>` (feature-gated) |
| [spec-snapshot-lz4](spec-snapshot-lz4.md) | `snapshot-lz4` compression sub-feature |
| [spec-snapshot-lazy-meta](spec-snapshot-lazy-meta.md) | `inspect`/`list` without loading graph body |
## Feature flags
| _(default)_ | `cache`, `metrics`, `connect`, `shortest_path`, `mst` |
| `snapshot` | `snapshot`, `live` |
| `snapshot-zstd` | adds zstd compression to `snapshot` (implies `snapshot`) |
| `snapshot-lz4` | adds LZ4 compression to `snapshot` (implies `snapshot`) |