POSIX Compliance
Chronicle supports all standard file operations:| Operation | FUSE Method | Description |
|---|---|---|
open() | open | Open file for reading/writing |
read() | read | Read file content |
write() | write | Write file content (creates new iteration) |
mkdir() | mkdir | Create directory |
unlink() | unlink | Delete file (creates deletion iteration) |
rename() | rename | Rename/move file |
chmod() | setattr | Change permissions |
stat() | getattr | Get file metadata |
readdir() | readdir | List directory contents |
symlink() | symlink | Create symbolic link |
Versioning
Every write operation creates a new iteration:- Agent writes to
workspace/main.py - Chronicle intercepts the
write()call - New content is stored in CAS (BLAKE3 hashed, Zstd compressed)
- A new iteration row is inserted in SQLite
- The file’s
content_hashanditerationcounter are updated - The
write()call returns to the agent
Magic File API
Chronicle exposes version history via virtual paths under.chronicle/:
Performance
Metadata Cache
An in-memory DashMap cache eliminates SQLite queries for hot-path metadata lookups (getattr, readdir). Cache entries are invalidated on writes.Read Cache
Recently read file content is cached in memory with LRU eviction, avoiding repeated CAS lookups for frequently accessed files.Backends
fuser (default)
Uses thefuser Rust crate which interfaces with macFUSE (macOS) or libfuse (Linux):
- Mature and well-tested
- Requires macFUSE kernel extension on macOS
- Full POSIX support
FSKit (macOS 15.4+)
Native macOS filesystem provider — no kernel extension required:- Uses
fskit-rsRust bindings - No SIP (System Integrity Protection) issues
- Automatic detection on supported macOS versions
- Build with
--no-default-features --features native-fskit