Skip to content

server: the per-turn checkpoint reuses the git index cache instead of re-hashing the whole checkout — upstream #10792 carried ahead - #944

Merged
deathemperor merged 4 commits into
mainfrom
checkpoint-index-reuse
Sep 12, 2026
Merged

server: the per-turn checkpoint reuses the git index cache instead of re-hashing the whole checkout — upstream #10792 carried ahead#944
deathemperor merged 4 commits into
mainfrom
checkpoint-index-reuse

Conversation

@deathemperor

Copy link
Copy Markdown
Owner

Every completed turn's checkpoint (GitVcsDriver.checkpoints.captureCheckpoint) built its private index from scratch — read-tree HEAD into a temp GIT_INDEX_FILE, then git add -A -- . — so git re-hashed every tracked file each time. On the user's banyan checkout (34k tracked files) that is 13 s on an idle machine and more under load; VcsProcess kills git at its 30 s default, and the turn ends with the red "Checkpoint capture failed — VCS process timed out … after 30000ms" rows the user reported. The turn itself completes; the CLI never checkpoints, so it never shows this. Upstream tracks it as pingdotgg/t3code#3646.

This carries upstream's open fix pingdotgg/t3code#10792 ahead of the sync, its three commits cherry-picked with -x: the capture seeds its private index from the workspace index and resets it to HEAD keeping matching stat metadata, so add -A re-hashes only what changed; the source index's timestamp is restored conservatively so racy entries are still revalidated, filesystem-monitor state is discarded, and the fresh-index path stays as the fallback when the index is missing, corrupt, truncated or carries assume-unchanged / skip-worktree flags. The workspace index is never written. Measured on banyan with a throwaway index: git add -A 13.1 s from a fresh index, 1.2 s from a copy of the real one.

One conflict in GitVcsDriver.test.ts (the fork's later "restores empty checkpoints" test sat where upstream inserted its fixture) resolved by keeping both. INFINITUS.md registers the file as a carried-ahead upstream fix — a sync conflict there is resolved toward upstream, and the entry goes when #10792 lands — and the changelog gets a Desktop line.

Checks: GitVcsDriver, VcsProcess and checkpoint tests 34 green, server typecheck 0 errors, lint and vp fmt --check clean.

Device check

After the next desktop install: run a few turns on the banyan thread. No "Checkpoint capture failed" rows appear, and git for-each-ref refs/t3/checkpoints in that checkout lists a ref per turn. A repo whose index git cannot read still checkpoints through the old path.

🤖 Generated with Claude Code

im-kvijay and others added 4 commits September 12, 2026 12:03
(cherry picked from commit e2e772fb55ca6c7ad57907000a90b2302c181fba)
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MuXZq7e88R9sNjXDCj8Yx
(cherry picked from commit 8679610012cbdf40ad843fd12591053f108ccda9)

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MuXZq7e88R9sNjXDCj8Yx
(cherry picked from commit 5d0afd8d6d554fceb2be896fbe8e64601a97624b)

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MuXZq7e88R9sNjXDCj8Yx
…log line (#10792 upstream)

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MuXZq7e88R9sNjXDCj8Yx
@deathemperor
deathemperor enabled auto-merge (squash) September 12, 2026 05:08
@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown

ECC Tools / Security Evidence

Commit: fdc28e40db6f1d54030699431f1f92d1a24c8753

Security evidence gate passed (success)

No security-sensitive scanner-evidence gap detected.

Mode: enforce

Scanned 4 changed file(s). No missing scanner-evidence signal was detected.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown

ECC Tools / PR Risk Taxonomy

Commit: fdc28e40db6f1d54030699431f1f92d1a24c8753

PR taxonomy review recommended (neutral)

Detected 1 PR taxonomy bucket(s): CI/CD Recommendation.

Scanned 4 changed file(s).

Roadmap taxonomy buckets:

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • 1 CI or workflow path(s) changed

Paths:

  • apps/server/src/vcs/GitVcsDriver.test.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown

ECC Tools / Reference Set Readiness

Commit: fdc28e40db6f1d54030699431f1f92d1a24c8753

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 4 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown

ECC Tools / Hosted Promotion Readiness

Commit: fdc28e40db6f1d54030699431f1f92d1a24c8753

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 4 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 53 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: d1f80534-50c1-4024-b78f-3295732db273

📥 Commits

Reviewing files that changed from the base of the PR and between ef8123a and fdc28e4.

📒 Files selected for processing (4)
  • INFINITUS.md
  • apps/mac/CHANGELOG.md
  • apps/server/src/vcs/GitVcsDriver.test.ts
  • apps/server/src/vcs/GitVcsDriver.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 effective changed lines (test files excluded in mixed PRs). labels Sep 12, 2026
@deathemperor
deathemperor merged commit 988977c into main Sep 12, 2026
23 checks passed
@deathemperor
deathemperor deleted the checkpoint-index-reuse branch September 12, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants