fix(prs): classify generated files and evals correctly#26563

merged3
main
GitHub fork: fix/pr-file-categories
opened3d agobyJjakeleventhal
View on GitHubTwo-way sync enabledPR last imported 1d ago

PR change breakdowns count Convex _generated/ output and evaluation files as Code. Recognize _generated/ as Generated, and .eval.* files and evals/ folders as Tests. Eval filenames use the existing (test|spec|e2e|eval) group.

This is a small, focused correction to the existing categories, with no new UI or workflow.

Validation:

  • Added one regression case per classification change: _generated/, .eval.ts, and evals/; all 8 classifier tests pass.
  • vp run check:changed upstream/main passed formatting, lint, knip, affected-package typechecks, and focused tests.
  • Runtime breakdown with generated output (+10/-1) and two eval files (+50/-5): Generated +10/-1, Tests +50/-5, Code 0/0.

Model: GPT-6.1-Sol. Harness: Codex in T3 Code.

Checks

24 successful · 15 skipped
All checks passed
6c86390

Added 2 commits

  • fix(prs): classify generated files and evals correctlycf6ce6e
  • fix(prs): classify eval files across extensions0ff8fbd
packages/shared/src/changedFileKind.test.tslines 11–14Outdated · 0ff8fbdOpen thread
……@@ -7,6 +7,11 @@ describe("classifyChangedFile", () => {
11+ ["src/agent.eval.ts", "tests"],
12+ ["src/agent.eval.js", "tests"],
13+ ["evals/title-generation.ts", "tests"],
14+ ["src/evals/agent.ts", "tests"],
MmacroscopeappBoton lines 11–143d ago

The .eval.js and nested evals/ rows repeat the same extension-agnostic regex and directory-segment checks as the adjacent rows. Could we keep one case for each behavior?

diff
1 ["src/agent.eval.ts", "tests"],
2- ["src/agent.eval.js", "tests"],
3 ["evals/title-generation.ts", "tests"],
4- ["src/evals/agent.ts", "tests"],

Posted via Macroscope — Test Signal

Note

🤖 GPT-6.1-Sol responding on behalf of Jake

Removed the duplicate .eval.js and nested evals/ cases, keeping one case per classification change. All 8 classifier tests and vp run check:changed upstream/main pass.

Sorry, I'm unable to act on this request because you do not have permissions within this repository.

Added 1 commit

  • test(prs): keep one case per classification behavior6c86390
Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review.

External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between 0ff8fbdf3c27c98352c5659ed3b0710b802a5709 and 6c86390b176fac4ec0dfb3d6ba6ff249c73fa48a.

External image Files selected for processing: 1
  • packages/shared/src/changedFileKind.test.ts
External image Files with no reviewable changes: 1
  • packages/shared/src/changedFileKind.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

Walkthrough

Changed-file classification now identifies paths under _generated as generated files and recognizes .eval. filenames and paths under evals as tests. Tests cover these classifications.

Changes: Changed file classification

Layer / File(s)Summary
Generated and evaluation-test classification
packages/shared/src/changedFileKind.ts, packages/shared/src/changedFileKind.test.ts
The classifier includes _generated as a generated-file directory. It recognizes .eval. filenames and the evals directory as tests. Added test cases cover these paths.

Priority: External image Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Suggested reviewers: t3dotgg

Merge Risk: External image Minimal · up to 6c863

No actionable merge-blocking risk is established for the classification update; it is ready for normal merge checks.

Pre-merge checks: Passed 4
Check nameStatusExplanation
Title checkPassedThe title clearly and concisely describes the main change: correcting classification of generated files and evals.
Description checkPassedThe description covers the problem, change, scope, and verification. It reports regression tests and focused checks with observed results. It does not use the template headings or explicitly document …
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description covers the problem, change, scope, and verification. It reports regression tests and focused checks with observed results. It does not use the template headings or explicitly document issue or maintainer approval, but it explains why this small fix is focused and obvious.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Synced from GitHub

Approvability

Verdict: Approved at 6c86390

Macroscope's review found this PR approvable — This updates PR file classification for generated directories and evaluation tests. Its effects are limited to change statistics and the existing user-controlled test-file filter, without changing product defaults.

Notes:

  • No code objects were reviewed. Approvability was decided on eligibility alone.

You can add or adjust custom eligibility rules. Learn more.

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

verified the evals/ correction in linux chrome against exact head 6c86390b176fac4ec0dfb3d6ba6ff249c73fa48a. no code changes were needed.

  • installed and ran github/main (97e35bcf23) in a separate worktree, then installed and ran the pr head. only one dev server ran at a time, with isolated state. drove the real web client using repo playwright and /usr/bin/google-chrome.
  • used existing merged #25782 only as read-only source data. hovering its stats on main showed code +4/-4, docs +1/-1. the pr head shows tests +5/-5, total +5/-5, in both list and detail tooltips. captured the real pullRequests.changeBreakdown websocket response with tests 5/5 and every other bucket 0/0.
  • created an actual git project and eight files through a real codex gpt-6.1-sol turn in the app. a second real turn on the pr head inspected the files successfully. a direct call to the server's toChangeBreakdown over those actual files changed code 4→1, tests 1→3, generated 1→2; docs and mocks stayed 1 each. this supplements the live tooltip proof, rather than claiming another provider-path check.
  • neighboring behavior: #26563 itself still shows code +3/-2, tests +3/-0, total +6/-2; code diffs expand correctly. an existing generated-file diff retained code +24/-7, tests +13/-1, generated +20/-185, total +57/-193.
  • blacksmith: all 8 existing classifier cases passed. vp run check:changed 125b61954dbba5822a8108c8ca47a4846b4b4328 passed formatting, lint, both knip passes, affected-package typechecks, and focused tests. fresh github rollup: 23 successful, 9 skipped, and native fingerprint cancelled; no failing or pending checks. git.cafe had summarized these as 32 successful.

short runtime transcript:

text
1web client -> pullRequests.changeBreakdown (github.com, pingdotgg/t3code, 25782)
2server -> Success: code 0/0, tests 5/5, mocks 0/0, generated 0/0, docs 0/0
3list tooltip -> Tests +5 -5; Total +5 -5

main: evals files counted as code and docs

pr head: the same files counted as tests

live list and detail tooltips, followed by the expanded code diff

the matching screenshots were inspected. the 12-second recording is embedded as an animation for github. its mp4 export was trimmed, inspected, uploaded, and played through with seeking in t3's browser.

Not verified

  • _generated/ without an already-recognized generated filename, and .eval.*, were covered by existing tests and the direct server-runtime check, but not by a live github tooltip. i did not find matching existing t3code pr data and did not create or modify another pr to manufacture it.
  • git.cafe breakdown tooltips: this head's git.cafe provider has no getFileStats, so the service returns null. github was the real source-control provider used for the live checks. this limitation predates this change.
  • native desktop, ios/android, macos/windows, and remote/relay connections were not exercised on this linux vm.

model: gpt-6.1-sol; harness: codex in t3 code.