From cf6ce6e6297dec8dd32199839474c243e5c87be6 Mon Sep 17 00:00:00 2001 From: Jake Leventhal Date: Wed, 28 Oct 2026 12:45:58 -0400 Subject: [PATCH 1/3] fix(prs): classify generated files and evals correctly --- packages/shared/src/changedFileKind.test.ts | 4 ++++ packages/shared/src/changedFileKind.ts | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/shared/src/changedFileKind.test.ts b/packages/shared/src/changedFileKind.test.ts index a3c7ee1f3f00f..e5b523fe3d645 100644 --- a/packages/shared/src/changedFileKind.test.ts +++ b/packages/shared/src/changedFileKind.test.ts @@ -7,6 +7,10 @@ describe("classifyChangedFile", () => { ["src/contest.py", "code"], ["test/fixtures/pr.json", "mocks"], ["pnpm-lock.yaml", "generated"], + ["convex/_generated/api.d.ts", "generated"], + ["src/agent.eval.ts", "tests"], + ["evals/title-generation.ts", "tests"], + ["src/evals/agent.ts", "tests"], ["README.md", "docs"], ["tests/README.md", "tests"], ] as const)("%s is %s", (path, kind) => { diff --git a/packages/shared/src/changedFileKind.ts b/packages/shared/src/changedFileKind.ts index 9fd5c0c7edc79..c6f9a3d406908 100644 --- a/packages/shared/src/changedFileKind.ts +++ b/packages/shared/src/changedFileKind.ts @@ -26,7 +26,7 @@ const GENERATED_FILES = new Set([ ]); const GENERATED_NAME = /(\.generated\.|\.gen\.|\.g\.dart$|\.pb\.go$|_pb2(_grpc)?\.py$|\.pb\.(cc|h)$|\.min\.(js|css)$|\.(js|css)\.map$)/; -const GENERATED_DIRS = new Set(["__generated__", "generated"]); +const GENERATED_DIRS = new Set(["__generated__", "_generated", "generated"]); const MOCK_NAME = /(\.snap$|\.(mocks?|fixtures?|stubs?|fakes?)\.[^.]+$|^(mocks?|fixtures?|stubs?|fakes?)([-_.A-Z]|$))/; @@ -44,7 +44,7 @@ const MOCK_DIRS = new Set([ ]); const TEST_NAME = - /(\.(test|spec|e2e)\.[^.]+$|_(test|spec)\.[^.]+$|^test_.+\.py$|^conftest\.py$|^(vitest|jest)\.setup\.[^.]+$)/i; + /(\.(test|spec|e2e)\.[^.]+$|\.eval\.ts$|_(test|spec)\.[^.]+$|^test_.+\.py$|^conftest\.py$|^(vitest|jest)\.setup\.[^.]+$)/i; // Case-sensitive: `FooTest.java` is a test class, `Latest.java` is not. const CLASS_TEST_NAME = /(Tests?|Spec)\.(java|kt|kts|scala|groovy|cs|php|swift|m)$/; const TEST_DIRS = new Set([ @@ -52,6 +52,7 @@ const TEST_DIRS = new Set([ "__test__", "cypress", "e2e", + "evals", "spec", "specs", "test", From 0ff8fbdf3c27c98352c5659ed3b0710b802a5709 Mon Sep 17 00:00:00 2001 From: Jake Leventhal Date: Wed, 28 Oct 2026 12:48:43 -0400 Subject: [PATCH 2/3] fix(prs): classify eval files across extensions --- packages/shared/src/changedFileKind.test.ts | 1 + packages/shared/src/changedFileKind.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/shared/src/changedFileKind.test.ts b/packages/shared/src/changedFileKind.test.ts index e5b523fe3d645..1e3be9f824485 100644 --- a/packages/shared/src/changedFileKind.test.ts +++ b/packages/shared/src/changedFileKind.test.ts @@ -9,6 +9,7 @@ describe("classifyChangedFile", () => { ["pnpm-lock.yaml", "generated"], ["convex/_generated/api.d.ts", "generated"], ["src/agent.eval.ts", "tests"], + ["src/agent.eval.js", "tests"], ["evals/title-generation.ts", "tests"], ["src/evals/agent.ts", "tests"], ["README.md", "docs"], diff --git a/packages/shared/src/changedFileKind.ts b/packages/shared/src/changedFileKind.ts index c6f9a3d406908..d47a2def0392a 100644 --- a/packages/shared/src/changedFileKind.ts +++ b/packages/shared/src/changedFileKind.ts @@ -44,7 +44,7 @@ const MOCK_DIRS = new Set([ ]); const TEST_NAME = - /(\.(test|spec|e2e)\.[^.]+$|\.eval\.ts$|_(test|spec)\.[^.]+$|^test_.+\.py$|^conftest\.py$|^(vitest|jest)\.setup\.[^.]+$)/i; + /(\.(test|spec|e2e|eval)\.[^.]+$|_(test|spec)\.[^.]+$|^test_.+\.py$|^conftest\.py$|^(vitest|jest)\.setup\.[^.]+$)/i; // Case-sensitive: `FooTest.java` is a test class, `Latest.java` is not. const CLASS_TEST_NAME = /(Tests?|Spec)\.(java|kt|kts|scala|groovy|cs|php|swift|m)$/; const TEST_DIRS = new Set([ From 6c86390b176fac4ec0dfb3d6ba6ff249c73fa48a Mon Sep 17 00:00:00 2001 From: Jake Leventhal Date: Wed, 28 Oct 2026 12:57:21 -0400 Subject: [PATCH 3/3] test(prs): keep one case per classification behavior --- packages/shared/src/changedFileKind.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/shared/src/changedFileKind.test.ts b/packages/shared/src/changedFileKind.test.ts index 1e3be9f824485..1dee1fc75aee8 100644 --- a/packages/shared/src/changedFileKind.test.ts +++ b/packages/shared/src/changedFileKind.test.ts @@ -9,9 +9,7 @@ describe("classifyChangedFile", () => { ["pnpm-lock.yaml", "generated"], ["convex/_generated/api.d.ts", "generated"], ["src/agent.eval.ts", "tests"], - ["src/agent.eval.js", "tests"], ["evals/title-generation.ts", "tests"], - ["src/evals/agent.ts", "tests"], ["README.md", "docs"], ["tests/README.md", "tests"], ] as const)("%s is %s", (path, kind) => {