How it reads your logs
nightreel never phones home. It reads files already on your disk, derives facts from them, and writes files next to them.
What it reads
- Claude Code
-
~/.claude/projects/<encoded-cwd>/<session>.jsonl, plus subagent files folded into the parent session. Unknown record types are tolerated and counted; malformed lines are skipped and counted. - Codex CLI
-
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl, picked automatically when you pass--root ~/.codex. - git
- Commits and line counts inside the window, and the final HEAD, from the project's repository.
What it computes
- Phases: explore, build, verify, fix, idle — from which tools ran when.
- Error arcs: consecutive failures of one command until it next succeeds; the longest is the hardest moment.
- Hotspots: files by edit count and lines changed, with errors attributed to them.
- Claims: completion statements in the final message, checked against the last verify run after the last edit — verified, contradicted or unverified.
-
A number validator: anything spoken or captioned in the reel must appear in
facts.json, or the render fails.
What it redacts
Before any string reaches a debrief, a storyboard or a frame:
-
API keys and tokens: OpenAI/Anthropic
sk-, AWSAKIA, GitHubghp_, Slack, Stripe, bearer tokens, JWTs. -
Private-key blocks,
.env-styleKEY=valueandkey: valuesecrets, credentials in URLs. -
Email addresses, and
/home/youor/Users/youpaths, replaced with~. -
With
--redact strict, prompts are replaced with a one-line generic summary.
The demo transcripts contain fake secrets on purpose; the test suite asserts that none of them survive into any output, and the events listed on the overview page went through the same redaction.
What it does not do
- No network requests. No telemetry. No accounts.
-
No model calls unless you opt in with
--llm ollama, which only rephrases narration and is rejected if a number changes.
The sessions it found in the demo data
$ nightreel ls --root src/nightreel/demo_data/transcripts
3 session(s) · 175 events
┏━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━━┳━━━━━┳━━━━━━━━━━━━━┓
┃ ┃ started ┃ ┃ ┃ ┃ ┃ ┃ ┃
┃ session ┃ (UTC) ┃ ended ┃ events ┃ edits ┃ errors ┃ sub ┃ cwd ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━━╇━━━━━╇━━━━━━━━━━━━━┩
│ a3f1c2d4 │ 2026-09-30 │ 23:18 │ 69 │ 8 │ 4 │ 1 │ /home/dev/… │
│ │ 22:05 │ │ │ │ │ │ │
│ b7e2d3c4 │ 2026-10-01 │ 02:13 │ 81 │ 17 │ 7 │ 0 │ /home/dev/… │
│ │ 01:00 │ │ │ │ │ │ │
│ c9d4e5f6 │ 2026-10-01 │ 04:52 │ 25 │ 5 │ 0 │ 0 │ /home/dev/… │
│ │ 04:10 │ │ │ │ │ │ │
└──────────┴─────────────┴───────┴────────┴───────┴────────┴─────┴─────────────┘