fix(explore): recognize Wrangler-style "generated by … by running" banners (CG-25)
Cloudflare Wrangler's `worker-configuration.d.ts` (~12k lines of ambient types) carried no banner any GENERATED_CONTENT_PATTERNS entry matched: every existing marker requires `DO NOT EDIT`, a standalone `@generated`, `<auto-generated>`, or the literal `automatically/auto-generated by` phrasings. Wrangler emits a bare `Generated by Wrangler by running `wrangler types``, so the file ranked with pen 1.00 and won 79.4% of an explore envelope on generic token overlap alone (CG-24). The discriminator is the reproduction instruction, not the word "generated": the banner must name a tool AND then say `by running`, i.e. two separate "by" clauses. That keeps prose out — "the nightly summary is generated by running the ETL job" has only one — while catching every CLI-driven emitter that tells you how to regenerate. Precision swept over 441,856 files across the whole local source tree: 5 hits, all genuine Wrangler output, no false positives. Isolated before/after on the CG-24 repro (same query, same index, only the `files.generated` flag differing): before pen 1.00 score 115.0 share 79.4% 3 files rendered after pen 0.30 score 35.4 share 21.1% 4 files rendered The new pattern stays in the existing table position, below the header window the detector scans, so the module still does not classify itself. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d6d17288be
commit
57e0854213
@@ -118,6 +118,14 @@ describe('hasGeneratedHeader — per-marker coverage (#1500)', () => {
|
||||
'/* automatically generated by rust-bindgen 0.59.2 */\n\npub const FOO: u32 = 1;\n',
|
||||
],
|
||||
['ANTLR — "Generated from … -- DO NOT EDIT"', '// Generated from Expr.g4 by ANTLR 4.9.2 -- DO NOT EDIT\npackage parser;\n'],
|
||||
[
|
||||
'Wrangler — "Generated by Wrangler by running `wrangler types`" (CG-25)',
|
||||
'/* eslint-disable */\n// Generated by Wrangler by running `wrangler types` (hash: adcfde101dd7d9077590b6b39d3eaf8d)\n// Runtime types generated with workerd@1.20260708.1 2026-07-12\ndeclare namespace Cloudflare {\n\tinterface Env {}\n}\n',
|
||||
],
|
||||
[
|
||||
'the same "regenerate by running" shape from an in-house CLI',
|
||||
'# Generated by ./scripts/schema-gen.py by running `make schema`\n\nfrom typing import Any\n',
|
||||
],
|
||||
[
|
||||
'banner on an unprefixed line INSIDE a block comment',
|
||||
'/*\n Code generated by ent. DO NOT EDIT.\n*/\npackage ent\n',
|
||||
@@ -155,6 +163,14 @@ describe('hasGeneratedHeader — per-marker coverage (#1500)', () => {
|
||||
],
|
||||
['an email address that happens to contain "@generated"', '// Contact: build@generated.example.com for issues.\npackage main\n'],
|
||||
['"DO NOT EDIT" with no generation claim', '// DO NOT EDIT THIS FILE BY HAND — run `make fmt` instead.\npackage main\n'],
|
||||
[
|
||||
'prose: bare "generated by" naming no tool and no reproduction command (CG-25)',
|
||||
'// The table below is generated by the build at runtime, so the\n// literal values here are only a fallback.\npackage main\n',
|
||||
],
|
||||
[
|
||||
'prose: "generated by running …" — one "by" clause, not the Wrangler shape (CG-25)',
|
||||
'// The nightly summary is generated by running the ETL job against\n// yesterday\'s partition.\npackage main\n',
|
||||
],
|
||||
['empty file', ''],
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user