AI Slop Code Risk Monitor

papermark/papermark

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

Papermark is the open-source DocSend alternative and secure data rooms with built-in analytics and custom domains.

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for papermark/papermark, a TypeScript project with 9,283 GitHub stars. SynthScan examined 284,944 lines of code across 1541 source files, recording 321 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-08-28
Last Push
9.3K
Stars
TypeScript
Language
284.9K
Lines of Code
1.5K
Files
321
Pattern Hits
2026-10-31
Scan Date
0.00
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 5.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.2/100 · LOW

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

Agent Over-Engineering Ratio 3.7/100 · LOW

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

PR Review Velocity Impact 6.1/100 · LOW

Which changes need focused human review? 321 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 0HIGH 1MEDIUM 16LOW 304

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 321 distinct pattern matches across 10 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.

Hyper-Verbose Identifiers162 hits · 162 pts
SeverityFileLineSnippetContext
LOWcontext/upload-progress-context.tsx64function getActiveUploadByteTotals(items: UploadItemState[]) {CODE
LOWapp/(ee)/api/teams/[teamId]/directory-sync/route.ts11function isJacksonUnavailableError(error: unknown): boolean {CODE
LOWapp/(ee)/api/teams/[teamId]/saml/route.ts12function isJacksonUnavailableError(error: unknown): boolean {CODE
LOW…uth)/auth/confirm-email-change/[token]/page-client.tsx12export default function ConfirmEmailChangePageClient() {CODE
LOW…cess-notifications/lib/report-denied-access-attempt.ts8export async function reportDeniedAccessAttempt(CODE
LOWee/features/conversions/python/docx-sanitizer.py119def strip_numpages_fields_in_hf(tmp_dir: str) -> int:CODE
LOW…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts444async function cleanupIntermediateZipParts(CODE
LOW…s/emails/components/conversation-team-notification.tsx16export default function ConversationTeamNotification({CODE
LOW…ns/components/shared/conversation-document-context.tsx16export function ConversationDocumentContext({CODE
LOW…ponents/dashboard/conversations-not-enabled-banner.tsx28export function ConversationsNotEnabledBanner({CODE
LOW…features/conversations/pages/conversation-overview.tsx65export default function DataroomConversationsPage() {CODE
LOWee/features/ai/components/agents-settings-card.tsx352function DataroomDocumentIndexingRow({CODE
LOWee/features/ai/components/chat-message.tsx65function normalizeAssistantLinkHref(href?: string): string | undefined {CODE
LOW…ures/ai/lib/chat/get-filtered-dataroom-document-ids.ts11export async function getFilteredDataroomDocumentIds(CODE
LOWee/features/ai/lib/chat/send-message.ts69function extractPageNumberFromRecord(CODE
LOWee/features/ai/lib/chat/send-message.ts171function stripTrailingReferencesSection(text: string): string {CODE
LOWee/features/ai/lib/chat/send-message.ts187async function resolveReferencesFromCitations({CODE
LOWee/features/ai/lib/chat/send-message.ts382async function generateSuggestedQuestions(CODE
LOW…b/file-processing/process-document-for-vector-store.ts15export async function processDocumentForVectorStore(CODE
LOW…/ai/lib/vector-stores/remove-file-from-vector-store.ts8export async function removeFileFromVectorStore(CODE
LOW…s/ai/lib/vector-stores/create-dataroom-vector-store.ts10export async function createDataroomVectorStore({CODE
LOWee/stripe/utils.ts16function getHistoricalPlanFromPriceId(priceId: string, env: string) {CODE
LOWee/stripe/webhooks/customer-subscription-deleted.ts11export async function customerSubscriptionDeleted(CODE
LOWee/stripe/webhooks/customer-subscription-updated.ts20export async function customerSubsciptionUpdated(CODE
LOWcomponents/upload-zone.tsx179function inferMimeFromExtensionMap(CODE
LOWcomponents/sidebar-folders.tsx230export function SidebarFolderTreeSelection({CODE
LOWcomponents/upload-notification.tsx51function downloadRejectedFileNames(files: RejectedFile[], downloadName: string) {CODE
LOWcomponents/visitors/dataroom-participants-table.tsx40export function DataroomParticipantsTable({CODE
LOWcomponents/visitors/visitor-useragent-placeholder.tsx8export default function VisitorUserAgentPlaceholder() {CODE
LOWcomponents/emails/viewed-document-paused.tsx18export default function ViewedDocumentPausedEmail({CODE
LOW…mponents/emails/installed-integration-notification.tsx18export default function SlackIntegrationNotification({CODE
LOWcomponents/emails/dataroom-digest-notification.tsx20export default function DataroomDigestNotification({CODE
LOWcomponents/emails/year-in-review-papermark.tsx35export default function PapermarkYearInReviewEmail({CODE
LOWcomponents/emails/viewed-dataroom-paused.tsx18export default function ViewedDataroomPausedEmail({CODE
LOWcomponents/emails/dataroom-upload-notification.tsx17export default function DataroomUploadNotification({CODE
LOWcomponents/agreements/agreement-row.tsx318function AgreementResponsesSection({CODE
LOW…ents/links/link-sheet/email-authentication-section.tsx7export default function EmailAuthenticationSection({CODE
LOW…nts/links/link-sheet/screenshot-protection-section.tsx7export default function ScreenshotProtectionSection({CODE
LOWcomponents/links/link-sheet/upload-section/index.tsx39function SingleFolderSelectionModal({CODE
LOWcomponents/links/link-sheet/upload-section/index.tsx148function MultiFolderSelectionModal({CODE
LOWcomponents/view/viewer/viewer-surface-theme.tsx36export function ViewerSurfaceThemeProvider({CODE
LOW…ponents/view/dataroom/compact-dataroom-list-header.tsx14export function compactDataroomListGridClass(CODE
LOW…ponents/view/dataroom/compact-dataroom-list-header.tsx43export function CompactDataroomListHeader({CODE
LOW…nents/view/dataroom/viewer-download-progress-modal.tsx59export function ViewerDownloadProgressModal({CODE
LOWcomponents/datarooms/move-dataroom-folder-modal.tsx24export function MoveToDataroomFolderModal({CODE
LOWcomponents/datarooms/settings/introduction-settings.tsx46function generateIntroductionContent(CODE
LOW…nts/datarooms/groups/set-unified-permissions-modal.tsx139export function SetUnifiedPermissionsModal({CODE
LOWcomponents/datarooms/actions/remove-document-modal.tsx48 async function deleteDocumentsAndFolders(CODE
LOWcomponents/datarooms/actions/remove-document-modal.tsx189export function useRemoveDataroomItemsModal({CODE
LOWcomponents/datarooms/folders/selection-tree.tsx137export function SidebarFolderTreeSelection({CODE
LOWcomponents/documents/edit-document-name-modal.tsx44function updateFolderDocumentsName(CODE
LOWcomponents/documents/edit-document-name-modal.tsx75function updateDocNameInFolderTree(CODE
LOWcomponents/documents/edit-document-name-modal.tsx86function updateDocNameInIncludeDocumentsTree(CODE
LOWcomponents/documents/edit-document-name-modal.tsx110function updateDocNameInTeamDocuments(CODE
LOWcomponents/documents/notion-accessibility-indicator.tsx43export default function NotionAccessibilityIndicator({CODE
LOWcomponents/documents/actions/delete-documents-modal.tsx58 async function deleteDocumentsAndFolders(CODE
LOWcomponents/documents/actions/delete-documents-modal.tsx278export function useDeleteDocumentsAndFoldersModal({CODE
LOWcomponents/billing/upgrade-plan-modal-with-discount.tsx151export function UpgradePlanModalWithDiscount({CODE
LOWlib/utils.ts35export function getFileNameWithPdfExtension(filename?: string): string {CODE
LOWlib/utils.ts403export function buildAttachmentDispositionForName(filename: string): string {CODE
102 more matches not shown…
Fake / Example Data52 hits · 68 pts
SeverityFileLineSnippetContext
LOW⚡locales/ja/access-form.json12 "placeholder": "メールアドレスを入力",CODE
LOW⚡locales/ja/access-form.json19 "placeholder": "パスコードを入力"CODE
LOW⚡locales/ja/access-form.json23 "placeholder": "氏名を入力"CODE
LOWlocales/ja/dataroom.json15 "placeholder": "検索...",CODE
LOW⚡locales/it/access-form.json12 "placeholder": "Inserisci l'e-mail",CODE
LOW⚡locales/it/access-form.json19 "placeholder": "Inserisci il codice di accesso"CODE
LOW⚡locales/it/access-form.json23 "placeholder": "Inserisci il tuo nome completo"CODE
LOWlocales/it/dataroom.json15 "placeholder": "Cerca...",CODE
LOW⚡locales/pt-BR/access-form.json12 "placeholder": "Digite o e-mail",CODE
LOW⚡locales/pt-BR/access-form.json19 "placeholder": "Digite o código de acesso"CODE
LOW⚡locales/pt-BR/access-form.json23 "placeholder": "Digite seu nome completo"CODE
LOWlocales/pt-BR/dataroom.json15 "placeholder": "Buscar...",CODE
LOW⚡locales/nl/access-form.json12 "placeholder": "E-mailadres invoeren",CODE
LOW⚡locales/nl/access-form.json19 "placeholder": "Toegangscode invoeren"CODE
LOW⚡locales/nl/access-form.json23 "placeholder": "Voer uw volledige naam in"CODE
LOWlocales/nl/dataroom.json15 "placeholder": "Zoeken ...",CODE
LOW⚡locales/de/access-form.json12 "placeholder": "E-Mail eingeben",CODE
LOW⚡locales/de/access-form.json19 "placeholder": "Zugangscode eingeben"CODE
LOW⚡locales/de/access-form.json23 "placeholder": "Vollständigen Namen eingeben"CODE
LOWlocales/de/dataroom.json15 "placeholder": "Suchen ...",CODE
LOW⚡locales/fr/access-form.json12 "placeholder": "Saisir l'e-mail",CODE
LOW⚡locales/fr/access-form.json19 "placeholder": "Saisir le code d'accès"CODE
LOW⚡locales/fr/access-form.json23 "placeholder": "Saisir votre nom complet"CODE
LOWlocales/fr/dataroom.json15 "placeholder": "Rechercher...",CODE
LOW⚡locales/es/access-form.json12 "placeholder": "Introduzca el correo electrónico",CODE
LOW⚡locales/es/access-form.json19 "placeholder": "Introduzca el código de acceso"CODE
LOW⚡locales/es/access-form.json23 "placeholder": "Introduzca su nombre completo"CODE
LOWlocales/es/dataroom.json15 "placeholder": "Buscar...",CODE
LOW⚡locales/en/access-form.json12 "placeholder": "Enter email",CODE
LOW⚡locales/en/access-form.json19 "placeholder": "Enter passcode"CODE
LOW⚡locales/en/access-form.json23 "placeholder": "Enter your full name"CODE
LOWlocales/en/dataroom.json15 "placeholder": "Search...",CODE
LOW.agents/skills/agent-browser/SKILL.md25agent-browser fill @e1 "user@example.com"CODE
LOW.agents/skills/agent-browser/SKILL.md41agent-browser fill @e1 "user@example.com" && agent-browser fill @e2 "password123" && agent-browser click @e3CODE
LOW.agents/skills/agent-browser/SKILL.md234agent-browser fill @e1 "Jane Doe"CODE
LOW…ents/skills/agent-browser/references/authentication.md132agent-browser fill @e1 "user@example.com"CODE
LOW…ents/skills/agent-browser/references/authentication.md151agent-browser fill @e1 "user@example.com"CODE
LOW…ents/skills/agent-browser/references/authentication.md208agent-browser fill @e1 "user@example.com"CODE
LOW…gents/skills/agent-browser/references/snapshot-refs.md72agent-browser fill @e10 "user@example.com"CODE
LOW…/skills/agent-browser/references/session-management.md29agent-browser --session auth fill @e1 "user@example.com"CODE
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh32# agent-browser fill @e1 "John Doe" # Text inputCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh33# agent-browser fill @e2 "user@example.com" # Email inputCOMMENT
LOW.agents/skills/gh-cli/SKILL.md674gh repo license mit --fullname "John Doe"CODE
LOWcomponents/visitors/dataroom-visitors-table.tsx515 <VisitorAvatar viewerEmail={"abc@example.org"} />CODE
LOWcomponents/visitors/visitors-table.tsx812 <VisitorAvatar viewerEmail={"abc@example.org"} />CODE
LOWcomponents/emails/verification-link.tsx17 email = "user@example.com",CODE
LOWcomponents/welcome/dataroom-trial.tsx213 placeholder="John Doe"CODE
LOWcomponents/links/bulk-import-modal.tsx57 "Acme Corp",CODE
LOW⚡…/links/link-sheet/custom-fields-panel/custom-field.tsx144 <Label htmlFor="placeholder">Placeholder</Label>CODE
LOW⚡…/links/link-sheet/custom-fields-panel/custom-field.tsx146 id="placeholder"CODE
LOW⚡…/links/link-sheet/custom-fields-panel/custom-field.tsx149 onChange={(e) => handleInputChange(e, "placeholder")}CODE
LOWcomponents/datarooms/dataroom-trial-modal.tsx167 placeholder="John Doe"CODE
Structural Annotation Overuse36 hits · 66 pts
SeverityFileLineSnippetContext
LOWee/features/security/sso/components/sso-login.tsx38 // Step 1: Verify SSO is configured for this teamCOMMENT
LOWee/features/security/sso/components/sso-login.tsx58 // Step 2: Initiate SAML SSO via NextAuth's OAuth provider (with PKCE + state)COMMENT
LOW…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts114 // Step 1: Create the documents zip(s) via Lambda (direct invocation)COMMENT
LOW⚡…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts218 // Step 2: Generate audit logs CSVCOMMENT
LOW⚡…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts227 // Step 3: Generate Q&A CSVCOMMENT
LOW⚡…es/billing/cancellation/api/automatic-unpause-route.ts140 // Step 1: Remove the discount firstCOMMENT
LOW⚡…es/billing/cancellation/api/automatic-unpause-route.ts143 // Step 2: Reset billing cycle to charge immediately (now that discount is removed)COMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh20# Step 1: Navigate to formCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh24# Step 2: Snapshot to discover form elementsCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh29# Step 3: Fill form fields (customize these refs based on snapshot output)COMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh46# Step 4: Wait for submissionCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh50# Step 5: Verify resultCOMMENT
LOW.agents/skills/trigger-cost-savings/SKILL.md47### Step 1: Static Analysis (source code)COMMENT
LOW.agents/skills/trigger-cost-savings/SKILL.md61### Step 2: Run Analysis (requires MCP tools)COMMENT
LOW.agents/skills/trigger-cost-savings/SKILL.md108### Step 3: Generate RecommendationsCOMMENT
LOW.agents/skills/trigger-agents/SKILL.md41 // Step 1: GenerateCOMMENT
LOW.agents/skills/trigger-agents/SKILL.md53 // Step 2: Translate (only if gate passed)COMMENT
LOW⚡.agents/skills/trigger-agents/SKILL.md157 // Step 1: Extract claims (sequential - need output first)COMMENT
LOW⚡.agents/skills/trigger-agents/SKILL.md165 // Step 2: Fan-out - verify all claims in parallelCOMMENT
LOW⚡.agents/skills/trigger-agents/SKILL.md170 // Step 3: Fan-in - aggregate resultsCOMMENT
LOW⚡.agents/skills/trigger-agents/references/waitpoints.md211 // Step 1: AI generationCOMMENT
LOW⚡.agents/skills/trigger-agents/references/waitpoints.md214 // Step 2: Human reviewCOMMENT
LOW⚡.agents/skills/trigger-agents/references/waitpoints.md223 // Step 3: Final approvalCOMMENT
LOW⚡.agents/skills/trigger-agents/references/waitpoints.md232 // Step 4: PublishCOMMENT
LOW…ents/skills/trigger-agents/references/orchestration.md130 // Step 1: Sequential preprocessingCOMMENT
LOW…ents/skills/trigger-agents/references/orchestration.md141 // Step 2: Parallel processingCOMMENT
LOW…ents/skills/trigger-agents/references/orchestration.md146 // Step 3: Sequential aggregationCOMMENT
LOWcomponents/documents/document-header.tsx361 // Step 1: Enable AI agents on the documentCOMMENT
LOWcomponents/documents/document-header.tsx377 // Step 2: Index the document automaticallyCOMMENT
LOWlib/files/put-file.ts185 // Step 1: Initiate multipart uploadCOMMENT
LOWlib/files/put-file.ts211 // Step 2: Get pre-signed URLs for partsCOMMENT
LOWlib/files/put-file.ts240 // Step 3: Upload parts in parallel (batches of 3)COMMENT
LOWlib/files/put-file.ts281 // Step 4: Complete multipart uploadCOMMENT
LOWpages/api/file/s3/multipart.ts176 // Step 1: Start multipart uploadCOMMENT
LOWpages/api/file/s3/multipart.ts197 // Step 2: Generate pre-signed URLs for each partCOMMENT
LOWpages/api/file/s3/multipart.ts227 // Step 3: Complete multipart uploadCOMMENT
Decorative Section Separators15 hits · 45 pts
SeverityFileLineSnippetContext
MEDIUMapp/(ee)/api/scim/v2.0/[...directory]/route.ts82// ──────────────────────────────────────────────────────────COMMENT
MEDIUMapp/(ee)/api/scim/v2.0/[...directory]/route.ts84// ──────────────────────────────────────────────────────────COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh32# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh34# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh54# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh56# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh76# ================================================================COMMENT
MEDIUM…kills/agent-browser/templates/authenticated-session.sh78# ================================================================COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx80 // ── Session check ──────────────────────────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx110 // ── Fetch jobs ─────────────────────────────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx139 // ── Polling while jobs are in-flight ───────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx211 // ── OTP verified ───────────────────────────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx217 // ── Download helpers ───────────────────────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx249 // ── Formatters ─────────────────────────────────────────────────────COMMENT
MEDIUMcomponents/view/dataroom/downloads-panel.tsx294 // ── Render ─────────────────────────────────────────────────────────COMMENT
Verbosity Indicators22 hits · 40 pts
SeverityFileLineSnippetContext
LOWapp/api/views-dataroom/route.ts342 // If there is no session, then we need to check if the link is protected and enforce the checksCOMMENT
LOWee/features/security/sso/components/sso-login.tsx38 // Step 1: Verify SSO is configured for this teamCOMMENT
LOWee/features/security/sso/components/sso-login.tsx58 // Step 2: Initiate SAML SSO via NextAuth's OAuth provider (with PKCE + state)COMMENT
LOW…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts114 // Step 1: Create the documents zip(s) via Lambda (direct invocation)COMMENT
LOW⚡…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts218 // Step 2: Generate audit logs CSVCOMMENT
LOW⚡…dataroom-freeze/lib/trigger/dataroom-freeze-archive.ts227 // Step 3: Generate Q&A CSVCOMMENT
LOW⚡…es/billing/cancellation/api/automatic-unpause-route.ts140 // Step 1: Remove the discount firstCOMMENT
LOW⚡…es/billing/cancellation/api/automatic-unpause-route.ts143 // Step 2: Reset billing cycle to charge immediately (now that discount is removed)COMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh20# Step 1: Navigate to formCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh24# Step 2: Snapshot to discover form elementsCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh29# Step 3: Fill form fields (customize these refs based on snapshot output)COMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh46# Step 4: Wait for submissionCOMMENT
LOW⚡…ents/skills/agent-browser/templates/form-automation.sh50# Step 5: Verify resultCOMMENT
LOWcomponents/documents/document-header.tsx361 // Step 1: Enable AI agents on the documentCOMMENT
LOWcomponents/documents/document-header.tsx377 // Step 2: Index the document automaticallyCOMMENT
LOWlib/files/put-file.ts185 // Step 1: Initiate multipart uploadCOMMENT
LOWlib/files/put-file.ts211 // Step 2: Get pre-signed URLs for partsCOMMENT
LOWlib/files/put-file.ts240 // Step 3: Upload parts in parallel (batches of 3)COMMENT
LOWlib/files/put-file.ts281 // Step 4: Complete multipart uploadCOMMENT
LOWpages/api/file/s3/multipart.ts176 // Step 1: Start multipart uploadCOMMENT
LOWpages/api/file/s3/multipart.ts197 // Step 2: Generate pre-signed URLs for each partCOMMENT
LOWpages/api/file/s3/multipart.ts227 // Step 3: Complete multipart uploadCOMMENT
Over-Commented Block27 hits · 27 pts
SeverityFileLineSnippetContext
LOW…nts/skills/agent-browser/templates/capture-workflow.sh1#!/bin/bashCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh1#!/bin/bashCOMMENT
LOW…ents/skills/agent-browser/templates/form-automation.sh21agent-browser open "$FORM_URL"COMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh1#!/bin/bashCOMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh81#COMMENT
LOW…kills/agent-browser/templates/authenticated-session.sh101# # Save state for future runsCOMMENT
LOWcomponents/view/link-preview.tsx261 title={linkName || domain || "Embedded content"}COMMENT
LOWcomponents/view/link-preview.tsx281 // - allow-forms: lets users submit forms (e.g. login on theCOMMENT
LOWcomponents/view/viewer/notion-page.tsx381 getActiveDuration,COMMENT
LOWcomponents/view/viewer/notion-page.tsx401 // type: "scroll",COMMENT
LOWcomponents/datarooms/add-viewer-modal.tsx61 // }COMMENT
LOWcomponents/analytics/visitors-table.tsx161 // : "text-nowrap font-normal"COMMENT
LOW.github/workflows/cla.yml41 #custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'COMMENT
LOWlib/integrations/slack/client.ts41 // private decryptToken(accessToken: string): string {COMMENT
LOWlib/integrations/slack/client.ts61 // }COMMENT
LOWlib/integrations/slack/client.ts81 // redirect_uri: redirectUri,COMMENT
LOWlib/integrations/slack/client.ts101 // }COMMENT
LOWlib/integrations/slack/client.ts121 // if (!data.ok) {COMMENT
LOWlib/integrations/slack/client.ts141 // "Content-Type": "application/json",COMMENT
LOWlib/swr/use-dataroom-stats.ts61// const { id: documentId } = router.query as {COMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts21COMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts41COMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts61 // return res.status(403).end("Unauthorized to access this team");COMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts81 // dataroomId,COMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts101 // // create a new link for the invited groupCOMMENT
LOWpages/api/teams/[teamId]/datarooms/[id]/users/index.ts121 // });COMMENT
LOW…/[teamId]/folders/manage/[folderId]/add-to-dataroom.ts161 // });COMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHee/features/conversions/python/docx-sanitizer.py115except ValueError:CODE
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOWee/features/conversions/python/docx-sanitizer.py119CODE
LOWee/features/conversions/python/docx-sanitizer.py217CODE
LOWee/features/conversions/python/docx-sanitizer.py319CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMlib/notion/utils.ts335 // Try robust parser first (handles hyphenated and plain IDs)COMMENT
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOWee/features/conversions/python/docx-sanitizer.py302 except Exception as e:CODE
LOWee/features/conversions/python/docx-sanitizer.py372 except Exception as e:CODE