AI Slop Code RIsk Monitor

corsairdev/corsair

Connect your users to their apps

4.5 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for corsairdev/corsair, a TypeScript project with 13,679 GitHub stars. SynthScan examined 2,228,294 lines of code across 9827 source files, recording 3882 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.5 (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.

4.5
Adjusted Signal
4.5
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
13.7K
Stars
TypeScript
Language
2.2M
Lines of Code
9.8K
Files
3.9K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 1.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

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

Agent Over-Engineering Ratio 18.9/100 · LOW

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

PR Review Velocity Impact 19.8/100 · LOW

Which changes need focused human review? 3882 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 5HIGH 17MEDIUM 2908LOW 952

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 3882 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.

Decorative Section Separators2901 hits · 8756 pts
SeverityFileLineSnippetContext
MEDIUMdemo/minimal/oauth.ts11// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdemo/minimal/oauth.ts13// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdemo/minimal/oauth.ts24// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdemo/minimal/oauth.ts26// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMadapters/mastra/src/corsair-tool-provider.ts353 // ── Discovery (BaseToolProvider layers allowlist filtering on top) ──────────COMMENT
MEDIUMadapters/mastra/src/corsair-tool-provider.ts413 // ── Runtime ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMadapters/mastra/src/corsair-tool-provider.ts477 // ── Managed OAuth lifecycle ───────────────────────────────────────────────COMMENT
MEDIUMadapters/mastra/src/corsair-tool-provider.check.ts43// ── resolveTenant precedence (tenant isolation) ─────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts69 // ── package.json ──────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts113 // ── tsconfig.json ─────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts139 // ── tsup.config.ts ────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts160 // ── webhooks/tenant-matcher.ts + oauth-tenant-link.ts ─────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts170 // ── index.ts ──────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts370 // ── client.ts ─────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts437 // ── error-handlers.ts ─────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts474 // ── endpoints/types.ts ────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts509 // ── endpoints/example.ts ──────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts530 // ── endpoints/index.ts ────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts543 // ── webhooks/types.ts ─────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts607 // ── webhooks/example.ts ───────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts640 // ── webhooks/index.ts ─────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts655 // ── schema/database.ts ────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts670 // ── schema/index.ts ───────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts680 // ── jest.config.cjs + starter test ────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin.ts767 // ── Update core/constants.ts to register the new provider ─────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts55// ── discovery (mirrors generate-plugin-docs.ts) ──────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts89// ── auth metadata (mirrors generate-plugin-docs.ts inference) ────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts156// ── README template (unslopped house style) ──────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts237// ── metadata fill (fills missing only, never clobbers) ───────────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts293// ── changeset ────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-readmes.ts306// ── plugin loading + orchestration ───────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts12// ── JSON shape ────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts55// ── Name helpers ──────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts168// ── Auth helpers ──────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts211// ── Zod schema code generation ────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts316// ── File content builders ─────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts944// ── Main ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/generate-plugin-from-json.ts1298// ── Entry ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts46// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts48// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts57// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts59// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts928 // ── Key Builder ───────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts931 // ── Webhook Signature ─────────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts941 // ── Static key shortcut ───────────────────────────────────────COMMENT
MEDIUM⚡packages/attio/index.ts946 // ── API Key auth ──────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts72// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts74// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts104// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts106// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts234// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts236// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts699// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts701// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts854// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts856// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts873// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts875// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts890 // ── OAuth Config ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/attio/index.ts972// ─────────────────────────────────────────────────────────────────────────────COMMENT
2841 more matches not shown…
Hyper-Verbose Identifiers553 hits · 562 pts
SeverityFileLineSnippetContext
LOWdemo/testing/src/scripts/test-hub.ts53async function testDeliveryEndpointHealth(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts107async function testManagedConnectSession(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts145async function testIntegrationCredentials(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts164async function testStoredGoogleCalendarTokens(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts186async function testStoredGitHubManagedTokens(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts208async function testGoogleCalendarApiCall(): Promise<void> {CODE
LOWdemo/testing/src/scripts/test-hub.ts240async function testManagedOAuthDeliveryHandler(): Promise<void> {CODE
LOWclients/python/tests/test_corsair_cloud.py46def test_call_builds_url_bearer_body_and_returns_data(monkeypatch):CODE
LOWclients/python/tests/test_corsair_cloud.py65def test_connection_status_parses_plugin_map(monkeypatch):CODE
LOW⚡clients/python/tests/test_corsair_cloud.py103def test_rejects_non_https_url():CODE
LOW⚡clients/python/tests/test_corsair_cloud.py108def test_allows_http_for_loopback():CODE
LOW⚡clients/python/tests/test_corsair_cloud.py113def test_call_encodes_a_slash_containing_tenant(monkeypatch):CODE
LOWclients/python/tests/test_corsair_cloud.py127def test_with_tenant_rejects_empty():CODE
LOWclients/python/tests/test_corsair_cloud.py133def test_derives_url_from_key():CODE
LOWexplorer/src/catalog.ts205function catalogFromLegacyMonolith(data: PluginCatalog, path: string): Catalog {CODE
LOWwww/scripts/migrate-blog-to-sanity.ts72async function uploadImageFromPublicPath(CODE
LOWwww/src/app/oss/oss-integrations-shell.tsx16function OssIntegrationsShellInner({CODE
LOWwww/src/app/oss/active-claim-deadline-banner.tsx23export function ActiveClaimDeadlineBanner({CODE
LOWwww/src/app/oss/mark-finished-button.tsx123export function ReadyToReviewStatusCallout({CODE
LOWwww/src/app/oss/oss-sections.tsx49export async function OssCategoryOnboardingSection({CODE
LOWwww/src/app/oss/contributor-profile.tsx171function ContributorIntegrationRow({CODE
LOWwww/src/app/oss/[slug]/integration-detail-sections.tsx129export async function IntegrationCapabilitiesSection({CODE
LOWwww/src/app/oss/[slug]/integration-detail-sections.tsx156export function IntegrationHeaderSkeleton() {CODE
LOWwww/src/app/oss/[slug]/integration-detail-sections.tsx190export function IntegrationCapabilitiesSkeleton() {CODE
LOWwww/src/app/oss/[slug]/integration-capability-list.tsx21export function IntegrationCapabilityList({CODE
LOWwww/src/app/oss/[slug]/integration-auth-scheme-list.tsx9export function IntegrationAuthSchemeList({CODE
LOWwww/src/server/catalog-integration-cache.ts11export function catalogIntegrationCacheTag(id: string) {CODE
LOWwww/src/server/catalog-integration-cache.ts19function getCachedCatalogIntegrationsList() {CODE
LOWwww/src/server/catalog-integration-cache.ts30function getCachedCatalogIntegrationIds() {CODE
LOWwww/src/server/catalog-integration-cache.ts41function getCachedCatalogIntegrationById(id: string) {CODE
LOWwww/src/server/integration-cache.ts23function getCachedIntegrationSummary(slug: string) {CODE
LOWwww/src/server/integration-cache.ts34function getCachedIntegrationCapabilities(slug: string) {CODE
LOWwww/src/server/oss-public-cache.ts18export function revalidateOssWriteSurface() {CODE
LOWwww/src/server/oss-public-cache.ts68export async function getIntegrationListForPage(CODE
LOWwww/src/server/github-users.ts10function getGithubAvatarFallbackUrl(username: string): string {CODE
LOWwww/src/server/catalog-combo-cache.ts16function getCachedCatalogCombosList() {CODE
LOWwww/src/server/catalog-combo-cache.ts27function getCachedCatalogComboRouteKeys() {CODE
LOWwww/src/server/catalog-combo-cache.ts38function getCachedCatalogComboByMemberIds(slugA: string, slugB: string) {CODE
LOWwww/src/server/enterprise-contact.ts17function formatEnterpriseContactMessage(input: SubmitEnterpriseContactInput) {CODE
LOWwww/src/server/enterprise-contact.ts30export async function sendEnterpriseContactNotification(CODE
LOWwww/src/server/integrations/claim-integration.ts104export async function claimIntegrationAtomically(CODE
LOWwww/src/server/actions/mark-ready-to-review.ts10export async function markIntegrationReadyToReview(integrationId: string) {CODE
LOWwww/src/server/actions/admin-mark-merged.ts11export async function adminMarkIntegrationMerged(integrationId: string) {CODE
LOWwww/src/server/api/routers/integrations.ts125function visibleIntegrationsFilter(query?: string, tagSlugs?: string[]): SQL {CODE
LOWwww/src/server/api/routers/integrations.ts151function mapIntegrationClaimFields(CODE
LOWwww/src/server/api/routers/integrations.ts181async function maybeAdvancePhaseAfterUrlUpdate(CODE
LOW…nts/landing/use-cases/corsair-infrastructure-layer.tsx4export function CorsairInfrastructureLayer() {CODE
LOW…nents/landing/hooks/use-window-pointer-interactions.ts43export function useWindowPointerInteractions({CODE
LOW…ts/integrations/detail/integration-capability-tabs.tsx50export function IntegrationCapabilityTabs({CODE
LOW…tegrations/detail/integration-capabilities-section.tsx4export function IntegrationCapabilitiesSection({CODE
LOW…src/components/integrations/combo/workflow-builder.tsx46function defaultPairForTriggerSide(CODE
LOW…nents/compare/nango-limited-api-operations-section.tsx14export function NangoLimitedApiOperationsSection({CODE
LOWwww/src/components/compare/nango-integrations-modal.tsx69export function NangoIntegrationsCountLink() {CODE
LOWwww/src/components/compare/nango-integrations-modal.tsx79export function NangoIntegrationsCatalogProvider({CODE
LOWwww/src/components/compare/nango-integrations-modal.tsx97export function NangoIntegrationsModalTrigger() {CODE
LOWwww/src/components/compare/nango-integrations-modal.tsx107function NangoIntegrationsCatalogDialog({CODE
LOW…nents/compare/visuals/security-architecture-visual.tsx40export function SecurityArchitectureVisual() {CODE
LOWwww/src/lib/integration-phases.ts32export function isIntegrationActivelyClaimed(CODE
LOWwww/src/lib/integration-urls.ts10export function formatIntegrationIssueLabel(url: string | null | undefined) {CODE
LOWwww/src/lib/auth-emails.ts70export function buildMagicLinkEmailFromUrl(url: string) {CODE
493 more matches not shown…
Fake / Example Data257 hits · 277 pts
SeverityFileLineSnippetContext
LOWdemo/sdk/slack/tests/models.test.ts318 real_name: 'John Doe',CODE
LOWdemo/sdk/slack/tests/models.test.ts331 real_name: 'John Doe',CODE
LOWdemo/sdk/posthog/README.md122 email: 'user@example.com',CODE
LOWdemo/sdk/posthog/README.md123 name: 'John Doe',CODE
LOWdemo/sdk/unified-sdk/tests/slack/models.test.ts318 real_name: 'John Doe',CODE
LOWdemo/sdk/unified-sdk/tests/slack/models.test.ts331 real_name: 'John Doe',CODE
LOWexplorer/data/plugins/apininjas.json4741 "description": "Returns one or more paragraphs of lorem ipsum placeholder text",CODE
LOWscripts/generate-plugin-readmes.test.ts115 author: 'Jane Doe',CODE
LOWscripts/generate-plugin-readmes.test.ts120 assert.equal(out.author, 'Jane Doe');CODE
LOWpackages/abstract/error-handlers.test.ts8 const error = new AbstractAPIError('placeholder', status);CODE
LOWpackages/abstract/api.test.ts95 { query: { email: 'test@test.com' } },CODE
LOW⚡packages/allimagesai/endpoints.test.ts34 harness.queue({ body: { email: 'user@example.com' } });CODE
LOW⚡packages/allimagesai/endpoints.test.ts43 expect(result.email).toBe('user@example.com');CODE
LOW⚡packages/allimagesai/endpoints.test.ts48 harness.queue({ body: { email: 'user@example.com' } });CODE
LOW⚡packages/allimagesai/endpoints.test.ts52 email: 'user@example.com',CODE
LOWpackages/allimagesai/client.test.ts22 harness.queue({ body: { email: 'user@example.com' } });CODE
LOWpackages/campayn/endpoints.test.ts282 email: 'user@example.com',CODE
LOWpackages/campayn/endpoints.test.ts292 email: 'user@example.com',CODE
LOWpackages/workiom/schema.test.ts61 '1251': 'user@example.com',CODE
LOWpackages/appointo/schema.test.ts128 name: 'John Doe',CODE
LOWpackages/appointo/schema.test.ts140 name: 'John Doe',CODE
LOWpackages/appointo/schema.test.ts386 name: 'John Doe',CODE
LOWpackages/appointo/endpoints.test.ts424 name: 'John Doe',CODE
LOWpackages/appointo/endpoints.test.ts476 name: 'John Doe',CODE
LOWpackages/appointo/endpoints.test.ts491 name: 'John Doe',CODE
LOWpackages/appointo/endpoints.test.ts520 name: 'Jane Doe',CODE
LOWpackages/appointo/endpoints.test.ts528 name: 'Jane Doe',CODE
LOWpackages/appointo/endpoints.test.ts541 name: 'Jane Doe',CODE
LOWpackages/emelia/endpoints.test.ts119 name: 'Jane Doe',CODE
LOWpackages/altoviz/endpoints.test.ts166 const payload = auditPayload({ customerId: 42, companyName: 'Acme Corp' });CODE
LOWpackages/altoviz/endpoints.test.ts173 companyName: 'Acme Corp',CODE
LOWpackages/borneo/endpoints/output-schemas.ts478 'Filters all logs with user email eg. "user@example.com".',CODE
LOWpackages/borneo/endpoints/types.ts234 .describe('Filters all logs with user email eg. "user@example.com".')CODE
LOW⚡packages/corsair/tests/kek-config.test.ts21 plugins: [slack({ authType: 'api_key', key: 'fake-key' })],CODE
LOW⚡packages/corsair/tests/kek-config.test.ts31 plugins: [slack({ authType: 'api_key', key: 'fake-key' })],CODE
LOW⚡packages/corsair/tests/kek-config.test.ts41 plugins: [slack({ authType: 'api_key', key: 'fake-key' })],CODE
LOWpackages/corsair/tests/retry-recover.test.ts70 key: 'fake-key',CODE
LOWpackages/corsair/tests/retry-recover.test.ts101 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts68 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts116 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts164 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts231 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts302 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts376 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts453 key: 'fake-key',CODE
LOWpackages/corsair/tests/hooks.test.ts514 key: 'fake-key',CODE
LOWpackages/corsair/tests/connect-link.test.ts157 const result = await boundFn({ to: 'user@example.com' });CODE
LOWpackages/cdrplatform/api.test.ts176 display_name: 'Jane Doe',CODE
LOWpackages/marketstack/error-handlers.test.ts8 const error = new MarketstackAPIError('placeholder', { apiCode });CODE
LOWpackages/sendgrid/api.test.ts26 contacts: [{ email: 'user@example.com', first_name: 'Jane' }],CODE
LOWpackages/sendgrid/api.test.ts30 contactSearchEmails: { emails: ['user@example.com'] },CODE
LOWpackages/breathehr/schema.test.ts26 email: 'foo@bar.com',CODE
LOWpackages/whautomate/schema.test.ts59 name: 'John Doe',CODE
LOWpackages/whautomate/schema.test.ts68 expect(result.name).toBe('John Doe');CODE
LOWpackages/whautomate/schema.test.ts163 name: 'John Doe',CODE
LOW⚡packages/whautomate/schema.test.ts182 expect(result.data[0]!.name).toBe('John Doe');CODE
LOW⚡packages/whautomate/schema.test.ts188 { id: 'contact_1', name: 'John Doe', phoneNumber: '+1234567890' },CODE
LOW⚡packages/whautomate/schema.test.ts191 expect(result.data[0]!.name).toBe('John Doe');CODE
LOWpackages/whautomate/schema.test.ts355 name: 'Jane Doe',CODE
LOWpackages/whautomate/schema.test.ts366 expect(result.name).toBe('Jane Doe');CODE
197 more matches not shown…
Over-Commented Block89 hits · 84 pts
SeverityFileLineSnippetContext
LOWdemo/testing/next-env.d.ts1/// <reference types="next" />COMMENT
LOWdemo/testing/src/scripts/test-hub.ts321}COMMENT
LOWdemo/testing/src/scripts/test-hub.ts341 // 'GitHub API (repositories.list)',COMMENT
LOWdemo/testing/src/scripts/test-hub.ts361 // message.includes('Bad credentials') ||COMMENT
LOWexplorer/pnpm-workspace.yaml1# Stops pnpm from walking up into the parent monorepo's workspace. This app isCOMMENT
LOWwww/next-env.d.ts1/// <reference types="next" />COMMENT
LOWpackages/ably/schema/database.ts1// Ably has no persisted database entities — messaging, presence,COMMENT
LOWpackages/abstract/index.ts241 keyBuilder: async (ctx: AbstractKeyBuilderContext, source) => {COMMENT
LOWpackages/twochat/webhooks/types.ts1// 2Chat has no incoming webhooks in this integration.COMMENT
LOWpackages/appointo/webhooks/index.ts1// Appointo uses API-token authentication and does not expose native webhooks.COMMENT
LOWpackages/webflow/endpoints/factory.ts501 response: unknown,COMMENT
LOWpackages/contentfulgraphql/schema.test.ts21// Per .github/PLUGIN_PR_RULES.md (R2), every implemented endpointCOMMENT
LOWpackages/contentfulgraphql/schema/database.ts1// This integration is a read-only GraphQL query API, so it defines noCOMMENT
LOWpackages/corsair/core/management/body-limit.ts1// ─────────────────────────────────────────────────────────────────────────────COMMENT
LOWpackages/corsair/core/management/call.ts81 // Never surface an arbitrary operation error's message — it can carryCOMMENT
LOWpackages/corsair/core/management/operations.ts81 // `IntegrationKeyManagerFor<AuthTypes>` is a public type whose accessors areCOMMENT
LOWpackages/corsair/core/management/adapters/next.ts1import type { ManagementHandlerOptions } from '../handler';COMMENT
LOWpackages/corsair/core/management/adapters/express.ts21//COMMENT
LOWpackages/corsair/core/management/adapters/hono.ts1import type { ManagementHandlerOptions } from '../handler';COMMENT
LOWpackages/corsair/core/management/adapters/fastify.ts21// // parser consumes request.raw BEFORE any handler runs, and re-serializingCOMMENT
LOW…kages/corsair/core/management/adapters/node-request.ts1// ─────────────────────────────────────────────────────────────────────────────COMMENT
LOWpackages/corsair/tests/framework-body-fidelity.test.ts21import { signDeliveryEnvelope } from '../hub/signing/envelope';COMMENT
LOWpackages/corsair/tests/framework-body-fidelity.test.ts41// - Express, no body parser (recommended) → adapter drains the raw stream.COMMENT
LOWpackages/corsair/tests/framework-realserver.test.ts21//COMMENT
LOWpackages/corsair/tests/management-client.test.ts1import { CorsairClientError, createCorsairClient } from '../client';COMMENT
LOWpackages/corsair/tests/management-handler.test.ts1import { createCorsair } from '../core';COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts1// import * as dotenv from 'dotenv';COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts21// });COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts41// 'retry-after': String(mockRetryAfterSeconds),COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts61COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts81// expect(capturedError?.status).toBe(429);COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts101// headers: {COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts121// ];COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts141COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts161// enabled: true,COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts181// errorHandlers,COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts201// },COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts221COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts241// expect(result.headersRetryAfterMs).toBeUndefined();COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts261// });COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts281// rateLimitConfig: {COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts301// {},COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts321// {COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts341// 'content-type': 'application/json',COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts361COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts381// expect(capturedError?.status).toBe(429);COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts401// const SLACK_BOT_TOKEN = process.env.SLACK_BOT_TOKEN;COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts421COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts441// console.log(COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts461// const secondStart = Date.now();COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts481// rateLimitConfig: {COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts501// const secondElapsed = Date.now() - secondStart;COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts521// const successCount = results.filter(COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts541// console.log(COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts561// );COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts581// console.warn('Your Slack workspace has extremely high rate limits.');COMMENT
LOW…ges/corsair/tests/slack-rate-limit-integration.test.ts601// 'Consider using the simulated test or a workspace with lower limits.',COMMENT
LOWpackages/corsair/workflows/probe.ts1import * as vm from 'node:vm';COMMENT
LOWpackages/corsair/workflows/execute.ts1import { createHash } from 'node:crypto';COMMENT
LOWpackages/corsair/client/react/index.ts21//COMMENT
29 more matches not shown…
Structural Annotation Overuse40 hits · 71 pts
SeverityFileLineSnippetContext
LOWdemo/sdk/linear/ENV_SETUP.md193### Step 1: Verify API KeyCOMMENT
LOWdemo/sdk/linear/ENV_SETUP.md206### Step 2: Verify Team ID (if set)COMMENT
LOWdemo/sdk/linear/ENV_SETUP.md214### Step 3: Verify Webhook SetupCOMMENT
LOW⚡demo/sdk/hubspot/README.md17#### Step 1: Navigate to Private AppsCOMMENT
LOW⚡demo/sdk/hubspot/README.md24#### Step 2: Create a New Private AppCOMMENT
LOW⚡demo/sdk/hubspot/README.md32#### Step 3: Configure Scopes (Permissions)COMMENT
LOWdemo/sdk/hubspot/README.md55#### Step 4: Get Your Access TokenCOMMENT
LOWdemo/sdk/hubspot/README.md63#### Step 5: Create Environment FileCOMMENT
LOWdemo/sdk/hubspot/README.md93#### Step 1: Get Your Webhook Secret (Optional but Recommended)COMMENT
LOWdemo/sdk/hubspot/README.md100#### Step 2: Set Up Local Webhook ServerCOMMENT
LOWdemo/sdk/hubspot/README.md114#### Step 3: Create Webhook Subscription in HubSpotCOMMENT
LOWdemo/sdk/hubspot/README.md126#### Step 4: Test WebhooksCOMMENT
LOWdemo/sdk/slack/README.md17#### Step 1: Create a Slack AppCOMMENT
LOWdemo/sdk/slack/README.md26#### Step 2: Configure Bot Token ScopesCOMMENT
LOW⚡demo/sdk/slack/README.md55#### Step 3: Install App to WorkspaceCOMMENT
LOW⚡demo/sdk/slack/README.md62#### Step 4: Get User Token (Optional)COMMENT
LOW⚡demo/sdk/slack/README.md72#### Step 5: Find Channel and User IDsCOMMENT
LOWdemo/sdk/slack/README.md93#### Step 6: Create Environment FileCOMMENT
LOW⚡demo/sdk/posthog/README.md17#### Step 1: Get Your Project API KeyCOMMENT
LOW⚡demo/sdk/posthog/README.md24#### Step 2: Get Your Personal API Key (Optional, for API access)COMMENT
LOW⚡demo/sdk/posthog/README.md32#### Step 3: Create Environment FileCOMMENT
LOWdemo/sdk/posthog/README.md64#### Step 1: Set Up Local Webhook ServerCOMMENT
LOWdemo/sdk/posthog/README.md78#### Step 2: Create Webhook Destination in PostHogCOMMENT
LOWdemo/sdk/posthog/README.md87#### Step 3: Test WebhooksCOMMENT
LOW⚡demo/sdk/gmail/README.md36### Step 1: Create Google Cloud ProjectCOMMENT
LOW⚡demo/sdk/gmail/README.md42### Step 2: Enable Gmail APICOMMENT
LOW⚡demo/sdk/gmail/README.md48### Step 3: Create OAuth 2.0 CredentialsCOMMENT
LOW⚡demo/sdk/gmail/README.md56### Step 4: Get Access TokenCOMMENT
LOWdemo/sdk/gmail/README.md96### Step 5: Configure Environment VariablesCOMMENT
LOW⚡packages/googlecalendar/setup.ts32### Step 2: Enable the Google Calendar APICOMMENT
LOW⚡packages/googlecalendar/setup.ts42### Step 3: Configure the OAuth Consent ScreenCOMMENT
LOW⚡packages/googlecalendar/setup.ts129### Step 9: Get a Public Webhook URLCOMMENT
LOW⚡packages/googlecalendar/setup.ts139### Step 10: Set Up ngrokCOMMENT
LOWpackages/googlecalendar/setup.ts19### Step 1: Check for an existing GCP projectCOMMENT
LOWpackages/googlecalendar/setup.ts61### Step 4: Create OAuth 2.0 CredentialsCOMMENT
LOWpackages/googlecalendar/setup.ts77### Step 5: Enter Client ID and Client SecretCOMMENT
LOWpackages/googlecalendar/setup.ts88### Step 6: Get Access Token and Refresh Token (OAuth Playground)COMMENT
LOWpackages/googlecalendar/setup.ts106### Step 7: Enter Access Token and Refresh TokenCOMMENT
LOWpackages/googlecalendar/setup.ts117### Step 8: Webhook Setup (Optional)COMMENT
LOWpackages/googlecalendar/setup.ts174### Step 11: Create the Calendar Watch ChannelCOMMENT
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippetContext
CRITICALpackages/circleci/endpoints.test.ts1033 const entityIds = db.projectEnvVars.upsertByEntityId.mock.calls.map(CODE
CRITICALpackages/doppler/endpoints.test.ts1034 const calledKeys = db.environments.upsertByEntityId.mock.calls.map(CODE
CRITICALpackages/twilio/integration.test.ts238 await corsair.twilio.webhooks.message.received.handler({CODE
CRITICALpackages/apininjas/behaviour.test.ts122 const kinds = db.vehicles.upsertByEntityId.mock.calls.map(CODE
CRITICALpackages/apininjas/behaviour.test.ts125 const ids = db.vehicles.upsertByEntityId.mock.calls.map((call) => call[0]);CODE
Cross-Language Confusion (JS/TS)6 hits · 42 pts
SeverityFileLineSnippetContext
HIGHpackages/googlemeet/scripts/setup-test-db.ts171print(f'Opening database: {db_path}')CODE
HIGH⚡packages/googlemeet/scripts/setup-test-db.ts190print(f'\\nIntegration rows: {len(integrations)}')CODE
HIGH⚡packages/googlemeet/scripts/setup-test-db.ts192 print(f' id={row[0]}, name={row[1]}')CODE
HIGH⚡packages/googlemeet/scripts/setup-test-db.ts196print(f'\\nAccount rows: {len(accounts)}')CODE
HIGH⚡packages/googlemeet/scripts/setup-test-db.ts198 print(f' id={row[0]}, tenant_id={row[1]}')CODE
HIGH⚡packages/googlemeet/scripts/setup-test-db.ts201print('\\nDone! Google Meet plugin is ready to test.')CODE
Synthetic Comment Markers7 hits · 38 pts
SeverityFileLineSnippetContext
HIGHexplorer/data/plugins/winstonai.json24 "description": "Score whether a public image URL was created by a human or generated by AI",CODE
HIGHexplorer/data/plugins/winstonai.json85 "description": "Score whether text, a public file, or a website was written by a human or generated by AI",CODE
HIGHpackages/winstonai/README.md15| `detect.aiText` | `winstonai.api.detect.aiText` | `read` | Score whether text was written by a human or generated by ACODE
HIGHpackages/winstonai/README.md17| `detect.aiImage` | `winstonai.api.detect.aiImage` | `read` | Score whether a public image URL was generated by AI |CODE
HIGHpackages/winstonai/index.ts100 'Score whether text, a public file, or a website was written by a human or generated by AI',CODE
HIGHpackages/winstonai/index.ts110 'Score whether a public image URL was created by a human or generated by AI',CODE
HIGHpackages/zoom/endpoints/types.ts331 // AI-generated summary detail items have an open-ended structure that Zoom may extendCOMMENT
Magic Placeholder Names4 hits · 25 pts
SeverityFileLineSnippetContext
HIGHdemo/sdk/posthog/README.md173 token: 'your-api-key-here',CODE
HIGHpackages/accrediblecertificates/client.ts46 // "Use the format: Token token=YOUR_API_KEY".COMMENT
HIGHpackages/googlecalendar/setup.ts1574. Run: \`ngrok config add-authtoken YOUR_TOKEN_HERE\`CODE
HIGHpackages/serpapi/client.ts38 // (confirmed from the docs: `?api_key=YOUR_API_KEY`, not a header).COMMENT
Modern AI Meta-Vocabulary7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMpackages/leexi/index.ts210 // compiler. This mirrors the generator scaffold used by every plugin.COMMENT
MEDIUMpackages/extractaai/client.ts98 // default scaffold which only sent bodies for POST/PUT/PATCH.COMMENT
MEDIUMpackages/nextdns/client.ts84 // it in a generic error class here (the generator's original scaffoldCOMMENT
MEDIUMpackages/replyio/index.ts444// The factory is intentionally non-generic: the generated scaffold uses aCOMMENT
MEDIUMpackages/veriphone/index.ts169 // Generator scaffold default: empty options satisfy the generic bound.COMMENT
MEDIUMpackages/habitica/error-handlers.test.ts73 // The scaffold matched 'rate_limited', which Habitica never sends.COMMENT
MEDIUMpackages/serpapi/client.ts59 // it in a generic error class here (the generator's original scaffoldCOMMENT
Verbosity Indicators11 hits · 19 pts
SeverityFileLineSnippetContext
LOW⚡packages/googlecalendar/setup.ts32### Step 2: Enable the Google Calendar APICOMMENT
LOW⚡packages/googlecalendar/setup.ts42### Step 3: Configure the OAuth Consent ScreenCOMMENT
LOW⚡packages/googlecalendar/setup.ts129### Step 9: Get a Public Webhook URLCOMMENT
LOW⚡packages/googlecalendar/setup.ts139### Step 10: Set Up ngrokCOMMENT
LOWpackages/googlecalendar/setup.ts19### Step 1: Check for an existing GCP projectCOMMENT
LOWpackages/googlecalendar/setup.ts61### Step 4: Create OAuth 2.0 CredentialsCOMMENT
LOWpackages/googlecalendar/setup.ts77### Step 5: Enter Client ID and Client SecretCOMMENT
LOWpackages/googlecalendar/setup.ts88### Step 6: Get Access Token and Refresh Token (OAuth Playground)COMMENT
LOWpackages/googlecalendar/setup.ts106### Step 7: Enter Access Token and Refresh TokenCOMMENT
LOWpackages/googlecalendar/setup.ts117### Step 8: Webhook Setup (Optional)COMMENT
LOWpackages/googlecalendar/setup.ts174### Step 11: Create the Calendar Watch ChannelCOMMENT
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWclients/python/corsair_cloud/__init__.py17__all__ = ["CorsairCloud", "CorsairError", "TenantClient", "Manage"]CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWclients/python/corsair_cloud/__init__.py7CODE