Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR changes production startup behavior by suppressing pull-request discovery for older settled threads, rather than merely optimizing an unchanged path. Although the implementation is small and tested, the cutoff can affect whether significant Git/GitHub processing and PR links are created after restarts. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughStartup backfill now queues settled threads without a branch pull request only when their settlement timestamp is within the previous seven days. If ChangesStartup backfill
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The seven-day startup backfill limit has no identified issue requiring a fix before merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
d548f23 to
80bd4c8
Compare
80bd4c8 to
8872666
Compare
…read Each boot marked every settled branch thread without a saved PR for discovery. A "no PR" answer is not saved, so every restart repeated the whole pass: 4-6 git spawns per thread plus a gh call, retried up to 5 times. With gh missing, the scale bench measured about 3,850 git spawns/min, 17k spans/min and 24 MB/min of trace for about 5 min after each boot. The backfill came from #10101 as a one-time migration. Limit it to threads settled in the last 7 days (BACKFILL_WINDOW). The check uses settledAt, not updatedAt: auto-settle stamps updatedAt with the settle time, so a mass auto-settle would put every old thread back in the window. A branch or link change on a settled thread still gets its own single-thread pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Every server restart ran pull request discovery again for every settled branch thread with no saved PR. A "no PR" result is not saved, so each boot repeated the full pass: several git spawns and a
ghcall per thread, and up to 5 lookups per thread whenghfails. On a 5,000-thread scale bench withghmissing, that was about 3,850 git spawns/min for about 5 minutes after each boot.Fix
The startup backfill from #10101 now only covers threads settled in the last 7 days (
BACKFILL_WINDOW).The check uses
settledAt, notupdatedAt. Auto-settle setssettledAtto the last activity, but setsupdatedAtto the settle time. WithupdatedAt, one mass auto-settle would put every old thread back in the window for a week of restarts.Decision: 7-day window or delete the backfill
The backfill was a one-time migration for threads from before #10101 (merged 2026-09-06, shipped in v0.0.39). Since v0.0.39, the 1-minute pass checks every unsettled branch thread, so each thread is checked until it settles. The backfill only matters for a settled thread with no saved PR.
ghlater, or open a PR outside T3 Code after the thread settledIn both lost cases, unsettling the thread runs discovery again. Deleting also removes the retry state in the reactor (about 50 lines) and 2 of its tests.
I kept the window because it is the smaller behavior change. Deleting it is an easy follow-up if we prefer that.
Verification
vp test run apps/server/src/orchestration/ThreadPullRequestReactor.test.ts: 16 passed, including the unsettled-vs-full-read parity test from #13765.settledAt, recentupdatedAt). Only the recent one gets a sync. Keying the check onupdatedAtmakes it fail.vp lintandvp fmton the changed files, andvp run --filter t3 typecheck.Made by Claude Opus 5.5 (1M context) in Claude Code, running in T3 Code.
🤖 Generated with Claude Code