> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memvid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# File layout

> Tour the bytes that form a `.mv2` file

The kernel spec defines `.mv2` as a contiguous layout:

| Region           | Size             | Notes                                                                              |
| ---------------- | ---------------- | ---------------------------------------------------------------------------------- |
| Header           | 4096 bytes       | Contains magic, spec version (`SPEC_MAJOR=2`, `SPEC_MINOR=1`), WAL offsets         |
| Embedded WAL     | 1–64 MB          | Append-only log written before every commit (see [WAL protocol](/file-format/wal)) |
| Segments         | Variable         | Frames, blobs, text chunks, vector chunks stored sequentially                      |
| Index manifests  | Variable         | `IndexManifests` struct in the TOC references each index                           |
| Time Index Track | Variable         | Optional `TimeIndexManifest` (offset + length + checksum)                          |
| TOC              | Variable         | Serialized via `bincode` with cascading checksums                                  |
| Footer           | 48 bytes + magic | `CommitFooter` storing `toc_len`, `toc_hash`, and `generation`                     |

`CommitFooter::find_last_valid_footer` scans from the end of the file to locate the final valid footer, ensuring crash recovery always loads a consistent TOC.

> **Portability** - There are no `.shm`, `.wal`, or `.lock` siblings; locking uses in-file byte ranges via `FileLock`, and verification ensures single-file compliance.
