You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
(Claude) A date-filtered provider run should write a view of its window too #404
PR #403 (for #397) makes a date-filtered run of Claude Code transcripts write a view of its window:
the index lists only the projects and sessions the window shows, with the window's totals;
the run writes only into a destination that holds none of its pages, or over them with --force, removing nothing;
a view written outside the project's own directory leaves the render cache's rows alone.
The provider path (render_provider_wholesale, e.g. --provider codex, or a directory of rollouts) was left out of that change. Its date-filtered run still:
lists every project and session in its index;
writes over whatever is at the destination;
does not accept --force, which is rejected there with a usage error for now.
Proposal
Apply the same rules to the provider path. The pieces from PR #403 are in converter.py:
window_session_ids, the one reading of which sessions a window shows;
_project_window_view and _window_project_summary, for the index cards;
_window_view_files and WindowOutputExists, for the destination check.
The provider path groups sessions into projects by cwd and keeps its own cache under the output root. So the check, the index and the cache rule would sit in render_provider_wholesale, and --force would then be accepted there.
To check
Whether the provider path's cache marks pages written from a window as stale. If it does, the same in-place/elsewhere rule applies.
Its --clear-output with a date filter currently clears and then regenerates the filtered view. With the destination check, that sequence produces an empty destination, which passes the check without --force.
(Claude) One more thing to check when the provider path gets its window view, noted while reviewing #403 (from reading the code, not run).
Since #403, a date-filtered --all-projects run's recent page lists the window's sessions by (project path, session id) (RecentWindow.sessions in claude_code_log/recent.py), taken from the index's project cards, and looks them up in the cache's sessions table by projects.project_path (_window_session_rows). A provider project's card carries "path": dest_dir, its output directory (claude_code_log/converter.py, in the provider branch of the hierarchy pass), not a source directory. If provider sessions do sit in the sessions table, their key never matches, and a windowed run's recent page would leave them out without a word. Before #403 the recent page listed them by the clock.
Worth one look, and a test with a provider project in the window, as part of this issue.
Activity
cboos commentedon Nov 8, 2026
(Claude) One more thing to check when the provider path gets its window view, noted while reviewing #403 (from reading the code, not run).
Since #403, a date-filtered
--all-projectsrun's recent page lists the window's sessions by(project path, session id)(RecentWindow.sessionsinclaude_code_log/recent.py), taken from the index's project cards, and looks them up in the cache'ssessionstable byprojects.project_path(_window_session_rows). A provider project's card carries"path": dest_dir, its output directory (claude_code_log/converter.py, in the provider branch of the hierarchy pass), not a source directory. If provider sessions do sit in thesessionstable, their key never matches, and a windowed run's recent page would leave them out without a word. Before #403 the recent page listed them by the clock.Worth one look, and a test with a provider project in the window, as part of this issue.