Skip to content

Run history: list and inspect previous runs, not just the latest #74

Description

@that-github-user

Problem

thinktank list only shows results from the most recent run. All previous runs are stored as .thinktank/run-<timestamp>.json files but there is no way to:

  • List all past runs
  • Re-apply a result from a previous run
  • Compare results across runs
  • Clean up old run files

As runs accumulate, .thinktank/ grows indefinitely with no management tools.

Proposed Solution

thinktank list --all

List all past runs in reverse chronological order:

Past runs (7 total, 23 MB):

  #  Date                  Agents  Best  Tests  Convergence
  ─────────────────────────────────────────────────────────
  1  2026-03-28 14:23:01       5     3   4/5    Strong consensus
  2  2026-03-28 11:05:44       3     1   3/3    Moderate agreement
  3  2026-03-27 09:12:33       5     2   2/5    Divergent approach
  ...

Use: thinktank list --run 2    to inspect a specific run
     thinktank apply --run 2   to apply from a previous run

thinktank list --run <N>

Show full agent results for run N (same as current thinktank list but for any run).

thinktank apply --run <N> --agent <M>

Apply agent M's diff from run N (not just the latest run).

thinktank clean

Interactively clean up old run files:

$ thinktank clean
Found 12 run files (45 MB). Keep last N runs? [5]: 
Deleted 7 run files (32 MB freed).

Or non-interactively: thinktank clean --keep 5

Acceptance Criteria

  • thinktank list --all lists all runs in .thinktank/ in reverse chronological order
  • thinktank list --run <N> shows detailed results for a specific run by its position in the list
  • thinktank apply --run <N> [--agent <M>] applies from a historical run
  • thinktank clean [--keep N] deletes old run files, keeping the N most recent (default: 10)
  • All commands handle empty history gracefully
  • Run index is computed from file timestamps (no separate index file needed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions