flightrec is a Rust daemon that snapshots your filesystem, diffs every change, and writes the record your agents will not. Git-like observability for AI agents — no SDK, no instrumentation, no cloud.
cargo install flightrec
COPIED
You give an agent access to your filesystem, your configuration, your codebase. It runs. It does things. Then it reports back in natural language, optimistically, from its own perspective.
That is not observability. Agents optimize for completion, not for accuracy in their self-reports. The log is a narrative, not a record.
flightrec sits outside the agent. It watches at the filesystem layer — the only layer that cannot lie — and builds a timestamped, content-addressable, diffable record of what actually happened.
Agents narrate their intent. Not their actions. There’s a difference.
The filesystem does not lie.
objects/
2a/
4f8c1b... src/main.rs
sha256:2a4f8c1b9d
7e/
3d1a0c... Cargo.toml
sha256:7e3d1a0c42
b5/
92ef4a... src/config.rs
sha256:b592ef4a81
manifest.json
roots: ["./"]
files: 18
ts: 1749800100
flightrec watch --onceflightrec diff <snap-a> <snap-b>Added blobstore module with content-addressable storage. Modified lib.rs to export the new blobstore public API. Removed SPEC.md (superseded by docs/architecture.md). Net: 3 files changed. +1 added src/blobstore.rs ~1 modified src/lib.rs -1 removed SPEC.md
flightrec report <diff-id>cargo install flightrec
COPIED
brew install zakelfassi/tap/flightrec
COPIED
GitHub Releases
— linux amd64/arm64, macOS amd64/arm64
Run flightrec init to
write a starter config to ~/.flightrec/config.toml.
The FLIGHTREC_HOME environment variable
overrides both the config location and storage root — useful for hermetic test runs
or multiple isolated recording environments.
Every key has a safe default. Point it at a directory, run
flightrec watch,
and you have a record.
# ~/.flightrec/config.toml # generated by: flightrec init [watch] roots = ["~/projects/my-app"] # watch roots [filter] include = ["**/*.rs", "**/*.toml", "**/*.md"] exclude = ["**/.git/**", "**/target/**"] [daemon] interval_seconds = 60 # polling interval [llm] enabled = true provider = "anthropic" # anthropic | openai | ollama model = "claude-haiku-4-5" [output] json_log_dir = "~/.flightrec/logs"
Run flightrec alongside any coding agent — Claude, Codex, or any local model. The snapshot-to-snapshot diff is a ground-truth record of every file the agent touched, independent of its git operations or self-reported summary.
Multi-agent systems that operate on shared filesystems, configuration directories, or model artifact stores need external audit capability. flightrec records who changed what, when, across any number of concurrent agent sessions.
Robots writing calibration configs. CI pipelines generating build artifacts. Edge devices updating local state. If a process touches a filesystem, flightrec can observe it without any instrumentation on the process side.