Repository Analysis

cloudflare/vinext

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

8.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of cloudflare/vinext, a TypeScript project with 8,690 GitHub stars. SynthScan v2.0 examined 479,832 lines of code across 1845 source files, recording 2769 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 8.6 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).

8.6
Adjusted Score
8.6
Raw Score
100%
Time Factor
2026-08-28
Last Push
8.7K
Stars
TypeScript
Language
479.8K
Lines of Code
1.8K
Files
2.8K
Pattern Hits
2026-08-29
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 669LOW 2099

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 2769 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 Separators657 hits · 1976 pts
SeverityFileLineSnippetContext
MEDIUMtests/asset-prefix.test.ts46// ── Unit tests on the asset-prefix helpers ────────────────────────────────────COMMENT
MEDIUMtests/asset-prefix.test.ts395// ── End-to-end build tests ────────────────────────────────────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2874 // ── Cross-origin request protection ─────────────────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2937 // ── /_next/data JSON endpoint (issue #1330) ──────────────────────COMMENT
MEDIUMtests/pages-router.test.ts2937 // ── /_next/data JSON endpoint (issue #1330) ──────────────────────COMMENT
MEDIUMtests/pages-router.test.ts7832 // ── /_next/data JSON endpoint in production (issue #1330) ─────────COMMENT
MEDIUMtests/pages-router.test.ts7832 // ── /_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.ts1574// ── parseStaticObjectLiteral security tests ───────────────────COMMENT
MEDIUMtests/font-google.test.ts1677// ── _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.ts281// ── analyzeConfig ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts827// ── checkLibraries ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts934// ── checkConventions ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1363// ── hasFreeCjsGlobal ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1469// ── runCheck ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1581// ── formatReport ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/check.test.ts1717// ── Integration: running against fixtures ──────────────────────────────────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.ts285// ─── buildAppRouteMissIsrCacheControl ─────────────────────────────────────────COMMENT
MEDIUMtests/isr-decision.test.ts309// ─── re-exported constants ────────────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts19// ── Fixture paths ─────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts38// ── Server lifecycle helper ───────────────────────────────────COMMENT
MEDIUMtests/helpers.ts122// ── Config helpers ────────────────────────────────────────────COMMENT
MEDIUMtests/helpers.ts141// ── Fetch helpers ─────────────────────────────────────────────COMMENT
MEDIUMtests/app-ssr-stream.test.ts352// ── 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.ts373// ─── getImageProps ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts531// ─── Security: blurDataURL CSS injection ────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts638// ─── onLoadingComplete (deprecated but supported) ────────────────────────COMMENT
MEDIUMtests/image-component.test.ts862// ─── Reproduction: priority prop on remote URL paths ────────────────────COMMENT
MEDIUMtests/image-component.test.ts956// ─── onLoad / onError single-fire dedup ──────────────────────────────────COMMENT
MEDIUMtests/image-component.test.ts1085// ─── dangerouslyAllowLocalIP / private-IP guard ─────────────────────────COMMENT
MEDIUMtests/app-router-next-config-codegen.test.ts371 // ── Dev origin check code generation ────────────────────────────────COMMENT
MEDIUMtests/app-router-client-preloading.test.ts61// ── Auto-registration of @vitejs/plugin-rsc ─────────────────────────────────COMMENT
MEDIUMtests/link.test.ts152// ─── Repeated-slash warning (parity with Next.js) ───────────────────────COMMENT
MEDIUMtests/link.test.ts253// ─── useLinkStatus ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/link.test.ts535// ─── resolveHref (internal helper, tested via component output) ─────────COMMENT
MEDIUMtests/link.test.ts765// ─── isExternalUrl ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/link.test.ts791// ─── isHashOnlyChange ───────────────────────────────────────────────────COMMENT
597 more matches not shown…
Hyper-Verbose Identifiers1750 hits · 1747 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.ts453function directoryContainsFileWithExtension(dir: string, extension: string): boolean {CODE
LOWtests/pages-router.test.ts46function writeMiddlewareRewritePriorityFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts162function writePagesAppGlobalCssFixture(rootDir: string): PagesAppGlobalCssFixture {CODE
LOWtests/pages-router.test.ts312function writeEncodedSlashPagesFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts347function writeOptionalCatchAllRootFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts378function writeGsspAppInitialPropsContextFixture(rootDir: string): void {CODE
LOWtests/pages-router.test.ts526async function buildPagesFixtureToOutDir(rootDir: string, outDir: string): Promise<void> {CODE
LOWtests/pages-router-app-prefetch-detection.test.ts63function installFakeBrowserGlobals(CODE
LOWtests/optimize-imports-integration.test.ts12function linkWorkspaceDependencies(root: string): void {CODE
LOWtests/app-page-dispatch.test.ts192function renderPagePayloadToStream(payload: unknown): ReadableStream<Uint8Array> {CODE
LOWtests/app-page-dispatch.test.ts239function expectCachedAppPageSearchParamsObservation(value: unknown, html: string): void {CODE
LOWtests/app-page-dispatch.test.ts251function buildQueryInvariantRenderObservation(): RenderObservation {CODE
LOWtests/app-page-dispatch.test.ts458function createParamTextPageElement(prefix = "element") {CODE
LOWtests/app-page-dispatch.test.ts469function createPprBlogDispatchOptions(overrides: CreateDispatchOptionsOverrides = {}) {CODE
LOWtests/app-page-dispatch.test.ts482function createPprBlogFallbackShellGetter(stale: boolean) {CODE
LOWtests/app-page-dispatch.test.ts494function createFreshBodySsrHandler(body: string): DispatchOptions["loadSsrHandler"] {CODE
LOWtests/app-page-dispatch.test.ts502function createVerifiedStaticLayoutManifest(input: {CODE
LOWtests/helpers.ts212export async function requestNodeServerWithHost(CODE
LOWtests/helpers.ts332export async function buildCloudflareAppFixture(fixtureDir: string): Promise<{CODE
LOWtests/app-page-route-wiring.test.ts196function countSuspenseWithFallback(node: unknown, fallbackTypeName: string): number {CODE
LOWtests/app-page-route-wiring.test.ts395async function buildGeneratedMetadataRouteHtml(CODE
LOWtests/app-page-route-wiring.test.ts4373 function buildStaticBranchElements(branch: "account" | "admin") {CODE
LOWtests/worker-entry-source.ts12export function readPagesRouterEntrySource(): string {CODE
LOWtests/app-ssr-stream.test.ts97function createNoopRscEmbedTransform() {CODE
LOWtests/app-ssr-stream.test.ts448function createFastSuspenseDocument() {CODE
LOWtests/app-ssr-stream.test.ts472async function renderFastSuspenseDocument(waitBeforePipe: boolean): Promise<string> {CODE
LOWtests/app-router-isr-codegen.test.ts204 expect(code).toContain("export async function seedMemoryCacheFromPrerender(serverDir)");CODE
LOWtests/cache-adapters-config.test.ts46 expect(code).toContain("export function registerConfiguredCacheAdapters() {}");CODE
LOWtests/app-page-cache.test.ts32function createHeaderClearingCdnAdapter(): CdnCacheAdapter {CODE
LOWtests/app-page-cache.test.ts90function 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.ts19function exerciseNextApiRequestPreviewTypes(req: NextApiRequest): NextApiRequestPreviewFields {CODE
LOWtests/pages-node-compat.test.ts41function 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/app-pages-bridge.test.ts40 async function renderHybridEdgeApiResponse(hostRuntime: "node" | "worker") {CODE
LOWtests/font-google-build.test.ts12async function buildFontGoogleMultipleFixture(): Promise<string> {CODE
LOWtests/app-router-worker-entry.test.ts9function workerEntryVirtualModules(): Plugin {CODE
LOWtests/app-router-worker-entry.test.ts24 ["virtual:vinext-cache-adapters", "export function registerConfiguredCacheAdapters() {}"],CODE
LOWtests/app-router-worker-entry.test.ts25 ["virtual:vinext-image-adapters", "export function registerConfiguredImageOptimizer() {}"],CODE
LOWtests/app-optimistic-routing.test.ts102function dashboardManifestWithoutProfile(): RouteManifest {CODE
LOWtests/app-optimistic-routing.test.ts139function createBlogLoadingShellElements(): AppElements {CODE
LOWtests/app-optimistic-routing.test.ts166function createSettingsLoadingShellElements(): AppElements {CODE
LOWtests/app-route-handler-trailing-slash.test.ts20function copyAppFixtureWithTrailingSlash(prefix: string, trailingSlash: boolean): string {CODE
LOWtests/import-meta-url.test.ts38function expectBundledImportMetaUrl(code: string | undefined): void {CODE
LOWtests/import-meta-url.test.ts44function expectFinalizedImportMetaUrl(code: string | undefined, fileName = "entry.js"): void {CODE
LOWtests/import-meta-url.test.ts98function transformOptimizedDependency(code: string, id: 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.ts2660 function simulateAssetTagFiltering(ssrManifestFiles: string[], lazyChunks: string[]): string[] {CODE
LOWtests/app-router-production-server.test.ts176async function startDelayedJsonSequenceTarget(delayMs: number): Promise<StartedTextSequenceTarget> {CODE
1690 more matches not shown…
Over-Commented Block266 hits · 224 pts
SeverityFileLineSnippetContext
LOWvite.config.ts241 },COMMENT
LOWtests/app-rsc-route-matching.test.ts561 //COMMENT
LOWtests/pages-router.test.ts5561 >;COMMENT
LOWtests/font-google.test.ts1421COMMENT
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.ts1641 });COMMENT
LOWtests/app-router-dev-server.test.ts581 // https://github.com/vercel/next.js/blob/canary/test/e2e/app-dir/parallel-routes-and-interception/parallel-routes-aCOMMENT
LOWtests/app-router-dev-server.test.ts1241 const location = res.headers.get("location");COMMENT
LOWtests/app-router-dev-server.test.ts1381 // promise (to preserve loading.tsx streaming for non-redirectingCOMMENT
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/app-router-production-server.test.ts761 for (const tag of dynamicScriptPreloads) {COMMENT
LOWtests/app-router-production-server.test.ts2341 // Regression for a bug where a middleware that reads `next/headers` →COMMENT
LOWtests/app-router-production-server.test.ts2461 // route chunks are hoisted into the entry chunk, and the lazy chunks thenCOMMENT
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.ts1081 expect(kv.get).toHaveBeenCalledTimes(3);COMMENT
LOWtests/link-navigation.test.ts801});COMMENT
LOWtests/link-navigation.test.ts1061 });COMMENT
LOWtests/entry-templates.test.ts921 ]);COMMENT
LOWtests/prerender.test.ts1541COMMENT
LOWtests/cache-adapters-build.test.ts181 logLevel: "silent",COMMENT
LOWtests/app-page-element-builder.test.ts541 // The error payload uses the AppElementsWire route-id encoder for bothCOMMENT
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 expect(html).toContain(`data-request-id="${SENTINEL}"`);COMMENT
LOWtests/nextjs-compat/rsc-context-lazy-stream.test.ts281 const res = await fetch(`${_baseUrl}${NAV_ROUTE}`);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 //COMMENT
LOWtests/nextjs-compat/global-error.test.ts201 // ── Self-throwing global-error -> built-in default fallback ──COMMENT
LOWtests/nextjs-compat/global-error.test.ts241 const { html } = await fetchHtml(baseUrl, route);COMMENT
LOWtests/nextjs-compat/global-error.test.ts261 // SKIP: Nested client error auto-thrown via useEffect/setTimeout -> global-errorCOMMENT
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
LOWtests/nextjs-compat/hooks.test.ts181 // Tests that useParams returns the same object reference on re-renderCOMMENT
LOWtests/nextjs-compat/dynamic.test.ts161 // SKIP: 'should handle next/dynamic in hydration correctly'COMMENT
LOWtests/nextjs-compat/dynamic.test.ts181 // WHY: Dev-only behavior — slow loader shows loading component. In productionCOMMENT
LOWtests/nextjs-compat/dynamic.test.ts201 // WHY: Tests edge runtime variant + build manifest inspection. Both need PlaywrightCOMMENT
LOWtests/nextjs-compat/metadata.test.ts401 // Some template tests use browser.eval('document.title') — ported above at SSR levelCOMMENT
LOWtests/nextjs-compat/metadata.test.ts421 // N/A: HMR/hot reload testsCOMMENT
LOWtests/nextjs-compat/app-rendering.test.ts101 expect(html).toMatch(/id="layout-now"[^>]*>\d+/);COMMENT
LOWtests/e2e/catch-error/catch-error.spec.ts81 // Next-parity test: an uncaught post-shell RSC error with no route/userlandCOMMENT
206 more matches not shown…
Structural Annotation Overuse36 hits · 65 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.ts1000 // Step 1: Detect project structureCOMMENT
LOWpackages/cloudflare/src/deploy.ts1020 // Step 2: Validate init-owned dependencies and deployment scaffolding.COMMENT
LOWpackages/cloudflare/src/deploy.ts1094 // Step 5: BuildCOMMENT
LOWpackages/cloudflare/src/deploy.ts1160 // Step 7: Deploy via wranglerCOMMENT
LOWpackages/vinext/src/config/config-matchers.ts331 // Step 1: extract regex groups and replace with numbered placeholders.COMMENT
LOWpackages/vinext/src/config/config-matchers.ts338 // Step 2: single-pass conversion of the placeholder-bearing string.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts187 // Step 2: Guard against protocol-relative open redirects on the raw pathname.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts193 // Step 3: Strict segment-wise percent-decode. Preserves encoded path delimitersCOMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts203 // Step 4: Collapse double-slashes and resolve . / .. segments.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts208 // Step 5: basePath check and strip.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts228 // Step 8: Validate and sanitize X-Vinext-Interception-Context.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts247 // Step 9: Normalize mounted-slots header for canonical cache keying.COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts316 // Step 1: Reconstruct basePathStateCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts319 // Step 2: Trailing-slash normalization. Adapters must rewrite `_next/data`COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts331 // Step 3: Build pre-middleware request contextCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts340 // Step 4: Config redirects (before middleware)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts557 // Step 7: Config headers stagingCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts567 // Step 8: External-URL proxy (post-mw rewrite target)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts674 // Step 11: API routesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts678 // Step 12: afterFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts372 // Step 5: MiddlewareCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts501 // Step 6: Unpack middleware request headersCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts583 // Step 9: beforeFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts730 // Step 13: Render + fallback rewritesCOMMENT
Verbosity Indicators24 hits · 45 pts
SeverityFileLineSnippetContext
LOWpackages/cloudflare/src/deploy.ts1000 // Step 1: Detect project structureCOMMENT
LOWpackages/cloudflare/src/deploy.ts1020 // Step 2: Validate init-owned dependencies and deployment scaffolding.COMMENT
LOWpackages/cloudflare/src/deploy.ts1094 // Step 5: BuildCOMMENT
LOWpackages/cloudflare/src/deploy.ts1160 // Step 7: Deploy via wranglerCOMMENT
LOWpackages/vinext/src/config/config-matchers.ts331 // Step 1: extract regex groups and replace with numbered placeholders.COMMENT
LOWpackages/vinext/src/config/config-matchers.ts338 // Step 2: single-pass conversion of the placeholder-bearing string.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts187 // Step 2: Guard against protocol-relative open redirects on the raw pathname.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts193 // Step 3: Strict segment-wise percent-decode. Preserves encoded path delimitersCOMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts203 // Step 4: Collapse double-slashes and resolve . / .. segments.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts208 // Step 5: basePath check and strip.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts228 // Step 8: Validate and sanitize X-Vinext-Interception-Context.COMMENT
LOW…ges/vinext/src/server/app-rsc-request-normalization.ts247 // Step 9: Normalize mounted-slots header for canonical cache keying.COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts316 // Step 1: Reconstruct basePathStateCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts319 // Step 2: Trailing-slash normalization. Adapters must rewrite `_next/data`COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts331 // Step 3: Build pre-middleware request contextCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts340 // Step 4: Config redirects (before middleware)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts557 // Step 7: Config headers stagingCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts567 // Step 8: External-URL proxy (post-mw rewrite target)COMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts674 // Step 11: API routesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts678 // Step 12: afterFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts372 // Step 5: MiddlewareCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts501 // Step 6: Unpack middleware request headersCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts583 // Step 9: beforeFiles rewritesCOMMENT
LOWpackages/vinext/src/server/pages-request-pipeline.ts730 // 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.sh266# during the test harness's destroy() cleanup. vinext doesn't produce one, soCOMMENT
MEDIUMscripts/e2e-deploy.sh269# on failure — otherwise the test harness logs ENOENT noise (303 lines perCOMMENT
MEDIUMscripts/e2e-deploy.sh701# Dependency-manager deprecation summaries describe the deploy harness's ownCOMMENT
MEDIUMscripts/e2e-deploy.sh745# 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.ts238 // TODO: more robust handling for user-error (passing `/`)COMMENT
Overly Generic Function Names17 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/use-cache-transform.test.ts34 `export async function getData() {`,CODE
LOWtests/use-cache-transform.test.ts41 `export async function getData() {`,CODE
LOWtests/use-cache-transform.test.ts156 `export async function getData() {`,CODE
LOWtests/use-cache-transform.test.ts197 const source = `export async function getData() { return 1; }`;CODE
LOWtests/use-cache-transform.test.ts213 `export async function getData() {`,CODE
LOWtests/use-cache-transform.test.ts310 const source = `export async function getData() { return 1; }`;CODE
LOWtests/use-cache-transform.test.ts416 [`export async function getData() {`, ` "use cache: durable-cache";`, `}`].join("\n"),CODE
LOWtests/use-cache-transform.test.ts461 [`export function getData() {`, ` "use cache";`, `}`].join("\n"),CODE
LOWtests/use-cache-transform.test.ts481 [`"use cache";`, `export function getData() { return 1; }`].join("\n"),CODE
LOWtests/use-cache-transform.test.ts585 [`export async function getData() {`, ` ${JSON.stringify(directive)};`, `}`].join("\n"),CODE
LOWtests/use-cache-transform.test.ts602 `export async function getData() {`,CODE
LOWtests/use-cache-transform.test.ts674 [`"use server";`, `"use cache";`, `export async function getData() {}`].join("\n"),CODE
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/server/pages-router-entry.ts110async function handleRequest(CODE
LOWpackages/vinext/src/server/app-router-entry.ts90async function handleRequest(CODE
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.ts937 // 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
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