Repository Analysis

cloudflare/vinext

Vite plugin that reimplements the Next.js API surface — deploy anywhere

9.2 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of cloudflare/vinext, a TypeScript project with 8,404 GitHub stars. SynthScan v2.0 examined 420,957 lines of code across 1496 source files, recording 2465 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 9.2 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

9.2
Adjusted Score
9.2
Raw Score
100%
Time Factor
2026-07-14
Last Push
8.4K
Stars
TypeScript
Language
421.0K
Lines of Code
1.5K
Files
2.5K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 1HIGH 0MEDIUM 685LOW 1779

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2465 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators673 hits · 2030 pts
SeverityFileLineSnippetContext
MEDIUMtests/asset-prefix.test.ts46// ── Unit tests on the asset-prefix helpers ────────────────────────────────────COMMENT
MEDIUMtests/asset-prefix.test.ts310// ── End-to-end build tests ────────────────────────────────────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2347 // ── Cross-origin request protection ─────────────────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2410 // ── /_next/data JSON endpoint (issue #1330) ──────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2410 // ── /_next/data JSON endpoint (issue #1330) ──────────────────────COMMENT
MEDIUMtests/pages-router.test.ts6837 // ── /_next/data JSON endpoint in production (issue #1330) ─────────COMMENT
MEDIUMtests/pages-router.test.ts6837 // ── /_next/data JSON endpoint in production (issue #1330) ─────────COMMENT
MEDIUMtests/font-google.test.ts15// ── Helpers ───────────────────────────────────────────────────COMMENT
MEDIUMtests/font-google.test.ts78// ── Font shim tests ───────────────────────────────────────────COMMENT
MEDIUMtests/font-google.test.ts586// ── Plugin tests ──────────────────────────────────────────────COMMENT
MEDIUMtests/font-google.test.ts1362// ── fetchAndCacheFont integration ─────────────────────────────COMMENT
MEDIUMtests/font-google.test.ts1420// ── Served URL rewrite for cached Google Fonts CSS ────────────COMMENT
MEDIUMtests/font-google.test.ts1553// ── parseStaticObjectLiteral security tests ───────────────────COMMENT
MEDIUMtests/font-google.test.ts1656// ── _findBalancedObject / _findCallEnd unit tests ─────────────COMMENT
MEDIUMtests/dev-origin-check.test.ts10 // ── isAllowedDevOrigin ────────────────────────────────────────────────COMMENT
MEDIUMtests/dev-origin-check.test.ts106 // ── isCrossSiteNoCorsRequest ──────────────────────────────────────────COMMENT
MEDIUMtests/dev-origin-check.test.ts133 // ── validateDevRequest ────────────────────────────────────────────────COMMENT
MEDIUMtests/dev-origin-check.test.ts176 // ── generateDevOriginCheckCode ────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts16// ── Helpers ────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts34// ── scanImports ────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts270// ── analyzeConfig ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts814// ── checkLibraries ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts921// ── checkConventions ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1323// ── hasFreeCjsGlobal ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1429// ── runCheck ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1541// ── formatReport ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1677// ── Integration: running against fixtures ──────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts13985 // ── begin ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts13990 // ── claim ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts13994 // ── mark (head-hoisted) ───────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts13999 // ── consume ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts14007 // ── apply fallback ─────────────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts14015 // ══════════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/shims.test.ts14017 // ══════════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/shims.test.ts7762// ── escapePathDelimiters / decodePathParams ────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts22639// ─── server-only / client-only shims ─────────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts23920// ── next/head attribute name validation ─────────────────────────────────────COMMENT
MEDIUMtests/shims.test.ts23990// ── has/missing condition value matching (anchored regex) ──────────────────COMMENT
MEDIUMtests/shims.test.ts24051// ── CSRF origin wildcard matching ─────────────────────────────────────────COMMENT
MEDIUMtests/pages-bodyparser-config.test.ts49// ── parseSizeLimit ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/pages-bodyparser-config.test.ts80// ── resolveBodyParserConfig ──────────────────────────────────────────────COMMENT
MEDIUMtests/pages-bodyparser-config.test.ts137// ── Helpers shared by the integration tests below ────────────────────────COMMENT
MEDIUMtests/pages-bodyparser-config.test.ts284// ── Node/dev path: api-handler.ts ────────────────────────────────────────COMMENT
MEDIUMtests/pages-bodyparser-config.test.ts420// ── Workers/prod path: pages-api-route.ts ────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts10// ─── MISS ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts35// ─── HIT ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts171// ─── STALE ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts265// ─── buildMissIsrCacheControl ─────────────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts281// ─── buildAppRouteMissIsrCacheControl ─────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts305// ─── re-exported constants ────────────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts18// ── Fixture paths ─────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts37// ── Server lifecycle helper ───────────────────────────────────COMMENT
MEDIUMtests/helpers.ts116// ── Config helpers ────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts135// ── Fetch helpers ─────────────────────────────────────────────COMMENT
MEDIUMtests/app-ssr-stream.test.ts221// ── beforeInteractive pre-head splice ────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts29// ─── Issue #1513 reproduction ───────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts29// ─── Issue #1513 reproduction ───────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts66// ─── SSR rendering ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts293// ─── srcSet generation ──────────────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts371// ─── getImageProps ──────────────────────────────────────────────────────COMMENT
613 more matches not shown…
Hyper-Verbose Identifiers1455 hits · 1462 pts
SeverityFileLineSnippetContext
LOWoxlint-plugins/prefer-shared-utils.js53function readExportedFunctionNames(absPath) {CODE
LOWoxlint-plugins/prefer-shared-utils.js113function maskCommentsAndQuotedStrings(source, options = { scanTemplateBodies: true }) {CODE
LOWoxlint-plugins/prefer-shared-utils.js179function isCanonicalDefinitionFile(filename, modulePath) {CODE
LOWtests/asset-prefix.test.ts368function directoryContainsFileWithExtension(dir: string, extension: string): boolean {CODE
LOWtests/pages-router.test.ts45function writeMiddlewareRewritePriorityFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts155function writePagesAppGlobalCssFixture(rootDir: string): PagesAppGlobalCssFixture {CODE
LOWtests/pages-router.test.ts305function writeEncodedSlashPagesFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts333function writeOptionalCatchAllRootFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts364function writeGsspAppInitialPropsContextFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts507async function buildPagesFixtureToOutDir(rootDir: string, outDir: string): Promise<void> {CODE
LOWtests/pages-router-app-prefetch-detection.test.ts63function installFakeBrowserGlobals(CODE
LOWtests/shims.test.ts27function commitRenderedPagesRouterElement(element: unknown): void {CODE
LOWtests/shims.test.ts15280 async function expectPagesRouterPushTrailingSlashNormalization({CODE
LOWtests/shims.test.ts17241 async function expectBasePathHashOnlyPush({CODE
LOWtests/shims.test.ts18022 function trackHrefAssignmentsLocal(win: { location: { href: string } }): string[] {CODE
LOWtests/app-page-dispatch.test.ts177function renderPagePayloadToStream(payload: unknown): ReadableStream<Uint8Array> {CODE
LOWtests/app-page-dispatch.test.ts224function expectCachedAppPageSearchParamsObservation(value: unknown, html: string): void {CODE
LOWtests/app-page-dispatch.test.ts236function buildQueryInvariantRenderObservation(): RenderObservation {CODE
LOWtests/app-page-dispatch.test.ts439function createParamTextPageElement(prefix = "element") {CODE
LOWtests/app-page-dispatch.test.ts450function createPprBlogDispatchOptions(overrides: CreateDispatchOptionsOverrides = {}) {CODE
LOWtests/app-page-dispatch.test.ts463function createPprBlogFallbackShellGetter(stale: boolean) {CODE
LOWtests/app-page-dispatch.test.ts475function createFreshBodySsrHandler(body: string): DispatchOptions["loadSsrHandler"] {CODE
LOWtests/app-page-dispatch.test.ts483function createVerifiedStaticLayoutManifest(input: {CODE
LOWtests/helpers.ts206export async function requestNodeServerWithHost(CODE
LOWtests/helpers.ts320export async function buildCloudflareAppFixture(fixtureDir: string): Promise<{CODE
LOWtests/app-page-route-wiring.test.ts319async function buildGeneratedMetadataRouteHtml(CODE
LOWtests/app-page-route-wiring.test.ts2039 function buildStaticBranchElements(branch: "account" | "admin") {CODE
LOWtests/worker-entry-source.ts3export function readPagesRouterEntrySource(): string {CODE
LOWtests/app-ssr-stream.test.ts113function createNoopRscEmbedTransform() {CODE
LOWtests/app-ssr-stream.test.ts312function createFastSuspenseDocument() {CODE
LOWtests/app-ssr-stream.test.ts336async function renderFastSuspenseDocument(waitBeforePipe: boolean): Promise<string> {CODE
LOWtests/app-router-isr-codegen.test.ts203 expect(code).toContain("export async function seedMemoryCacheFromPrerender(serverDir)");CODE
LOWtests/cache-adapters-config.test.ts44 expect(code).toContain("export function registerConfiguredCacheAdapters() {}");CODE
LOWtests/app-page-cache.test.ts61function buildQueryInvariantRenderObservation(): RenderObservation {CODE
LOWtests/init-cjs-config-resolve.test.ts7async function buildAppWithExtensionlessTailwindConfig(CODE
LOWtests/tsconfig-path-alias-build.test.ts49function writeCloudflareAppFixture(root: string, name: string) {CODE
LOWtests/tsconfig-path-alias-build.test.ts141async function buildCloudflareAppFixture(root: string) {CODE
LOWtests/pages-node-compat.test.ts21function exerciseNextApiRequestPreviewTypes(req: NextApiRequest): NextApiRequestPreviewFields {CODE
LOWtests/pages-node-compat.test.ts43function exerciseNextApiResponsePreviewTypes(res: NextApiResponse): Promise<void> {CODE
LOWtests/deploy-prerender-config.test.ts108function writeProjectWithInlineNextConfig(nextConfig: string): void {CODE
LOWtests/init.test.ts60function readPluginRscVendoredEdgeBundle(fileName: string): string {CODE
LOWtests/init.test.ts71function expectConsumedBeforeInitialization(CODE
LOWtests/font-google-build.test.ts12async function buildFontGoogleMultipleFixture(): Promise<string> {CODE
LOWtests/app-optimistic-routing.test.ts89function dashboardManifestWithoutProfile(): RouteManifest {CODE
LOWtests/app-optimistic-routing.test.ts126function createBlogLoadingShellElements(): AppElements {CODE
LOWtests/app-optimistic-routing.test.ts153function createSettingsLoadingShellElements(): AppElements {CODE
LOWtests/app-route-handler-trailing-slash.test.ts20function copyAppFixtureWithTrailingSlash(prefix: string, trailingSlash: boolean): string {CODE
LOWtests/tsconfig-path-alias-resolution.test.ts60 function writeOverlappingAliasFixture(root: string) {CODE
LOWtests/app-page-render.test.ts217function createVerifiedStaticLayoutManifest(input: {CODE
LOWtests/invalid-static-asset-404.test.ts42async function buildAppFixtureWithConfig(CODE
LOWtests/invalid-static-asset-404.test.ts77function findClientRuntimeManifestBuildId(outDir: string, pathPrefix: string): string | undefined {CODE
LOWtests/build-optimization.test.ts76function getEnvBuildBundlerOptions(env: any) {CODE
LOWtests/build-optimization.test.ts2263 function simulateAssetTagFiltering(ssrManifestFiles: string[], lazyChunks: string[]): string[] {CODE
LOWtests/app-router-production-server.test.ts155async function startDelayedJsonSequenceTarget(delayMs: number): Promise<StartedTextSequenceTarget> {CODE
LOWtests/app-router-production-server.test.ts246 async function expectRewrittenPathRevalidates(CODE
LOWtests/features.test.ts97async function captureCompressedWebResponse(encoding: "gzip" | "br"): Promise<{CODE
LOWtests/features.test.ts2723 function renderStaticSocialImagesMetadata(metadataBase: URL | null): string {CODE
LOWtests/router-javascript-urls.test.ts154 function installFakeBrowserGlobals() {CODE
LOWtests/performance-benchmarks.test.ts994function validatePerformancePayload(CODE
LOWtests/trailing-slash.test.ts31function copyAppFixtureWithTrailingSlash(prefix: string, trailingSlash: boolean): string {CODE
1395 more matches not shown…
Over-Commented Block252 hits · 212 pts
SeverityFileLineSnippetContext
LOWtests/app-rsc-route-matching.test.ts441 // owns the slot, with route groups and @slot segments stripped).COMMENT
LOWtests/pages-router.test.ts4821 >;COMMENT
LOWtests/font-google.test.ts1421COMMENT
LOWtests/shims.test.ts2401//COMMENT
LOWtests/shims.test.ts3201 delete (globalThis as any).window;COMMENT
LOWtests/shims.test.ts16621 globalThis.fetch = originalFetch;COMMENT
LOWtests/shims.test.ts17821 }COMMENT
LOWtests/shims.test.ts22081 });COMMENT
LOWtests/shims.test.ts24141// Regression for cloudflare/vinext#1353. The Pages Router navigation shimCOMMENT
LOWtests/shims.test.ts24421 "redirect",COMMENT
LOWtests/app-layout-param-observation.test.ts241 ensureFetchPatch();COMMENT
LOWtests/init-cjs-config-resolve.test.ts61 }COMMENT
LOWtests/tsconfig-path-alias-build.test.ts321 // unminified JS escaped the inner quotes as `title: \"Second Post\"`, so theCOMMENT
LOWtests/link.test.ts1421 it("returns absolute URLs unchanged", () => {COMMENT
LOWtests/app-router-dev-server.test.ts581 expect(html).toContain('data-testid="parallelB-nested-page"');COMMENT
LOWtests/app-router-dev-server.test.ts1141 expect(html).not.toContain("404 - Page Not Found");COMMENT
LOWtests/app-router-dev-server.test.ts1241 // When a server component calls `redirect()` and the client makes an RSCCOMMENT
LOWtests/app-router-dev-server.test.ts1361 });COMMENT
LOWtests/app-router-dev-server.test.ts2021 // explicitly included to prevent late discovery, re-optimisationCOMMENT
LOWtests/script.test.ts201 );COMMENT
LOWtests/script.test.ts661 // The stylesheets prop must never leak onto the <script> attribute list.COMMENT
LOWtests/app-router-font-google-prod.test.ts1import fs from "node:fs";COMMENT
LOWtests/app-router-font-google-prod.test.ts21 // request and fell back to the real font only via the browser'sCOMMENT
LOWtests/app-router-font-google-prod.test.ts41 fs.rmSync(fontCacheDir, { recursive: true, force: true });COMMENT
LOWtests/app-router-font-google-prod.test.ts61 // mock can match by substring. The build plugin currently alwaysCOMMENT
LOWtests/build-optimization.test.ts41const _stripServerExports = (code: string): string | null =>COMMENT
LOWtests/build-optimization.test.ts2501 });COMMENT
LOWtests/app-router-production-server.test.ts581 // Edge case: the next/dynamic() CALL SITE is a Server Component (noCOMMENT
LOWtests/app-router-production-server.test.ts1841 // pre-override request headers.COMMENT
LOWtests/app-router-production-server.test.ts1941 expect(res.headers.get("content-type")).toContain("text/x-component");COMMENT
LOWtests/head.test.ts721//COMMENT
LOWtests/app-router-rsc-flight-hint.test.ts41// ── Client reference preloading (Issue #256) ─────────────────────────────────COMMENT
LOWtests/rsc-streaming.test.ts641 expect(output).toContain(RSC_RUNTIME_PUSH);COMMENT
LOWtests/router-javascript-urls.test.ts1import { afterEach, describe, it, expect, vi } from "vite-plus/test";COMMENT
LOWtests/router-javascript-urls.test.ts21//COMMENT
LOWtests/kv-cache-handler.test.ts981 });COMMENT
LOWtests/link-navigation.test.ts961COMMENT
LOWtests/entry-templates.test.ts581 ' "/:lang/docs v2/:section/:slug": __createAppPrerenderStaticParamsResolver([{ load: load_0 }], ["lang","section"COMMENT
LOWtests/entry-templates.test.ts1021 // The generated entry's createAppFallbackRenderer call must receive aCOMMENT
LOWtests/prerender.test.ts1041 //COMMENT
LOWtests/cache-adapters-build.test.ts181 logLevel: "silent",COMMENT
LOWtests/nextjs-compat/navigation.test.ts81 expect(res.status).toBe(404);COMMENT
LOWtests/nextjs-compat/navigation.test.ts121 //COMMENT
LOWtests/nextjs-compat/navigation.test.ts141 // Tests client-side external navigationCOMMENT
LOWtests/nextjs-compat/navigation.test.ts161 // N/A: Popstate revalidateCOMMENT
LOWtests/nextjs-compat/not-found.test.ts441 expect(body).not.toContain("Internal Server Error");COMMENT
LOWtests/nextjs-compat/not-found.test.ts461 // FIXTURE: fixtures/app-basic/app/nextjs-compat/not-found-error-boundary/nested/nested-2/page.tsxCOMMENT
LOWtests/nextjs-compat/rsc-context-lazy-stream.test.ts121 // data-request-id. Confirms the fixture works on the HTML path.COMMENT
LOWtests/nextjs-compat/rsc-context-lazy-stream.test.ts181 // fall back to "missing" because headers() returned null context.COMMENT
LOWtests/nextjs-compat/rsc-context-lazy-stream.test.ts281 it("SSR-rendered useSearchParams() returns empty string when no query string", async () => {COMMENT
LOWtests/nextjs-compat/app-routes.test.ts421 // Tests ISR revalidation on route handlers with static params — build-specificCOMMENT
LOWtests/nextjs-compat/app-routes.test.ts441 // N/A: 'customized metadata routes' (robots.txt) — Metadata routes not in scopeCOMMENT
LOWtests/nextjs-compat/app-css.test.ts81 // N/A: Computed styles (color, font-size, font-weight)COMMENT
LOWtests/nextjs-compat/revalidate-reason.test.ts41 });COMMENT
LOWtests/nextjs-compat/global-error.test.ts121 // generateMetadata() throws, but a local error.tsx exists to catch it.COMMENT
LOWtests/nextjs-compat/global-error.test.ts201 // Source: https://github.com/vercel/next.js/blob/canary/test/e2e/app-dir/global-error/error-in-global-error/error-in-COMMENT
LOWtests/nextjs-compat/global-error.test.ts241 const bodyTags = (html.match(/<body/gi) || []).length;COMMENT
LOWtests/nextjs-compat/global-not-found.test.ts101 // global-not-found.tsx replaces the root layout for route-miss 404s, so theCOMMENT
LOWtests/nextjs-compat/global-not-found.test.ts121COMMENT
LOWtests/nextjs-compat/hooks.test.ts161 // Tests the shared-component use case: a client component that imports fromCOMMENT
192 more matches not shown…
Structural Annotation Overuse36 hits · 64 pts
SeverityFileLineSnippetContext
LOW.opencode/commands/fix-issue.md7## Step 1: Understand the issueCOMMENT
LOW.opencode/commands/fix-issue.md11## Step 2: Create worktree and branchCOMMENT
LOW.opencode/commands/fix-issue.md28## Step 3: Fix the issueCOMMENT
LOW.opencode/commands/fix-issue.md41## Step 4: VerifyCOMMENT
LOW.opencode/commands/fix-issue.md54## Step 5: Commit and create PRCOMMENT
LOW.opencode/commands/address-review.md7## Step 1: Read all review feedbackCOMMENT
LOW.opencode/commands/address-review.md15## Step 2: Categorize each commentCOMMENT
LOW.opencode/commands/address-review.md23## Step 3: Make fixesCOMMENT
LOW.opencode/commands/address-review.md38## Step 4: File follow-up issuesCOMMENT
LOW.opencode/commands/address-review.md56## Step 5: Reply to review commentsCOMMENT
LOW.opencode/commands/address-review.md67## Step 6: Enable auto-mergeCOMMENT
LOW.opencode/commands/address-review.md73## Step 7: SummaryCOMMENT
LOWpackages/cloudflare/src/deploy.ts780 // Step 1: Detect project structureCOMMENT
LOWpackages/cloudflare/src/deploy.ts800 // Step 2: Validate init-owned dependencies and deployment scaffolding.COMMENT
LOWpackages/cloudflare/src/deploy.ts872 // Step 5: BuildCOMMENT
LOWpackages/cloudflare/src/deploy.ts936 // Step 7: Deploy via wranglerCOMMENT
LOWpackages/vinext/src/config/config-matchers.ts413 // Step 1: extract regex groups and replace with numbered placeholders.COMMENT
LOWpackages/vinext/src/config/config-matchers.ts420 // Step 2: single-pass conversion of the placeholder-bearing string.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts85 // Step 2: Guard against protocol-relative open redirects on the raw pathname.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts91 // Step 3: Strict segment-wise percent-decode. Preserves encoded path delimitersCOMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts101 // Step 4: Collapse double-slashes and resolve . / .. segments.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts105 // Step 5: basePath check and strip.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts121 // Step 8: Validate and sanitize X-Vinext-Interception-Context.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts132 // Step 9: Normalize mounted-slots header for canonical cache keying.COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts260 // Step 1: Reconstruct basePathStateCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts263 // Step 2: Trailing-slash normalization. Adapters must rewrite `_next/data`COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts275 // Step 3: Build pre-middleware request contextCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts282 // Step 4: Config redirects (before middleware)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts462 // Step 7: Config headers stagingCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts472 // Step 8: External-URL proxy (post-mw rewrite target)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts568 // Step 11: API routesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts572 // Step 12: afterFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts309 // Step 5: MiddlewareCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts409 // Step 6: Unpack middleware request headersCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts496 // Step 9: beforeFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts623 // Step 13: Render + fallback rewritesCOMMENT
Verbosity Indicators24 hits · 45 pts
SeverityFileLineSnippetContext
LOWpackages/cloudflare/src/deploy.ts780 // Step 1: Detect project structureCOMMENT
LOWpackages/cloudflare/src/deploy.ts800 // Step 2: Validate init-owned dependencies and deployment scaffolding.COMMENT
LOWpackages/cloudflare/src/deploy.ts872 // Step 5: BuildCOMMENT
LOWpackages/cloudflare/src/deploy.ts936 // Step 7: Deploy via wranglerCOMMENT
LOWpackages/vinext/src/config/config-matchers.ts413 // Step 1: extract regex groups and replace with numbered placeholders.COMMENT
LOWpackages/vinext/src/config/config-matchers.ts420 // Step 2: single-pass conversion of the placeholder-bearing string.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts85 // Step 2: Guard against protocol-relative open redirects on the raw pathname.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts91 // Step 3: Strict segment-wise percent-decode. Preserves encoded path delimitersCOMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts101 // Step 4: Collapse double-slashes and resolve . / .. segments.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts105 // Step 5: basePath check and strip.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts121 // Step 8: Validate and sanitize X-Vinext-Interception-Context.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts132 // Step 9: Normalize mounted-slots header for canonical cache keying.COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts260 // Step 1: Reconstruct basePathStateCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts263 // Step 2: Trailing-slash normalization. Adapters must rewrite `_next/data`COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts275 // Step 3: Build pre-middleware request contextCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts282 // Step 4: Config redirects (before middleware)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts462 // Step 7: Config headers stagingCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts472 // Step 8: External-URL proxy (post-mw rewrite target)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts568 // Step 11: API routesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts572 // Step 12: afterFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts309 // Step 5: MiddlewareCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts409 // Step 6: Unpack middleware request headersCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts496 // Step 9: beforeFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts623 // Step 13: Render + fallback rewritesCOMMENT
AI Slop Vocabulary9 hits · 27 pts
SeverityFileLineSnippetContext
MEDIUMtests/build-time-classification-integration.test.ts236 // below are minify-robust by design — see the file header.COMMENT
MEDIUMscripts/e2e-logs.sh2# Logs script for the Next.js deploy test harness.COMMENT
MEDIUMscripts/e2e-deploy.sh2# Deploy script for the Next.js deploy test harness.COMMENT
MEDIUMscripts/e2e-deploy.sh262# during the test harness's destroy() cleanup. vinext doesn't produce one, soCOMMENT
MEDIUMscripts/e2e-deploy.sh265# on failure — otherwise the test harness logs ENOENT noise (303 lines perCOMMENT
MEDIUMscripts/e2e-deploy.sh653# Dependency-manager deprecation summaries describe the deploy harness's ownCOMMENT
MEDIUMscripts/e2e-deploy.sh697# The Next.js test harness parses these markers from the logs script outputCOMMENT
MEDIUMscripts/e2e-cleanup.sh2# Cleanup script for the Next.js deploy test harness.COMMENT
MEDIUMpackages/vinext/src/shims/internal/interpolate-as.ts231 // TODO: more robust handling for user-error (passing `/`)COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/app-router-dev-server.test.ts101 const rscModuleIds = server.environments.rsc.moduleGraph.idToModuleMap.keys();CODE
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…vinext/src/server/app-browser-navigation-controller.ts861 // Intentionally retained as #726-OPS-01 trace-shell scaffolding. TheCOMMENT
MEDIUM.github/workflows/nextjs-deploy-suite.yml215 # e2e-deploy.sh dependency injection), the scripts, the preparedCOMMENT
MEDIUM.github/workflows/ci.yml181 # scaffold install. Replace them with explicit false values.COMMENT
Overly Generic Function Names6 hits · 7 pts
SeverityFileLineSnippetContext
LOWtests/nextjs-compat/app-rendering.test.ts108 // timestamps across requests. The async function getData() returns a cached promise atCOMMENT
LOW…amples/app-router-playground/app/remote-cache/page.tsx48async function getData() {CODE
LOW…es/app-router-playground/app/cached-functions/page.tsx39async function getData() {CODE
LOWpackages/vinext/src/index.ts6001 // (e.g., async function getData() { "use cache"; ... })COMMENT
LOWpackages/vinext/src/server/pages-router-entry.ts101async function handleRequest(CODE
LOWpackages/vinext/src/server/app-router-entry.ts84async function handleRequest(CODE
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/run-nextjs-deploy-suite.sh6# Usage:COMMENT
LOWscripts/autopilot.sh7# Usage:COMMENT
LOWscripts/profile-vinext-dev-macos.sh8# Usage:COMMENT
LOWscripts/smoke-test.sh6# Usage:COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/test-repos.sh185# Print resultsCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/metadata-routes.test.ts239 uploader: { info: "https://example.com/authors/jane", content: "Jane Doe" },CODE