AI Slop Code Risk Monitor

usebruno/bruno

SlopCodeMonitor badge for usebruno/bruno Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)

1.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for usebruno/bruno, a JavaScript project with 47,957 GitHub stars. SynthScan examined 574,992 lines of code across 3608 source files, recording 280 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.7
Adjusted Signal
1.7
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
48.0K
Stars
JavaScript
Language
575.0K
Lines of Code
3.6K
Files
280
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 1.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 95 finding(s).

Hallucinated Dependency & Supply Chain Risk 5.6/100 · LOW

Are imports declared and package/API names verified? 122 finding(s).

Agent Over-Engineering Ratio 1.9/100 · LOW

Are wrappers, guards, and repeated structures necessary? 95 finding(s).

PR Review Velocity Impact 7.1/100 · LOW

Which changes need focused human review? 280 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 47HIGH 1MEDIUM 72LOW 160

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 280 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators47 hits · 588 pts
SeverityFileLineSnippetContext
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js1675 item.draft.request.body.formUrlEncoded.push({CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js1772 item.draft.request.body.multipartForm.push({CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js1875 const shouldSelectNewFile = !item.draft.request.body.file.some((p) => p.selected);CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js1877 item.draft.request.body.file.push({CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js1910 item.draft.request.body.file = item.draft.request.body.file.map((p) => {CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js2271 item.draft.request.vars.req.push(CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js2286 item.draft.request.vars.res.push({CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js2348 item.draft.request.vars.req = item.draft.request.vars.req.filter((v) => v.uid !== action.payload.varUid);CODE
CRITICAL…p/src/providers/ReduxStore/slices/collections/index.js2352 item.draft.request.vars.res = item.draft.request.vars.res.filter((v) => v.uid !== action.payload.varUid);CODE
CRITICAL…kages/bruno-app/src/utils/codemirror/linkAware.spec.js192 const keydownHandler = global.window.addEventListener.mock.calls.find((call) => call[0] === 'keydown')[1];CODE
CRITICAL…kages/bruno-app/src/utils/codemirror/linkAware.spec.js204 const keyupHandler = global.window.addEventListener.mock.calls.find((call) => call[0] === 'keyup')[1];CODE
CRITICAL…kages/bruno-electron/tests/app/apiSpecsWatcher.spec.js12 const specUpdates = () => win.webContents.send.mock.calls.filter(([channel]) => channel === 'main:apispec-tree-updatedCODE
CRITICAL…bruno-electron/src/ipc/network/runner-exchange.spec.js35 const lastEvent = () => mainWindow.webContents.send.mock.calls.at(-1)[1];CODE
CRITICAL…ckages/bruno-cli/tests/utils/persist-variables.spec.js321 expect(collection.root.request.vars.req.map((v) => v.name).sort()).toEqual(['k1', 'k2']);CODE
CRITICAL…ckages/bruno-cli/tests/utils/persist-variables.spec.js467 const countVar = collection.root.request.vars.req.find((v) => v.name === 'count');CODE
CRITICAL…ckages/bruno-cli/tests/utils/persist-variables.spec.js468 const flagVar = collection.root.request.vars.req.find((v) => v.name === 'flag');CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js705 const code = 'pm.response.to.not.have.jsonBody();';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js711 const code = 'pm.response.to.not.have.jsonBody("error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js717 const code = 'pm.response.to.not.have.jsonBody("status", "error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js723 const code = 'pm.response.to.not.have.jsonBody({ error: true });';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js774 const code = 'pm.response.to.not.have.jsonSchema(schema);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js780 const code = 'pm.response.not.to.have.jsonSchema(schema);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js786 const code = 'pm.response.to.have.not.jsonSchema(schema);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js792 const code = 'pm.response.to.not.have.jsonSchema(schema, options);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js800 pm.response.to.not.have.jsonSchema(schema);CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js822 const code = 'pm.response.not.to.have.jsonBody();';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js828 const code = 'pm.response.not.to.have.jsonBody("error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js834 const code = 'pm.response.not.to.have.jsonBody("status", "error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js842 const code = 'pm.response.to.have.not.jsonBody();';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js848 const code = 'pm.response.to.have.not.jsonBody("error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js854 const code = 'pm.response.to.have.not.jsonBody("status", "error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1135 const code = 'pm.response.to.not.have.status(404);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1141 const code = 'pm.response.to.not.have.header("X-Error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1147 const code = 'pm.response.to.not.have.header("Content-Type", "text/plain");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1153 const code = 'pm.response.to.not.have.body("error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1161 const code = 'pm.response.to.have.not.status(404);';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1167 const code = 'pm.response.to.have.not.header("X-Error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1173 const code = 'pm.response.to.have.not.body("error");';CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1181 pm.response.to.not.have.status(500);CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1182 pm.response.to.not.have.header("X-Error");CODE
CRITICAL⚡…postman-translations/transpiler-tests/response.test.js1183 pm.response.to.not.have.body("error");CODE
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js429 // pm.response.to.not.have.jsonBody(...) -> expect(res.getBody()).to.not.have.jsonBody(...)COMMENT
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js460 // pm.response.to.not.have.jsonSchema(schema, options?) -> expect(res.getBody()).to.not.have.jsonSchema(schema, optionCOMMENT
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js477 // pm.response.not.to.have.jsonSchema(schema, options?) -> expect(res.getBody()).not.to.have.jsonSchema(schema, optionCOMMENT
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js494 // pm.response.to.have.not.jsonSchema(schema, options?) -> expect(res.getBody()).to.have.not.jsonSchema(schema, optionCOMMENT
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js511 // pm.response.not.to.have.jsonBody(...) -> expect(res.getBody()).not.to.have.jsonBody(...)COMMENT
CRITICAL…no-converters/src/utils/postman-to-bruno-translator.js525 // pm.response.to.have.not.jsonBody(...) -> expect(res.getBody()).to.have.not.jsonBody(...)COMMENT
Decorative Section Separators63 hits · 186 pts
SeverityFileLineSnippetContext
MEDIUMtests/snapshots/basic.spec.ts61// ─── Tab Persistence ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts217// ─── Workspace State ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts429// ─── Collection State ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts467// ─── Multi-Workspace Tab Isolation ──────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts637// ─── DevTools State ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts678// ─── Edge Cases ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/snapshots/basic.spec.ts716// ─── Snapshot File Structure ────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-tests/src/auth/oauth1/index.js5// ─── Known Test Credentials ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-tests/src/auth/oauth1/index.js68// ─── RFC 5849 Helpers ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-tests/src/auth/oauth1/index.js275// ─── OAuth 1.0 Signature Verification Middleware ────────────────────────────────COMMENT
MEDIUMpackages/bruno-tests/src/auth/oauth1/index.js354// ─── Routes ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/cookie-list.spec.js21 // ── Inheritance ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/cookie-list.spec.js59 // ── Read methods with no URL ───────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/cookie-list.spec.js85 // ── Write methods (cookie jar delegation) ──────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/cookie-list.spec.js254 // ── jar() ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/readonly-property-list.spec.js4 // ── Static Mode ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/readonly-property-list.spec.js151 // ── Dynamic Mode ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/readonly-property-list.spec.js173 // ── No Mutation Methods ──────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/readonly-property-list.spec.js187 // ── Edge Cases ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/readonly-property-list.spec.js210 // ── Static Methods ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js19 // ── Inheritance ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js32 // ── Blocked inherited methods ─────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js47 // ── Read methods ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js106 // ── Search methods ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js153 // ── Iteration methods ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js185 // ── Transform methods ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js260 // ── Dynamic reads reflect external mutations ──────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js288 // ── Write methods ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js578 // ── req.headers is the raw headers object ─────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js596 // ── Disabled headers ───────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js681 // ── Case-insensitive key lookups ────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js732 // ── Context parameter ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js790 // ── set() return values ────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js811 // ── assimilate() prune semantics ──────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js839 // ── Edge cases ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js886 // ── Inheritance ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js900 // ── Read methods ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js941 // ── Search methods ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js969 // ── Iteration methods ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js995 // ── Transform methods ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js1014 // ── res.headers is the raw headers object ─────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/header-list.spec.js1030 // ── Edge cases ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/property-list.spec.js5 // ── Inheritance ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/property-list.spec.js18 // ── Static Mode Mutations ─────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/tests/property-list.spec.js203 // ── Dynamic Mode ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js127 // ── Case-insensitive key helpers ──────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js153 // ── Blocked inherited methods ─────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js158 // ── Read method overrides (case-insensitive) ──────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js214 // ── Iteration overrides (optional context binding) ─────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js244 // ── Write methods (direct request config manipulation) ────────────────COMMENT
MEDIUMpackages/bruno-js/src/header-list.js423 // ── Transform overrides ───────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/cookie-list.js104 // ── Write methods (cookie jar delegation) ─────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/cookie-list.js200 // ── Cookie-specific method ────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/readonly-property-list.js19 // ── Private fields (not accessible by subclasses) ────────────────────COMMENT
MEDIUMpackages/bruno-js/src/readonly-property-list.js53 // ── Retrieval ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/readonly-property-list.js121 // ── Search ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/readonly-property-list.js156 // ── Iteration ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/readonly-property-list.js185 // ── Transformation ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/property-list.js26 // ── Mutation methods ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/bruno-js/src/property-list.js166 // ── Internal helpers ──────────────────────────────────────────────────COMMENT
3 more matches not shown…
Fake / Example Data75 hits · 80 pts
SeverityFileLineSnippetContext
LOWtests/code-editor/search-replace.spec.ts31 + `Lorem ipsum dolor sit amet, consectetur adipiscing elit. lorem paragraph ${i + 1}.\n`CODE
LOWtests/code-editor/search-replace.spec.ts31 + `Lorem ipsum dolor sit amet, consectetur adipiscing elit. lorem paragraph ${i + 1}.\n`CODE
LOW…s/multiline-variables/write-multiline-variable.spec.ts44 "name": "John Doe",CODE
LOW…s/multiline-variables/write-multiline-variable.spec.ts73 = '{\n "user": {\n "name": "John Doe",\n "email": "john@example.com",\n "preferences": {\n "theme":CODE
LOWtests/set-as-variable/set-as-variable.spec.ts168 await addEnvironmentVariable(page, { name: 'placeholder', value: 'x' });CODE
LOWtests/set-as-variable/set-as-variable.spec.ts281 await addEnvironmentVariable(page, { name: 'placeholder', value: 'x' });CODE
LOWtests/variables-tab/variables-tab.spec.ts505 await openRequest(page, EMPTY_COLLECTION, 'placeholder', { persist: true });CODE
LOWtests/mock-server/collection-mock-server.spec.ts139 expect(response.body).toEqual({ id: 1, name: 'John Doe', email: 'john@example.com' });CODE
LOWtests/mock-server/collection-mock-server.spec.ts235 expect(body).toContain('John Doe');CODE
LOW…utils/tests/collections/examples-export-import.spec.js199 body: '{"data": {"user": {"name": "John Doe"}}}'CODE
LOW…utils/tests/collections/examples-export-import.spec.js213 expect(graphqlRequest.examples[0].response.body).toBe('{"data": {"user": {"name": "John Doe"}}}');CODE
LOWpackages/bruno-app/src/utils/url/index.spec.js526 const params = [{ name: 'id', type: 'path', enabled: true, value: 'John Doe' }];CODE
LOWpackages/bruno-app/src/utils/url/index.spec.js587 const params = [{ name: 'id', type: 'path', enabled: true, value: 'John Doe' }];CODE
LOWpackages/bruno-app/src/utils/curl/parse-curl.spec.js754 curl --json '{"name": "John Doe", "email": "john@example.com"}' \CODE
LOWpackages/bruno-app/src/utils/curl/parse-curl.spec.js763 data: '{"name": "John Doe", "email": "john@example.com"}',CODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js69 description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js69 description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js76 expect(result).toBe('{"test":"value","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed dCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js76 expect(result).toBe('{"test":"value","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed dCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js93 const xmlData = '<root><item>value</item><description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sedCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js93 const xmlData = '<root><item>value</item><description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sedCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js98 expect(result).toContain('Lorem ipsum');CODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js115 description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js115 description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOW⚡…ges/bruno-app/src/utils/common/format-response.spec.js122 expect(result).toContain('Lorem ipsum');CODE
LOW…ges/bruno-app/src/components/SingleLineEditor/index.js229 this.editor.setOption('placeholder', this.props.placeholder);CODE
LOW…ages/bruno-app/src/components/MultiLineEditor/index.js339 this.editor.setOption('placeholder', this.props.placeholder);CODE
LOWpackages/bruno-app/src/themes/schema/oss.js213 required: ['bg', 'border', 'focusBorder', 'placeholder'],CODE
LOWpackages/bruno-app/src/themes/schema/oss.js731 required: ['bg', 'border', 'placeholder', 'gutter', 'variable', 'tokens', 'searchLineHighlightCurrent', 'searchMatCODE
LOW…ectron/tests/network/request/body/content-type.spec.js52 { name: 'name', value: 'John Doe', type: 'text', enabled: true },CODE
LOWpackages/bruno-lang/v2/tests/bruToJson.spec.js256 "name": "John Doe",CODE
LOWpackages/bruno-lang/v2/tests/bruToJson.spec.js268 { name: 'config', value: { name: 'John Doe', age: 30 }, enabled: true, local: false, annotations: [{ name: 'objeSTRING
LOWpackages/bruno-lang/v2/tests/bruToJson.spec.js301 "name": "John Doe",CODE
LOWpackages/bruno-lang/v2/tests/bruToJson.spec.js304 "signature": "John Doe"CODE
LOWpackages/bruno-lang/v2/tests/bruToJson.spec.js317 value: { name: 'John Doe', age: 30, email: 'john.doe@example.com', signature: 'John Doe' },STRING
LOWpackages/bruno-lang/v2/tests/annotations.spec.js257 @description('user@example.com')CODE
LOWpackages/bruno-lang/v2/tests/annotations.spec.js262 expect(output.headers[0].annotations).toEqual([{ name: 'description', value: 'user@example.com' }]);CODE
LOWpackages/bruno-cli/tests/runner/prepare-request.spec.js619 multipartForm: [{ name: 'name', value: 'John Doe', type: 'text', enabled: true }]CODE
LOW…uno-cli/tests/runner/request/body/content-type.spec.js30 { name: 'name', value: 'John Doe', type: 'text', enabled: true },CODE
LOW…kages/bruno-tests/src/auth/oauth2/clientCredentials.js61 return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } });CODE
LOW…kages/bruno-tests/src/auth/oauth2/authorizationCode.js162 return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } });CODE
LOW…ges/bruno-tests/src/auth/oauth2/passwordCredentials.js40 return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } });CODE
LOW⚡packages/bruno-tests/src/graphql/index.js89 name: 'John Doe',CODE
LOW⚡packages/bruno-tests/src/graphql/index.js95 { id: '1', name: 'John Doe', email: 'john@example.com', age: 30, posts: [] },CODE
LOW⚡packages/bruno-tests/src/graphql/index.js102 author: { id: '1', name: 'John Doe', email: 'john@example.com', age: 30, posts: [] },CODE
LOWpackages/bruno-tests/src/graphql/index.js118 name: input.name || 'John Doe',CODE
LOWpackages/bruno-tests/src/graphql/index.js128 author: { id: input.authorId, name: 'John Doe', email: 'john@example.com', age: 30, posts: [] },CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts49 params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }],CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts61 params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }],CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts950 { name: 'literal space', input: 'John Doe', expectedSegment: 'John%20Doe' },CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts1005 { name: 'literal space', input: 'John Doe' },CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts1057 params: [{ name: 'name', value: 'John Doe' }, { name: 'age', value: '25' }],CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts1337 { name: 'name', value: 'John Doe', type: 'query', enabled: true },CODE
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts1352 params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }],CODE
LOW…s/tests/postman/bruno-to-postman-with-examples.spec.js60 { id: 1, name: 'John Doe', email: 'john@example.com' },CODE
LOW…s/tests/postman/bruno-to-postman-with-examples.spec.js207 { id: 1, name: 'John Doe', email: 'john@example.com' },CODE
LOW…s/tests/postman/bruno-to-postman-with-examples.spec.js454 content: JSON.stringify({ id: 1, name: 'John Doe' })CODE
LOW…converters/tests/openapi/openapi-with-examples.spec.js33 { id: 1, name: 'John Doe', email: 'john@example.com' },CODE
LOW…converters/tests/openapi/openapi-with-examples.spec.js65 name: 'John Doe',CODE
LOW…converters/tests/openapi/openapi-with-examples.spec.js329 name: 'John Doe'CODE
15 more matches not shown…
Hyper-Verbose Identifiers32 hits · 32 pts
SeverityFileLineSnippetContext
LOWtests/proxy/system-pac/system-pac-proxy.spec.ts25function gnomeProxySchemaAvailable(): boolean {CODE
LOWtests/onboarding/sample-collection.spec.ts12async function dismissWelcomeModalIfVisible(page: any) {CODE
LOWpackages/bruno-requests/src/auth/digestauth-helper.js24function containsAuthorizationHeader(originalRequest) {CODE
LOWpackages/bruno-requests/src/utils/agent-cache.ts207function getTimelineHttpAgentClass(BaseAgentClass: any): HttpAgentClass {CODE
LOWpackages/bruno-requests/src/utils/agent-cache.ts230function getOrCreateAgentInternal<TOptions extends HttpAgentOptions>(CODE
LOWpackages/bruno-requests/src/utils/agent-cache.ts311function getOrCreateHttpsAgent({CODE
LOWpackages/bruno-requests/src/utils/agent-cache.ts345function getOrCreateHttpAgent({CODE
LOW…/slices/workspaces/getTabToFocusForCurrentWorkspace.js10export function getWorkspaceCollectionUids(state, workspace) {CODE
LOW…/slices/workspaces/getTabToFocusForCurrentWorkspace.js36export function getTabToFocusForCurrentWorkspace(state) {CODE
LOWpackages/bruno-app/src/utils/codemirror/linkAware.js8function extendUrlWithBalancedParentheses(url, line, endIndex) {CODE
LOW…s/bruno-app/src/utils/codemirror/addToScopeSwitcher.js206function createAddToScopeSwitcherDOM() {CODE
LOW…s/bruno-app/src/utils/codemirror/addToScopeSwitcher.js314function createInlineCreateFormManager() {CODE
LOW…uno-app/src/components/RequestTabs/RequestTab/index.js824 async function handleCloseTabsToTheRight() {CODE
LOW…src/hooks/usePersistedState/PersistedScopeProvider.tsx11export function ScopedPersistenceProvider({ scope, children }: { scope: string; children: ReactNode }) {CODE
LOW…es/bruno-electron/tests/network/axios-instance.spec.js267 function createRedirectingStubAdapter(redirectUrl, redirectStatus = 302) {CODE
LOW…es/bruno-electron/tests/network/axios-instance.spec.js411 function createChainRedirectingStubAdapter(redirectUrls) {CODE
LOW…kages/bruno-electron/src/utils/transformBrunoConfig.js5function transformBrunoConfigBeforeSave(brunoConfig) {CODE
LOW…kages/bruno-electron/src/utils/transformBrunoConfig.js45async function transformBrunoConfigAfterRead(brunoConfig, collectionPathname) {CODE
LOWpackages/bruno-electron/src/utils/git.js630async function getChangedFilesInCollectionGit(_gitRootPath, _collectionPath) {CODE
LOWpackages/bruno-electron/src/utils/parse.js10async function parseLargeRequestWithRedaction(bruContent, format = DEFAULT_COLLECTION_FORMAT) {CODE
LOWpackages/bruno-cli/tests/utils/axios-instance.spec.js200 function createRedirectingStubAdapter(redirectUrl, redirectStatus = 302) {CODE
LOWpackages/bruno-js/src/sandbox/node-vm/console.js82function wrapConsoleWithSerializers(originalConsole) {CODE
LOWpackages/bruno-js/src/sandbox/node-vm/cjs-loader.js660function markParentContextBoundIfNeeded(resolvedPath) {CODE
LOWpackages/bruno-converters/src/utils/ast-utils.js20export function getMemberExpressionString(node) {CODE
LOWpackages/bruno-converters/src/utils/ast-utils.js65export function buildMemberExpressionFromString(str) {CODE
LOW…no-converters/src/utils/bruno-to-postman-translator.js497function processAllTransformations(ast) {CODE
LOW…no-converters/src/utils/bruno-to-postman-translator.js534function transformCookieJarMethods(ast) {CODE
LOW…no-converters/src/utils/postman-to-bruno-translator.js846function resolveVariableReferences(ast, symbolTable) {CODE
LOW…no-converters/src/utils/postman-to-bruno-translator.js924function removeResolvedDeclarations(ast, symbolTable) {CODE
LOW…no-converters/src/utils/postman-to-bruno-translator.js1028function processCookieJarVariables(ast) {CODE
LOW…no-converters/src/utils/postman-to-bruno-translator.js1080function handleTestsBracketNotation(ast) {CODE
LOW…no-converters/src/workers/postman-translator-worker.js96function calculateScriptComplexity([uid, entry]) {CODE
Verbosity Indicators14 hits · 31 pts
SeverityFileLineSnippetContext
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts684 // Step 1: change req_str's dataType in the UI (puts the request in draft state).COMMENT
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts690 // Step 2: save — the number dataType round-trips to disk in the fixture's format.COMMENT
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts699 // Step 3: execute. The runner reads the saved fixture, sees req_str is now aCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts80 // Step 1: WelcomeCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts84 // Step 2: Theme selectionCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts88 // Step 3: Collection locationCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts92 // Step 4: ActionsCOMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js552 // Step 1: Export transformationCOMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js555 // Step 2: Simulate export process (remove UIDs and transform types)COMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js560 // Step 3: Simulate import process (transform types)COMMENT
LOWpackages/bruno-electron/src/utils/git.js1048 // Step 1: Write all conflicted files' final state to diskCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1061 // Step 2: Stage the conflicted filesCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1066 // Step 3: Write commit message to .git/MERGE_MSGCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1070 // Step 4: Call git merge --continueCOMMENT
Structural Annotation Overuse14 hits · 31 pts
SeverityFileLineSnippetContext
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts684 // Step 1: change req_str's dataType in the UI (puts the request in draft state).COMMENT
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts690 // Step 2: save — the number dataType round-trips to disk in the fixture's format.COMMENT
LOW⚡tests/variable-datatypes/parsed-from-fixture.spec.ts699 // Step 3: execute. The runner reads the saved fixture, sees req_str is now aCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts80 // Step 1: WelcomeCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts84 // Step 2: Theme selectionCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts88 // Step 3: Collection locationCOMMENT
LOW⚡tests/onboarding/welcome-modal.spec.ts92 // Step 4: ActionsCOMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js552 // Step 1: Export transformationCOMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js555 // Step 2: Simulate export process (remove UIDs and transform types)COMMENT
LOW⚡…utils/tests/collections/examples-export-import.spec.js560 // Step 3: Simulate import process (transform types)COMMENT
LOWpackages/bruno-electron/src/utils/git.js1048 // Step 1: Write all conflicted files' final state to diskCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1061 // Step 2: Stage the conflicted filesCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1066 // Step 3: Write commit message to .git/MERGE_MSGCOMMENT
LOW⚡packages/bruno-electron/src/utils/git.js1070 // Step 4: Call git merge --continueCOMMENT
Over-Commented Block24 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/codeeditor-state/fold-persistence.spec.ts521 // times — each undo must remove the most-recent sentinel, in reverse order.COMMENT
LOWtests/utils/page/actions.ts201 // controlled input via formik. Two implications:COMMENT
LOWtests/utils/page/actions.ts1961 const pane = page.locator(paneSelector);COMMENT
LOWtests/utils/constants/tls.ts1// Node surfaces the server's mTLS rejection as an OpenSSL handshake alert (e.g.COMMENT
LOWscripts/build-snap-local.sh1#!/bin/bashCOMMENT
LOWscripts/dev-hot-reload.js1#!/usr/bin/env nodeCOMMENT
LOWpackages/bruno-app/src/ui/SegmentedControl/index.jsx1// Public API: the data-driven SegmentedControl (takes an `items` array).COMMENT
LOW…/src/components/EnvironmentVariablesTable/reconcile.js1// Decide how the form reacts when the saved snapshot (environment.variables)COMMENT
LOWpackages/bruno-app/src/themes/dark/dracula.js1// Dracula Theme for BrunoCOMMENT
LOWpackages/bruno-electron/src/utils/workspace-config.js41 // if (fs.existsSync(workspaceFilePath)) {COMMENT
LOWpackages/bruno-electron/src/ipc/yml-migration.js21const { clearRequestUidsForCollection } = require('../cache/requestUids');COMMENT
LOWpackages/bruno-electron/src/ipc/yml-migration.js41// - single/double-quoted string literals are treated as opaqueCOMMENT
LOW…runo-electron/src/ipc/network/apply-collection-vars.js1const { uuid } = require('../../utils/common');COMMENT
LOWpackages/bruno-cli/docker/smoke-test.sh61# This test validates that bru can execute a collection end-to-endCOMMENT
LOW…ts/integration/run-folder-tags/run-folder-tags.spec.js1const { describe, it, expect, beforeAll, afterAll, beforeEach, afterEach } = require('@jest/globals');COMMENT
LOWpackages/bruno-cli/src/utils/persist-variables.js241 // A plain row of the same name shadows the other file's secret rather than replacing it, soCOMMENT
LOW…kages/bruno-common/src/generate-code/har/index.spec.ts981COMMENT
LOWpackages/bruno-common/src/generate-code/har/index.ts581};COMMENT
LOWpackages/bruno-common/src/generate-code/har/index.ts601 // usage, `shouldInterpolate=false` means "preserve URL-bar templates".COMMENT
LOWpackages/bruno-common/src/generate-code/har/index.ts621 // The token the synthetic scheme was prepended to, so the strip below can targetCOMMENT
LOWpackages/bruno-common/src/generate-code/har/index.ts661COMMENT
LOWpackages/bruno-common/src/utils/url/index.ts161// double-encoded. By decoding-then-encoding we collapse both cases (raw inputCOMMENT
LOWpackages/bruno-common/src/utils/url/index.ts181// loss in the snippet, or asymmetric ON/OFF behavior). Since Bruno is anCOMMENT
LOW…kages/bruno-converters/src/postman/bruno-to-postman.js621 key: 'includeBodyHash',COMMENT
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMtests/richtext-editor/actions.ts23 // more robust "are we editing?" signal than the toggle button's label text.COMMENT
MEDIUM…tman-translations/transpiler-tests/environment.test.js153 // Additional robust tests for environment variablesCOMMENT
MEDIUM…ranslations/transpiler-tests/testing-framework.test.js128 // Additional robust tests for testing frameworkCOMMENT
MEDIUM…nslations/transpiler-tests/legacy-tests-syntax.test.js104 // Additional robust tests for legacy tests[] syntaxCOMMENT
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpackages/bruno-app/src/hooks/useOnClickOutside/index.js27 // It's worth noting that because passed in handler is a new ...COMMENT
MEDIUMpackages/bruno-tests/src/auth/cookie.js22 // For demonstration purposes, let's assume the user is authenticated.COMMENT
Modern AI Meta-Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUM.claude/README.md45/write-e2e-test # scaffold a Playwright spec under tests/CODE
MEDIUM.claude/skills/code-review/SKILL.md20## How to review (orchestration)COMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH.claude/rules/conventions.md52 the moment it was written. Drop `// added to fix ...`, `// as requested`, `// new logic for X`,CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMscripts/build-electron.sh9# Create a new web directoryCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/dev-hot-reload.js9# Usage:COMMENT