Skip to content

Lazy-load Codebase Evolution history and enable revision graphs#41

Merged
forhappy merged 1 commit into
mainfrom
codex/codebase-evolution-lazy-history
Jul 26, 2026
Merged

Lazy-load Codebase Evolution history and enable revision graphs#41
forhappy merged 1 commit into
mainfrom
codex/codebase-evolution-lazy-history

Conversation

@forhappy

Copy link
Copy Markdown
Contributor

What changed

  • Paginate Codebase Evolution history, loading the newest 100 commits first and fetching additional pages as the user scrolls.
  • Batch Git metadata reads and cache timeline pages plus latest revision-job status.
  • Reject stale timeline generations and restart pagination when repository refs change.
  • Add an in-view Enable revision graphs action with code-only and default-profile choices.
  • Keep the history status cache crash-consistent, backward-compatible with legacy queues, and synchronized with garbage collection.
  • Document the new timeline pagination contract and extension workflow.

Why

Codebase Evolution previously traversed every reachable commit and spawned a separate Git metadata command for each commit before rendering anything. Large repositories therefore had a long initial wait. When revision graphs were disabled, the panel only told users to configure history elsewhere and offered no direct recovery action.

Impact

Users see recent history quickly, can continuously load older commits, and can enable revision graphs without leaving Codebase Evolution. Existing CLI clients retain the unpaginated behavior unless they advertise the pagination capability.

Validation

  • cargo test -p compass-history
  • cargo test -p compass-cli --test history_cli
  • cargo test -p compass-cli --test capabilities_cli
  • Viewer and VS Code TypeScript typechecks
  • Viewer unit tests: 33 passed
  • VS Code unit tests: 39 passed
  • Codebase Evolution Playwright tests: 12 passed
  • git diff --check
  • graphify update .

@forhappy
forhappy marked this pull request as ready for review July 26, 2026 02:19
@forhappy
forhappy merged commit 64e3445 into main Jul 26, 2026
1 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant