Repository Analysis

butterbase-ai/butterbase

Open-source backend-as-a-service. Postgres, auth, storage, functions, AI gateway, MCP.

6.0 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of butterbase-ai/butterbase, a TypeScript project with 2,733 GitHub stars. SynthScan v2.0 examined 255,276 lines of code across 1337 source files, recording 721 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 6.0 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).

6.0
Adjusted Score
6.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
2.7K
Stars
TypeScript
Language
255.3K
Lines of Code
1.3K
Files
721
Pattern Hits
2026-07-14
Scan Date
0.01
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 4HIGH 10MEDIUM 323LOW 384

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 721 distinct pattern matches across 18 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 Separators314 hits · 974 pts
SeverityFileLineSnippetContext
MEDIUMpackages/cli/bin/butterbase.ts1079// ─── ai meetings ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts3// ─── SDK mock ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts34// ─── Fixtures ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts65// ─── search-person ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts127// ─── search-company ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts174// ─── profile ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts244// ─── email-lookup ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/__tests__/people.test.ts286// ─── email-status ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/lib/api-client.ts592// ─── RLS wrappers ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/lib/api-client.ts631// ─── Billing wrappers ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/lib/api-client.ts670// ─── Functions invoke + env wrappers ─────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/lib/api-client.ts684// ─── RAG wrappers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/rag.ts29// ─── Collections ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/rag.ts129// ─── Ingest ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/rag.ts207// ─── Documents ───────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/rag.ts249// ─── Query ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts7// ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts54// ─── search-person ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts127// ─── search-company ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts201// ─── profile ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts277// ─── email-lookup ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/people.ts310// ─── email-status ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/app-billing.ts22// ─── Plans ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/app-billing.ts80// ─── Products ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/app-billing.ts138// ─── Subscriptions ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/app-billing.ts193// ─── Orders ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/cli/src/commands/ai.ts124// ─── Meetings ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts39 // ─── existing tests ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts114 // ─── set with options ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts132 // ─── setex ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts143 // ─── incr / decr ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts172 // ─── setnx ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts189 // ─── cas ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts207 // ─── exists ───────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts217 // ─── ttl ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts233 // ─── expire ───────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts245 // ─── mget ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts267 // ─── mset ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts284 // ─── new error classes ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/kv.test.ts343 // ─── quota / rate-limit error mapping ────────────────────────────────────COMMENT
MEDIUMpackages/sdk/src/auth/session-manager.ts149 // ── Internal helpers ─────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts41// ── Helpers ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts152// ── Test cases ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts156 // ── Rate limit ──────────────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts192 // ── Credits exhausted ───────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts216 // ── Value too large ─────────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts234 // ── Storage cap ─────────────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts255 // ── Successful write: storage counter updated ────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts283 // ── Successful read: storage counter unchanged ──────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts308 // ── Overwrite: delta is net change ──────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts338 // ── Delete: storage counter decrements ──────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts363 // ── Key count: increments on new key ────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts384 // ── Key count: decrements on delete ────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts410 // ── Key count: unchanged on overwrite ────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts437 // ── Key count: batch operations ────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts474// ── Migration sentinel tests ────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.test.ts545// ── Unit tests for pure helpers ────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.ts199 // ── (1) Rate limit ────────────────────────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.ts210 // ── (2) Value size cap (writes only) ──────────────────────────────────COMMENT
MEDIUMservices/control-api/src/plugins/kv-quota.ts224 // ── (3) Credits balance ───────────────────────────────────────────────COMMENT
254 more matches not shown…
Hyper-Verbose Identifiers171 hits · 188 pts
SeverityFileLineSnippetContext
LOWtests/e2e/helpers/move-app-flow.ts191export async function runForwardMoveAppToCompleted(opts: {CODE
LOWpackages/shared/src/regions.ts131export function butterbaseRegionToFlyRegion(CODE
LOWpackages/cli/src/lib/api-client.ts474export async function rotateIntegrationCredentials(CODE
LOWpackages/cli/src/lib/api-client.ts598export async function createUserIsolationPolicy(appId: string, body: {CODE
LOWpackages/cli/src/lib/lockfile-hash.ts5export function detectPackageManagerAndLockfile(projectDir: string): {CODE
LOWpackages/cli/src/commands/integrations.ts89export async function integrationsConfigCommand(options: { app?: string }) {CODE
LOWpackages/cli/src/commands/integrations.ts114export async function integrationsConfigureCommand(CODE
LOWpackages/cli/src/commands/integrations.ts144export async function integrationsRotateCommand(CODE
LOWpackages/cli/src/commands/integrations.ts168export async function integrationsDisableCommand(toolkit: string, options: { app?: string }) {CODE
LOWpackages/cli/src/commands/integrations.ts181export async function integrationsConnectCommand(toolkit: string, options: { app?: string; redirectUrl?: string; userId?CODE
LOWpackages/cli/src/commands/integrations.ts199export async function integrationsConnectionsCommand(options: { app?: string }) {CODE
LOWpackages/cli/src/commands/integrations.ts226export async function integrationsDisconnectCommand(connectionId: string, options: { app?: string }) {CODE
LOWpackages/cli/src/commands/integrations.ts263export async function integrationsExecuteCommand(toolName: string, options: { app?: string; data?: string; userId?: striCODE
LOWpackages/cli/src/commands/rag.ts31export async function ragCollectionsListCommand(options: { app?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/rag.ts58export async function ragCollectionsCreateCommand(CODE
LOWpackages/cli/src/commands/rag.ts116export async function ragCollectionsDeleteCommand(name: string, options: { app?: string }) {CODE
LOWpackages/cli/src/commands/people.ts56export async function peopleSearchPersonCommand(CODE
LOWpackages/cli/src/commands/people.ts129export async function peopleSearchCompanyCommand(CODE
LOWpackages/cli/src/commands/apps.ts168export async function appsUnlinkSubstrateCommand(appId: string) {CODE
LOWpackages/cli/src/commands/apps.ts187export async function appsSubstrateAutopropagateCommand(appId: string, opts: { users?: boolean }) {CODE
LOWpackages/cli/src/commands/ai.ts199export async function aiMeetingsEstimateCommand(options: { app?: string; durationMinutes: number; transcript?: boolean; CODE
LOWpackages/cli/src/commands/substrate.ts55export async function substrateEntitiesListCommand(opts: { type?: string; limit?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts64export async function substrateEntitiesGetCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts71export async function substrateArtifactsListCommand(opts: { kind?: string; q?: string; limit?: string; json?: boolean })CODE
LOWpackages/cli/src/commands/substrate.ts82export async function substrateArtifactsGetCommand(id: string, _opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts100export async function substrateMemoryListCommand(opts: {CODE
LOWpackages/cli/src/commands/substrate.ts124export async function substrateOutboxListCommand(opts: { state?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts133export async function substrateRulesListCommand(opts: { enabled?: boolean; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts149export async function substrateRulesFiringsCommand(id: string, opts: { limit?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts158export async function substrateSnapshotsCommand(opts: { days?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts167export async function substrateSettingsShowCommand(opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts174export async function substrateLedgerInspectCommand(actionId: string, _opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts211export async function substrateEntitiesUpdateCommand(id: string, opts: { patch?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts223export async function substrateOutboxCancelCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts230export async function substrateOutboxRetryCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts237export async function substrateRulesCreateCommand(opts: { file?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts246export async function substrateRulesUpdateCommand(id: string, opts: { file?: string; json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts255export async function substrateRulesDeleteCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts262export async function substrateRulesEnableCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts269export async function substrateRulesDisableCommand(id: string, opts: { json?: boolean }) {CODE
LOWpackages/cli/src/commands/substrate.ts276export async function substrateSettingsYoloCommand(state: string, opts: { json?: boolean }) {CODE
LOWservices/mcp-server/src/create-server.ts85export async function createButterbaseMcpServer() {CODE
LOWservices/mcp-server/src/request-auth-context.ts32export function getRequestAuthorizationHeader(): string | undefined {CODE
LOWservices/mcp-server/src/active-window-cache.ts22export async function fetchAndCacheActiveWindow(): Promise<boolean> {CODE
LOWservices/mcp-server/src/eligibility-listener.ts11export async function startActiveWindowListener(connectionString: string) {CODE
LOWservices/mcp-server/src/tools/deploy-frontend.ts5export function registerCreateFrontendDeployment(server: McpServer) {CODE
LOWservices/mcp-server/src/tools/submit-hackathon-entry.ts85export function registerSubmitHackathonEntry(server: McpServer) {CODE
LOWservices/mcp-server/src/tools/manage-durable-objects.ts5export function registerManageDurableObjects(server: McpServer) {CODE
LOWservices/control-api/src/config.ts302export function assertInternalEmailSecret(): void {CODE
LOWservices/control-api/src/routes/hackathons-mcp.ts13function extractButterbaseSubdomain(value: unknown): string | null {CODE
LOWservices/control-api/src/routes/durable-objects.ts98export async function registerDurableObjectRoutes(fastify: FastifyInstance) {CODE
LOWservices/control-api/src/routes/edge-ssr-from-source.ts37export async function registerEdgeSsrFromSourceRoutes(fastify: FastifyInstance) {CODE
LOWservices/control-api/src/routes/frontend-from-source.ts33export async function registerFrontendFromSourceRoutes(fastify: FastifyInstance) {CODE
LOWservices/control-api/src/routes/notification-actions.ts47export async function notificationActionsRoutes(app: FastifyInstance) {CODE
LOWservices/control-api/src/services/app-pool.ts124export function getAppPoolByConnectionString(appId: string, connectionString: string): pg.Pool {CODE
LOWservices/control-api/src/services/platform-db.ts7export function resolveActivePlatformDbUrl(cfg: PlatformDbConfig): string {CODE
LOWservices/control-api/src/services/r2.ts65export async function generatePresignedUploadUrl(CODE
LOWservices/control-api/src/services/s3.ts65export async function generatePresignedUploadUrl(CODE
LOWservices/control-api/src/services/s3.ts124export async function generatePresignedDownloadUrl(CODE
LOW…ces/control-api/src/services/monthly-resets-service.ts38export async function resetMonthlyAllowanceWithClient(CODE
111 more matches not shown…
Fake / Example Data62 hits · 65 pts
SeverityFileLineSnippetContext
LOWExamples/agents/support-readonly/README.md32 --input '{"message": "Why was I charged twice last month?", "email": "user@example.com"}' \CODE
LOWpackages/cli/src/__tests__/people.test.ts59 name: 'Acme Corp',CODE
LOWpackages/cli/src/__tests__/people.test.ts160 expect(output).toContain('Acme Corp');CODE
LOWpackages/cli/src/__tests__/people.test.ts170 expect(parsed.data.results[0].name).toBe('Acme Corp');CODE
LOWpackages/sdk/README.md79 email: 'user@example.com',CODE
LOWpackages/sdk/README.md85 email: 'user@example.com',CODE
LOWpackages/sdk/README.md310 to: 'user@example.com',CODE
LOWservices/mcp-server/src/tools/integrations.ts72 Input: { app_id: "app_abc123", action: "execute_action", tool_name: "GMAIL_SEND_EMAIL", params: { to: "user@example.cCODE
LOWservices/mcp-server/src/tools/invoke-function.ts14 body: { email: "user@example.com", message: "hello" }CODE
LOWservices/mcp-server/src/docs/user-documentation.ts440 "client_secret": "placeholder",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts522 "email": "user@example.com",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts524 "display_name": "Jane Doe"CODE
LOWservices/mcp-server/src/docs/user-documentation.ts545 "email": "user@example.com",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts559 "email": "user@example.com",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts561 "display_name": "Jane Doe",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts607 "email": "user@example.com",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts624 "email": "user@example.com"CODE
LOWservices/mcp-server/src/docs/user-documentation.ts638 "email": "user@example.com",CODE
LOWservices/mcp-server/src/docs/user-documentation.ts2908 email: 'user@example.com',CODE
LOWservices/mcp-server/src/docs/user-documentation.ts2914 email: 'user@example.com',CODE
LOWservices/mcp-server/src/docs/user-documentation.ts3711butterbase integrations execute <tool-name> --data '{"to":"user@example.com","subject":"Hi"}' [--user-id <id>] [--app <aCODE
LOWservices/control-api/src/routes/people.test.ts117 fullName: 'Jane Doe',CODE
LOW…auth/__tests__/email-service-suggestion-status.test.ts20 await sendSuggestionStatusUpdateEmail('user@example.com', {CODE
LOW…auth/__tests__/email-service-suggestion-status.test.ts28 expect(command.Destination.ToAddresses).toEqual(['user@example.com']);CODE
LOW…auth/__tests__/email-service-suggestion-status.test.ts35 await sendSuggestionStatusUpdateEmail('user@example.com', {CODE
LOW…auth/__tests__/email-service-suggestion-status.test.ts51 sendSuggestionStatusUpdateEmail('user@example.com', {CODE
LOW…i/src/services/__tests__/clone-replay-env-vars.test.ts102 JSON.stringify({ BUTTERBASE_API_KEY: 'placeholder' }),CODE
LOW…/services/__tests__/durable-objects-clone-mint.test.ts154 BUTTERBASE_API_KEY: 'placeholder',CODE
LOW…/services/__tests__/durable-objects-clone-mint.test.ts222 BUTTERBASE_API_KEY: 'placeholder',CODE
LOWservices/control-api/src/services/people/cache.test.ts12 fullName: 'Jane Doe',CODE
LOW…ices/docs/src/content/docs/api-reference/people-api.md104 "fullName": "Jane Doe",CODE
LOW…ices/docs/src/content/docs/api-reference/people-api.md230 "fullName": "Jane Doe",CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md70 "client_secret": "placeholder",CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md88 "email": "user@example.com",CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md90 "display_name": "Jane Doe"CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md106 "email": "user@example.com",CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md108 "display_name": "Jane Doe",CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md119{ "email": "user@example.com" }CODE
LOW…rvices/docs/src/content/docs/api-reference/auth-api.md135{ "email": "user@example.com", "code": "123456" }CODE
LOWservices/docs/src/content/docs/guides/lead-finder.md185// → { data: { fullName: "Jane Doe", headline: "VP at InwestCo", ... },COMMENT
LOW…/docs/src/content/docs/core-concepts/authentication.md78 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md80 "display_name": "Jane Doe"CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md96 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md111 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md113 "display_name": "Jane Doe",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md133 "email": "user@example.com"CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md147 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md165const { data, error } = await client.auth.sendMagicLink('user@example.com');CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md167const { data, error } = await client.auth.verifyMagicLink('user@example.com', '123456');CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md209 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md234 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md332 "email": "user@example.com",CODE
LOW…/docs/src/content/docs/core-concepts/authentication.md334 "display_name": "Jane Doe",CODE
LOW…es/docs/src/content/docs/core-concepts/integrations.md95 "to": "user@example.com",CODE
LOW…es/docs/src/content/docs/core-concepts/integrations.md174 { to: 'user@example.com', subject: 'Hi', body: 'Hello' }CODE
LOW…docs/src/content/docs/sdks-and-tools/typescript-sdk.md98 email: 'user@example.com',CODE
LOW…docs/src/content/docs/sdks-and-tools/typescript-sdk.md104 email: 'user@example.com',CODE
LOW…docs/src/content/docs/sdks-and-tools/typescript-sdk.md129await butterbase.auth.sendMagicLink('user@example.com');CODE
LOW…docs/src/content/docs/sdks-and-tools/typescript-sdk.md132const { data, error } = await butterbase.auth.verifyMagicLink('user@example.com', '123456');CODE
LOW…docs/src/content/docs/sdks-and-tools/typescript-sdk.md207 to: 'user@example.com',CODE
2 more matches not shown…
Structural Annotation Overuse36 hits · 64 pts
SeverityFileLineSnippetContext
LOWExamples/grocery-list-2026-04-03/BUTTERBASE_SETUP.md5## Step 1: Initialize appCOMMENT
LOWExamples/grocery-list-2026-04-03/BUTTERBASE_SETUP.md20## Step 2: Apply schemaCOMMENT
LOWExamples/grocery-list-2026-04-03/BUTTERBASE_SETUP.md85## Step 3: Row-level securityCOMMENT
LOWExamples/grocery-list-2026-04-03/BUTTERBASE_SETUP.md97## Step 4: CORSCOMMENT
LOWExamples/grocery-list-2026-04-03/BUTTERBASE_SETUP.md108## Step 5: Recipe assistant (serverless function)COMMENT
LOWExamples/todo-2026-04-02/BUTTERBASE_SETUP.md5## Step 1: Initialize AppCOMMENT
LOWExamples/todo-2026-04-02/BUTTERBASE_SETUP.md15## Step 2: Apply SchemaCOMMENT
LOWExamples/todo-2026-04-02/BUTTERBASE_SETUP.md77## Step 3: Enable RLSCOMMENT
LOWExamples/todo-2026-04-02/BUTTERBASE_SETUP.md94## Step 4: Configure CORSCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts98 // Step 1: Create deployment (get upload URL)COMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts101 // Step 2: Zip the directoryCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts105 // Step 3: Upload zip to presigned URLCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts109 // Step 4: Start the deployment pipelineCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts113 // Step 5: Poll until terminal state (5 s × 60 = 5 min max)COMMENT
LOWpackages/cli/src/commands/deploy.ts81 // Step 1: Create deploymentCOMMENT
LOWpackages/cli/src/commands/deploy.ts84 // Step 2: Zip directoryCOMMENT
LOWpackages/cli/src/commands/deploy.ts88 // Step 3: UploadCOMMENT
LOWpackages/cli/src/commands/deploy.ts92 // Step 4: Start deploymentCOMMENT
LOWpackages/cli/src/commands/deploy.ts96 // Step 5: Poll until doneCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts105 // Step 1: Upload file to storage to get an object IDCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts123 // Step 2: Upload the file to the presigned URLCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts134 // Step 3: Ingest using the storage object IDCOMMENT
LOWservices/control-api/src/plugins/auth.ts343 // Step 1: Create a candidate personal org (may be discarded on conflict).COMMENT
LOWservices/control-api/src/plugins/auth.ts352 // Step 2: Upsert platform_users.COMMENT
LOWservices/control-api/src/routes/rag.ts807 // Step 1: Embed the queryCOMMENT
LOWservices/control-api/src/routes/rag.ts818 // Step 2: Similarity search with RLSCOMMENT
LOWservices/control-api/src/routes/rag.ts851 // Step 3: Optional synthesisCOMMENT
LOWservices/control-api/src/services/neon-task-worker.ts1043 // Step 7: replay the source's most recent published frontend by copyingCOMMENT
LOWservices/control-api/src/services/app-plan-resolver.ts33 // Step 1: get owner_id from runtime DB (apps is a runtime-tier table)COMMENT
LOWservices/control-api/src/services/app-plan-resolver.ts40 // Step 2: get plan_id from the owner's personal org (Plan 07 movedCOMMENT
LOWservices/control-api/src/services/rag-worker.ts189 // Step 1: Download and parse the documentCOMMENT
LOWservices/control-api/src/services/rag-worker.ts208 // Step 2: Chunk the textCOMMENT
LOWservices/control-api/src/services/rag-worker.ts224 // Step 3: Batch embed chunksCOMMENT
LOWservices/control-api/src/services/rag-worker.ts246 // Step 4: Insert chunks into app databaseCOMMENT
LOWservices/docs/src/content/docs/guides/monetization.md16### Step 1: Onboard your Connect accountCOMMENT
LOWservices/docs/src/content/docs/guides/monetization.md24### Step 2: Check onboarding statusCOMMENT
Verbosity Indicators25 hits · 48 pts
SeverityFileLineSnippetContext
LOWpackages/cli/src/commands/deploy-edge-ssr.ts98 // Step 1: Create deployment (get upload URL)COMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts101 // Step 2: Zip the directoryCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts105 // Step 3: Upload zip to presigned URLCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts109 // Step 4: Start the deployment pipelineCOMMENT
LOWpackages/cli/src/commands/deploy-edge-ssr.ts113 // Step 5: Poll until terminal state (5 s × 60 = 5 min max)COMMENT
LOWpackages/cli/src/commands/deploy.ts81 // Step 1: Create deploymentCOMMENT
LOWpackages/cli/src/commands/deploy.ts84 // Step 2: Zip directoryCOMMENT
LOWpackages/cli/src/commands/deploy.ts88 // Step 3: UploadCOMMENT
LOWpackages/cli/src/commands/deploy.ts92 // Step 4: Start deploymentCOMMENT
LOWpackages/cli/src/commands/deploy.ts96 // Step 5: Poll until doneCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts105 // Step 1: Upload file to storage to get an object IDCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts123 // Step 2: Upload the file to the presigned URLCOMMENT
LOWpackages/sdk/src/rag/rag-client.ts134 // Step 3: Ingest using the storage object IDCOMMENT
LOWservices/control-api/src/plugins/auth.ts343 // Step 1: Create a candidate personal org (may be discarded on conflict).COMMENT
LOWservices/control-api/src/plugins/auth.ts352 // Step 2: Upsert platform_users.COMMENT
LOWservices/control-api/src/routes/rag.ts807 // Step 1: Embed the queryCOMMENT
LOWservices/control-api/src/routes/rag.ts818 // Step 2: Similarity search with RLSCOMMENT
LOWservices/control-api/src/routes/rag.ts851 // Step 3: Optional synthesisCOMMENT
LOWservices/control-api/src/services/neon-task-worker.ts1043 // Step 7: replay the source's most recent published frontend by copyingCOMMENT
LOWservices/control-api/src/services/app-plan-resolver.ts33 // Step 1: get owner_id from runtime DB (apps is a runtime-tier table)COMMENT
LOWservices/control-api/src/services/app-plan-resolver.ts40 // Step 2: get plan_id from the owner's personal org (Plan 07 movedCOMMENT
LOWservices/control-api/src/services/rag-worker.ts189 // Step 1: Download and parse the documentCOMMENT
LOWservices/control-api/src/services/rag-worker.ts208 // Step 2: Chunk the textCOMMENT
LOWservices/control-api/src/services/rag-worker.ts224 // Step 3: Batch embed chunksCOMMENT
LOWservices/control-api/src/services/rag-worker.ts246 // Step 4: Insert chunks into app databaseCOMMENT
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHservices/agent-runtime/tests/test_runner.py0insert into agent_runs (app_id, agent_id, caller_kind, input, status) values ($1, $2, 'function', $3::jsonb, 'queued') rSTRING
HIGHservices/agent-runtime/tests/test_e2e_smoke.py0insert into agent_runs (app_id, agent_id, caller_kind, input, status) values ($1, $2, 'function', $3::jsonb, 'queued') rSTRING
HIGHservices/agent-runtime/tests/live/e2e_workflow.py0insert into agent_runs (app_id, agent_id, caller_kind, input, status) values ($1, $2, 'function', $3::jsonb, 'queued') rSTRING
HIGHservices/agent-runtime/tests/live/e2e_run.py0insert into agent_runs (app_id, agent_id, caller_kind, input, status) values ($1, $2, 'function', $3::jsonb, 'queued') rSTRING
HIGHservices/agent-runtime/tests/live/e2e_tools.py0insert into agent_runs (app_id, agent_id, caller_kind, input, status) values ($1, $2, 'function', $3::jsonb, 'queued') rSTRING
HIGHservices/agent-runtime/tests/test_e2e_smoke.py0insert into platform_users (id, email) values (gen_random_uuid(), $1) on conflict (email) do update set email = excludedSTRING
HIGHservices/agent-runtime/tests/live/e2e_workflow.py0insert into platform_users (id, email) values (gen_random_uuid(), $1) on conflict (email) do update set email = excludedSTRING
HIGHservices/agent-runtime/tests/live/e2e_run.py0insert into platform_users (id, email) values (gen_random_uuid(), $1) on conflict (email) do update set email = excludedSTRING
HIGHservices/agent-runtime/tests/live/e2e_tools.py0insert into platform_users (id, email) values (gen_random_uuid(), $1) on conflict (email) do update set email = excludedSTRING
Over-Commented Block43 hits · 43 pts
SeverityFileLineSnippetContext
LOWscripts/rotate-do-invoker-token.sh1#!/usr/bin/env bashCOMMENT
LOW…es/static-frontend-worker/src/worker.miniflare.test.ts1// Integration tests for the static frontend worker against a real workerdCOMMENT
LOW…tatic-frontend-worker/src/worker-source.generated.d.ts1// Type declaration for the generated dist/worker-source.generated.js, writtenCOMMENT
LOWpackages/static-frontend-worker/src/redirects-parser.ts1// Cloudflare Pages-compatible `_redirects` parser.COMMENT
LOWpackages/static-frontend-worker/src/worker.ts1// Per-app static frontend worker.COMMENT
LOWservices/storage-indexer/wrangler.toml21# NEON_RUNTIME_PROJECT_ID_US_EAST_1 — runtime DB URL for us-east-1COMMENT
LOWservices/storage-indexer/worker-configuration.d.ts11881 // auth was used.COMMENT
LOWservices/storage-indexer/worker-configuration.d.ts11941 // Types that can be used through `Stub`sCOMMENT
LOWservices/storage-indexer/worker-configuration.d.ts11981 [K in keyof T]: Unstubify<T[K]>;COMMENT
LOWservices/storage-indexer/worker-configuration.d.ts12001 // Unwrapping `Stub`s allows calling with `Stubable` arguments.COMMENT
LOWservices/storage-indexer/worker-configuration.d.ts12021 // You can use `wrangler types` to generate the `Env` type automatically.COMMENT
LOWservices/storage-indexer/worker-configuration.d.ts13101 }COMMENT
LOWservices/control-api/src/plugins/auth.ts181 return;COMMENT
LOW…ontrol-api/src/__tests__/clone-preflight-route.test.ts1// Unit tests for GET /v1/templates/:source_app_id/clone-preflightCOMMENT
LOW…ices/control-api/src/__tests__/edge-ssr-routes.test.ts461// ---------------------------------------------------------------------------COMMENT
LOW…rvices/control-api/src/__tests__/agent-test-helpers.ts1// Shared test fixtures for the agent route tests.COMMENT
LOWservices/control-api/src/routes/people-webhook.ts1// services/control-api/src/routes/people-webhook.tsCOMMENT
LOWservices/control-api/src/routes/init.ts121 provisioning_status: row.provisioning_status,COMMENT
LOWservices/control-api/src/routes/people.e2e.test.ts1// services/control-api/src/routes/people.e2e.test.tsCOMMENT
LOWservices/control-api/src/routes/auto-api.ts481 callerType = 'service_key';COMMENT
LOWservices/control-api/src/routes/auto-api.ts521 }COMMENT
LOWservices/control-api/src/routes/templates-discovery.ts1// Anonymous-readable template discovery — fans out across all runtime regionsCOMMENT
LOWservices/control-api/src/routes/templates-discovery.ts121 );COMMENT
LOWservices/control-api/src/routes/templates-discovery.ts241 // GET /v1/templates/:app_id — anonymous detail endpoint for a single public+listed template.COMMENT
LOWservices/control-api/src/routes/people.ts541 status: row.status,COMMENT
LOWservices/control-api/src/routes/gateway.ts101 };COMMENT
LOWservices/control-api/src/services/spa-routing-probe.ts1// Post-deploy SPA routing probe.COMMENT
LOWservices/control-api/src/services/digest-notifier.ts1// Weekly digest scanner.COMMENT
LOWservices/control-api/src/services/clone-replay.ts581 }COMMENT
LOWservices/control-api/src/services/clone-replay.ts601// columns: id, app_id, table_name,COMMENT
LOWservices/control-api/src/services/clone-jobs-reaper.ts1// services/control-api/src/services/clone-jobs-reaper.tsCOMMENT
LOW…ontrol-api/src/services/edge-ssr-deployment.service.ts1// services/control-api/src/services/edge-ssr-deployment.service.tsCOMMENT
LOW…es/control-api/src/services/durable-objects.service.ts1// services/control-api/src/services/durable-objects.service.tsCOMMENT
LOWservices/control-api/src/services/failure-notifier.ts1// services/control-api/src/services/failure-notifier.tsCOMMENT
LOWservices/control-api/src/services/failure-notifier.ts41): Promise<void> {COMMENT
LOWservices/control-api/src/services/neon-task-worker.ts981 if (hookResult.warnings.length > 0) {COMMENT
LOWservices/control-api/src/services/neon-task-worker.ts1061COMMENT
LOWservices/control-api/src/services/auth/email-layout.ts1// Minimal HTML email layout helpers.COMMENT
LOWservices/docs/.astro/types.d.ts1/// <reference types="astro/client" />COMMENT
LOWservices/agent-runtime/tests/test_crypto.py81COMMENT
LOWservices/agent-runtime/tests/test_crypto.py101# is confirmed independently of randomness. We encrypt in Python and verifyCOMMENT
LOWservices/deno-runtime/worker-executor.ts741 } finally {COMMENT
LOW…rvices/deno-runtime/__tests__/substrate-bridge.test.ts21import { describe, it, expect, beforeAll, afterAll } from 'vitest';COMMENT
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICAL…ontrol-api/src/services/move-app/saga-executor.test.ts59 const calls: string[] = ctx._client.query.mock.calls.map((c: any[]) =>CODE
CRITICAL…ontrol-api/src/services/move-app/saga-executor.test.ts62 const updateCall = ctx._client.query.mock.calls.find(CODE
CRITICAL…ontrol-api/src/services/move-app/saga-executor.test.ts84 const updateCall = ctx._client.query.mock.calls.find(CODE
CRITICAL…ontrol-api/src/services/move-app/saga-executor.test.ts105 const errorUpdateCall = ctx._client.query.mock.calls.find(CODE
Unused Imports21 hits · 21 pts
SeverityFileLineSnippetContext
LOWservices/agent-runtime/tests/test_hitl.py7CODE
LOWservices/agent-runtime/tests/test_safe_request.py2CODE
LOWservices/agent-runtime/tests/test_recovery.py4CODE
LOWservices/agent-runtime/tests/test_recovery.py4CODE
LOWservices/agent-runtime/tests/test_recovery.py4CODE
LOWservices/agent-runtime/tests/test_heartbeat.py3CODE
LOWservices/agent-runtime/tests/test_webhooks.py3CODE
LOWservices/agent-runtime/tests/test_runner.py9CODE
LOWservices/agent-runtime/tests/test_tools_base.py2CODE
LOWservices/agent-runtime/tests/test_routes_lifecycle.py12CODE
LOWservices/agent-runtime/src/agent_runtime/compiler.py8CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py3CODE
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMservices/mcp-server/src/docs/user-documentation.ts1562### Creating the zip file correctly (Windows and AI assistants)COMMENT
MEDIUMservices/mcp-server/src/docs/user-documentation.ts3052# Create a new appCOMMENT
MEDIUMservices/control-api/src/routes/llms-txt.ts20### Creating a Todo App BackendCOMMENT
MEDIUMservices/agent-runtime/tests/test_hitl.py86 # Create a registry with the interrupt toolCOMMENT
Excessive Try-Catch Wrapping12 hits · 12 pts
SeverityFileLineSnippetContext
LOWservices/agent-runtime/src/agent_runtime/runner.py299 except Exception as exc:CODE
LOWservices/agent-runtime/src/agent_runtime/compiler.py78 except Exception as e:CODE
LOWservices/agent-runtime/src/agent_runtime/compiler.py154 except Exception as e:CODE
LOWservices/agent-runtime/src/agent_runtime/cancel.py43 except Exception:CODE
LOWservices/agent-runtime/src/agent_runtime/events.py45 except Exception:CODE
LOW…rvices/agent-runtime/src/agent_runtime/safe_request.py41 except Exception as exc:CODE
LOW…rvices/agent-runtime/src/agent_runtime/redis_client.py17 except Exception:CODE
LOWservices/agent-runtime/src/agent_runtime/heartbeat.py41 except Exception:CODE
LOWservices/agent-runtime/src/agent_runtime/webhooks.py54 except Exception:CODE
LOWservices/agent-runtime/src/agent_runtime/webhooks.py62 except Exception:CODE
LOWservices/agent-runtime/src/agent_runtime/webhooks.py92 except Exception as exc:CODE
LOWservices/agent-runtime/src/agent_runtime/routes/runs.py79 except Exception:CODE
Modern AI Meta-Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md66- **Claude Code plugin** — `packages/plugin` (submodule of [butterbase-skills](https://github.com/butterbase-ai/butterbaCODE
MEDIUMservices/mcp-server/src/docs/user-documentation.ts2269### Webhooks (event-driven flow)COMMENT
MEDIUMservices/mcp-server/src/docs/user-documentation.ts3365 rag: `## RAG (Retrieval-Augmented Generation)CODE
MEDIUM…vices/docs/src/content/docs/api-reference/mcp-tools.md137## RAG (Retrieval-Augmented Generation)COMMENT
Modern Structural Boilerplate8 hits · 9 pts
SeverityFileLineSnippetContext
LOWservices/agent-runtime/tests/test_runner_lifecycle.py158async def _set_graph_spec(pg_pool, run_id: str, graph_spec: dict) -> None:CODE
LOWservices/agent-runtime/tests/test_runner_lifecycle.py171async def _set_run_input(pg_pool, run_id: str, input_data: dict) -> None:CODE
LOWservices/agent-runtime/src/agent_runtime/cancel.py5logger = logging.getLogger(__name__)CODE
LOWservices/agent-runtime/src/agent_runtime/events.py8logger = logging.getLogger(__name__)CODE
LOWservices/agent-runtime/src/agent_runtime/app.py17logger = logging.getLogger(__name__)CODE
LOWservices/agent-runtime/src/agent_runtime/webhooks.py11logger = logging.getLogger(__name__)CODE
LOW…ices/agent-runtime/src/agent_runtime/tools/__init__.py16__all__ = [CODE
LOWservices/agent-runtime/src/agent_runtime/routes/runs.py21logger = logging.getLogger(__name__)CODE
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWservices/agent-runtime/tests/live/fake_openrouter.py21CODE
LOWservices/agent-runtime/src/agent_runtime/runner.py90CODE
LOWservices/agent-runtime/src/agent_runtime/compiler.py28CODE
LOWservices/agent-runtime/src/agent_runtime/compiler.py174CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMservices/control-api/src/services/neon-task-worker.ts1067 // robust to any future refactor that might decouple those two writes.COMMENT
Magic Placeholder Names1 hit · 2 pts
SeverityFileLineSnippetContext
HIGH.gitleaks.toml17 '''YOUR_API_KEY''',STRING
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/rotate-do-invoker-token.sh14# Usage:COMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdispatch-worker/index.js97export async function handleRequest(request, env, ctx) {CODE