Workspace Layout

Rinne keeps workspace history under .rinne/. This page shows the paths that exist in v0.9.7 and what each one is for.

Important

You may edit rinneignore.json, snapshots/<space>/<id>/note.md, and activity/settings.json.
Everything else under .rinne/ should be managed through rinne commands or the GUI.
Avoid manual edits to internal files such as manifest.db, filemeta.db, repair.db, activity.db, current, or the CAS, tree, and repair stores.

Key paths

Ignore rules
workspace/rinneignore.json

Rules that tell Rinne which paths to ignore during save, diff, validate, and related operations.

Workspace config
workspace/.rinne/config.json

Workspace-level defaults such as parallelism and compression level.

Snapshot history
workspace/.rinne/snapshots/

Snapshot directories grouped by space, plus the current space pointer.

Activity history
workspace/.rinne/activity/

Separate SQLite command history and its recording, retention, paging, and display settings.

Internal storage
workspace/.rinne/store/

ManifestDB, file metadata cache, normal CAS chunks, repair data, and tree objects used internally by Rinne.

Directory tree

Directories end with /. Files do not.

workspace/
|-- .rinne/
|   |-- .lock
|   |-- config.json
|   |-- activity/
|   |   |-- activity.db
|   |   `-- settings.json
|   |-- snapshots/
|   |   |-- current
|   |   `-- <space>/
|   |       `-- <id>/
|   |           |-- note.md
|   |           `-- snapshot/
|   |-- store/
|   |   |-- cas/
|   |   |-- filemeta.db
|   |   |-- manifests/
|   |   |   `-- manifest.db
|   |   |-- repair/
|   |   |   |-- repair.db
|   |   |   |-- cas/
|   |   |   `-- shards/
|   |   `-- trees/
|   `-- tmp/
`-- rinneignore.json

Note: paths under .rinne/ are internal implementation details and may change across versions. Use the CLI or GUI instead of manual edits.

What each part is for

rinneignore.json

Ignore rules for the workspace. Keep this file under version control if you want the same exclusion behavior across machines.

.rinne/config.json

Workspace-level defaults used by commands such as save, extract, restore, verify, and validate.

.rinne/activity/activity.db

SQLite database for CLI execution entries, UUIDv7 ids, BLAKE3 chain hashes, head metadata, and the retained anchor after pruning. It is separate from ManifestDB and the CAS.

.rinne/activity/settings.json

Activity recording and retention settings, including enabled state, stored text limits, retention days, maximum entries, maximum database bytes, list limits, short-id length, and automatic pruning. Recording is disabled by default.

.rinne/snapshots/current

Pointer to the current space. Commands resolve the active space from this file unless a CLI override is supplied.

.rinne/snapshots/<space>/<id>/

Snapshot record for one snapshot in one space. Each snapshot directory contains the user note and a snapshot/ folder reserved for snapshot-level data.

  • note.md - Optional user note for that snapshot.
  • snapshot/ - Snapshot-specific data reserved for Rinne internals.
.rinne/store/manifests/manifest.db

ManifestDB. This is the main snapshot metadata database used by save, diff, restore, history, verify, and related commands.

.rinne/store/filemeta.db

File metadata cache used to speed up incremental save decisions. This is cache data, not the source of truth for snapshots.

.rinne/store/cas/

Content-addressed chunk storage. Reused chunks are shared across snapshots instead of being copied for each snapshot.

.rinne/store/repair/

Repair data store used by repair and the desktop Repair window. It contains repair metadata, repair CAS data, and repair shards.

  • repair.db - RepairSet metadata and references.
  • cas/ - Repair content-addressed objects.
  • shards/ - Repair shard data used to recover normal CAS objects when possible.
.rinne/store/trees/

Tree objects used for snapshot directory structure storage and merge operations such as fuse.

.rinne/tmp/

Temporary files used internally during operations, recovery, and staging.

.rinne/.lock

Lock file used to prevent concurrent write-style operations against the same workspace.

Ops tips

  • If you copy or move a workspace, include .rinne/ together with your files to keep snapshot history.
  • Prefer CLI or GUI operations for integrity and cleanup instead of manual edits. Use repair prune or repair clear for repair data, and activity prune or activity clear --force for Activity history.
  • Treat files under .rinne/store/ and .rinne/activity/activity.db as internal implementation details even when their names are visible here.