Skip to content

Per-session file-change & git-event activity timeline panel #58

@AThraen

Description

@AThraen

Generated from a competitor-analysis pass (TerminalConductor, May 2026).

Summary

A right-side panel (slide-in like Notes / Run drawer) showing a per-session timeline of structural events: file modifications inside the working folder, git operations, and run-command lifecycle events.

Motivation

OutputIndexer already captures all PTY text into FTS5, but it's unstructured. After Claude does 20 things, the user can't tell "what files just changed" without paging through the scrollback. A structured timeline is a direct answer to "what did this session just do?".

Proposed behaviour

Data sources

  1. File changesFileSystemWatcher on ShellSession.WorkingFolder, recursive. Events: Created / Changed / Deleted / Renamed. Filter out .git/, node_modules/, bin/, obj/, target/, dist/, .next/, .venv/. Debounce rapid same-file changes within 250ms.
  2. Git events — re-use GitService. On every poll (already triggered by PTY-idle from AlertDetector), compare current HEAD + branch to last-seen and emit:
    • branch switched: <old> → <new>
    • commit <short-sha> <first line of subject>
  3. Run-command events — hook SessionRunner lifecycle:
    • ▶ ran "<label>"
    • ✓ "<label>" exited 0 / ✗ "<label>" exited <n>

UI

  • Toggle button in the terminal toolbar (next to ▶ chip strip).
  • Slide-in panel on the right (matching Notes drawer style).
  • One row per event: timestamp (relative, e.g. "3s ago"), icon (📄 / ⎇ / ▶), text.
  • Color-coded by category. Click a file row → open in default editor (Process.Start with the path).
  • Capped at last 200 events per session, in-memory only.

SSH sessions

No FileSystemWatcher (no local folder). Hide the panel entirely for IsRemote == true, OR show only run-command events if we add SSH-side runs later. Skip for now.

Out of scope

  • Persisting the timeline across runs (in-memory only to start).
  • Cross-session aggregation (per-session is plenty).
  • File diff preview on click (just open the file).
  • Watching files outside the working folder.

Inspiration

TerminalConductor's "Activity Feed" left panel — file-change events, git timeline, agent metrics. See https://terminalconductor.com/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions