AI Slop Code RIsk Monitor

presenton/presenton

Open-Source AI Presentation Generator and API (Gamma, Canva, Beautiful AI, Decktopus, Presentations AI Alternative)

6.2 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for presenton/presenton, a TypeScript project with 11,034 GitHub stars. SynthScan examined 451,135 lines of code across 824 source files, recording 2973 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 6.2 (Moderate 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.

6.2
Adjusted Signal
6.2
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
11.0K
Stars
TypeScript
Language
451.1K
Lines of Code
824
Files
3.0K
Pattern Hits
2026-10-12
Scan Date
0.03
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 20.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 4.2/100 · LOW

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

Agent Over-Engineering Ratio 22.3/100 · LOW

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

PR Review Velocity Impact 29.8/100 · MEDIUM

Which changes need focused human review? 2973 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 26MEDIUM 45LOW 2902

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 2973 distinct pattern matches across 18 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 Identifiers2046 hits · 1894 pts
SeverityFileLineSnippetContext
LOWscripts/rebuild_notice_all.py62def find_python_site_packages(venv_dir: Path) -> Optional[Path]:CODE
LOW⚡electron/build.js442function isMasInstallerIdentityName(name) {CODE
LOW⚡electron/build.js446function isDevelopmentIdentityName(name) {CODE
LOW⚡electron/build.js450function isDeveloperIdApplicationIdentityName(name) {CODE
LOWelectron/build.js96function getAppStoreBundleShortVersion() {CODE
LOWelectron/build.js137function resolveProvisioningProfileForTarget({ target, label, candidates }) {CODE
LOWelectron/build.js146function resolveProvisioningProfile({ target, label, candidates }) {CODE
LOWelectron/build.js183function canDecodeProvisioningProfile(profilePath) {CODE
LOWelectron/build.js240function installCodesignTimestampRetry() {CODE
LOWelectron/build.js248 async function execFileAsyncWithTimestampRetry(file, args, options) {CODE
LOWelectron/build.js277function isRetryableCodesignTimestampFailure(file, args, error) {CODE
LOWelectron/build.js289function codesignArgsRequireTimestamp(args) {CODE
LOWelectron/build.js303function isUntimestampedNestedResource(filePath) {CODE
LOWelectron/build.js309function resolveMasSigningIdentitiesForTarget() {CODE
LOWelectron/build.js326function resolveMasSigningIdentities() {CODE
LOWelectron/build.js366function validateMasIdentityQualifier(value, source, identities) {CODE
LOWelectron/build.js393function discoverMasIdentityQualifier(identities) {CODE
LOWelectron/build.js407function getAppleSigningIdentities() {CODE
LOWelectron/build.js461function buildMissingMasIdentityError(qualifier, identities, status) {CODE
LOWelectron/build.js485function assertCodesignCanUseIdentity(identity) {CODE
LOWelectron/build.js516function assertDirectMacReleaseReadiness() {CODE
LOWelectron/build.js532function resolveDeveloperIdApplicationIdentity() {CODE
LOWelectron/build.js585function buildAvailableDeveloperIdIdentityList(identities) {CODE
LOWelectron/build.js593function assertDirectMacNotarizationCredentials() {CODE
LOWelectron/build.js625function assertCodesignCanUseDirectIdentity(identity) {CODE
LOWelectron/build.js656function findNextJsStandaloneServer(nextjsRoot) {CODE
LOWelectron/build.js670function formatMissingBundleResources(missing) {CODE
LOWelectron/build.js674function collectMissingBundleResources(resourcesRoot) {CODE
LOWelectron/build.js730function assertSourceBundleResourcesReady() {CODE
LOWelectron/build.js747function assertPackagedBundleResourcesReady(resourcesRoot) {CODE
LOWelectron/build.js807function resolvePackagedResourcesRoot(appPath, appBundleName) {CODE
LOWelectron/build.js811function pruneUnsupportedPackagedPrebuilds(appRoot, arch) {CODE
LOWelectron/build.js843function getSupportedDarwinPrebuilds(arch) {CODE
LOWelectron/app/main.ts117function updateSentryRuntimeContext(cacheRecovery: ChromiumCacheRecoveryStatus): void {CODE
LOWelectron/app/main.ts144function isDisableAuthEnabledValue(value?: string): boolean {CODE
LOWelectron/app/main.ts149function resolveElectronDisableAuth(): string {CODE
LOWelectron/app/utils/safe-console.ts39function reportUnexpectedStreamError(error: unknown): void {CODE
LOWelectron/app/utils/chromium-cache-recovery.ts129export function prepareChromiumCacheRecovery(CODE
LOWelectron/app/utils/chromium-cache-recovery.ts184export async function finishChromiumCacheRecovery(CODE
LOWelectron/app/utils/imagemagick-runtime.ts91export function getBundledImageMagickRoot(): string {CODE
LOWelectron/app/utils/imagemagick-runtime.ts99function readBundledRuntimeManifest(): ImageMagickRuntimeManifest | null {CODE
LOWelectron/app/utils/imagemagick-runtime.ts177export function resolveImageMagickRuntime(): ImageMagickRuntime | null {CODE
LOWelectron/app/utils/servers.ts17function resolveNextJsStandaloneServer(directory: string): {CODE
LOWelectron/app/utils/servers.ts34function resolveElectronNodeExecutable(): string {CODE
LOWelectron/app/utils/servers.ts65function ensureNestedStandaloneAssets(bundleRoot: string, serverCwd: string): void {CODE
LOWelectron/app/utils/servers.ts89function createManagedServerProcess(params: {CODE
LOWelectron/app/utils/readable-file-access.ts24function allowedReadableFileBaseDirs(): string[] {CODE
LOWelectron/app/utils/open-target.ts85export async function showOpenTargetErrorDialog({CODE
LOWelectron/app/utils/export-chromium.ts34function resolveExportBrowserConfig(): { browser: Browser; buildId: string } {CODE
LOW⚡electron/app/utils/export-chromium.ts85function resolvePuppeteerCacheRoot(): string {CODE
LOW⚡electron/app/utils/export-chromium.ts93export function getBundledExportChromiumCacheRoot(): string {CODE
LOW⚡electron/app/utils/export-chromium.ts97function readBundledChromiumManifest(): BundledChromiumManifest | null {CODE
LOWelectron/app/utils/export-chromium.ts122function resolveManifestBundledExportChromiumPath(): string | null {CODE
LOWelectron/app/utils/export-chromium.ts131function resolveExportBrowserInstallOptions(cacheDir = resolvePuppeteerCacheRoot()):CODE
LOWelectron/app/utils/export-chromium.ts147function getLegacyExecutableRelativePaths(): string[] {CODE
LOWelectron/app/utils/export-chromium.ts164function resolveLegacyInstalledExportChromiumPath(): string | null {CODE
LOWelectron/app/utils/export-chromium.ts195export function resolveInstalledExportChromiumPath(): string | null {CODE
LOWelectron/app/utils/export-chromium.ts240export function isExportChromiumAvailable(): boolean {CODE
LOWelectron/app/utils/export-chromium.ts307async function materializeBundledChromiumForMsix(bundledExePath: string): Promise<string> {CODE
LOWelectron/app/utils/export-chromium.ts342function isMaterializedChromiumComplete(executablePath: string): boolean {CODE
1986 more matches not shown…
Fake / Example Data483 hits · 296 pts
SeverityFileLineSnippetContext
LOWlayouts.json288 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididuCODE
LOWlayouts.json288 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididuCODE
LOWlayouts.json1179 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1179 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1276 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1276 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1666 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1666 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1806 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1806 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1946 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json1946 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json2220 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam euismod id sem quis accumsanCODE
LOWlayouts.json2220 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam euismod id sem quis accumsanCODE
LOWlayouts.json2447 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam euismod id sem quis accuCODE
LOWlayouts.json2447 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam euismod id sem quis accuCODE
LOWlayouts.json2744 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json2744 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json2803 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json2803 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3006 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3006 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3191 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3191 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3376 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3376 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json3635 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rCODE
LOWlayouts.json3635 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rCODE
LOWlayouts.json3777 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3777 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3886 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3886 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3995 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json3995 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at anCODE
LOWlayouts.json4364 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4364 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4568 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4568 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4622 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4622 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4826 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4826 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4880 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json4880 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5084 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5084 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5220 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rCODE
LOWlayouts.json5220 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rCODE
LOWlayouts.json5357 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5357 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5466 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5466 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5575 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json5575 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at CODE
LOWlayouts.json6617 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rhoCODE
LOWlayouts.json6617 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vulputate nulla at ante rhoCODE
LOWtemplates/dynamic/template.json1490 "text": "LOREM IPSUM DOL",CODE
LOWtemplates/dynamic/template.json1530 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
LOWtemplates/dynamic/template.json1530 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
LOWtemplates/dynamic/template.json1620 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
423 more matches not shown…
Excessive Try-Catch Wrapping164 hits · 171 pts
SeverityFileLineSnippetContext
LOWscripts/rebuild_notice_all.py41 except Exception:CODE
LOWscripts/rebuild_notice_all.py172 except Exception:CODE
LOWscripts/rebuild_notice_all.py200 except Exception:CODE
MEDIUMscripts/rebuild_notice_all.py322 print("Error: No sections generated. Ensure .venv and node_modules exist.", file=sys.stderr)CODE
LOWelectron/scripts/rebuild_notice_all.py42 except Exception:CODE
LOWelectron/scripts/rebuild_notice_all.py173 except Exception:CODE
LOWelectron/scripts/rebuild_notice_all.py201 except Exception:CODE
MEDIUMelectron/scripts/rebuild_notice_all.py323 print("Error: No sections generated. Ensure .venv and node_modules exist.", file=sys.stderr)CODE
LOW⚡servers/fastapi/migrations.py47 except Exception as exc:CODE
MEDIUM⚡servers/fastapi/migrations.py48 print(f"Error running migrations: {exc}", flush=True)CODE
LOWservers/fastapi/migrations.py70 except Exception:CODE
LOWservers/fastapi/mcp_server.py467 except Exception as e:CODE
LOWservers/fastapi/mcp_server.py477 except Exception as e:CODE
MEDIUMservers/fastapi/mcp_server.py417def main():CODE
LOWservers/fastapi/utils/runtime_limits.py6except Exception: # pragma: no cover - WindowsCODE
LOWservers/fastapi/utils/runtime_limits.py34 except Exception:CODE
LOWservers/fastapi/utils/user_config_store.py54 except Exception as error:CODE
LOWservers/fastapi/utils/user_config_store.py150 except Exception as error:CODE
LOWservers/fastapi/utils/user_config_store.py169 except Exception as error:CODE
LOWservers/fastapi/utils/user_config_store.py194 except Exception:CODE
LOWservers/fastapi/utils/user_config_store.py208 except Exception:CODE
LOWservers/fastapi/utils/llm_client_error_handler.py20 except Exception:CODE
MEDIUMservers/fastapi/utils/llm_client_error_handler.py17def _is_codex_provider() -> bool:CODE
LOWservers/fastapi/utils/asset_directory_utils.py123 except Exception:CODE
LOWservers/fastapi/utils/download_helpers.py56 except Exception as e:CODE
MEDIUMservers/fastapi/utils/download_helpers.py57 print(f"Error downloading file from {url}: {e}")CODE
LOWservers/fastapi/utils/font_uploads.py340 except Exception:CODE
LOWservers/fastapi/utils/font_uploads.py363 except Exception:CODE
LOW⚡servers/fastapi/utils/sse.py24 except Exception as exc:CODE
LOW⚡servers/fastapi/utils/sse.py29 except Exception:CODE
LOW⚡servers/fastapi/utils/sse.py36 except Exception:CODE
LOWservers/fastapi/utils/provider_error_messages.py37 except Exception:CODE
LOWservers/fastapi/utils/llm_utils.py430 except Exception:CODE
LOWservers/fastapi/utils/llm_utils.py487 except Exception as exc:CODE
LOWservers/fastapi/utils/llm_utils.py496 except Exception:CODE
LOWservers/fastapi/utils/user_config.py206 except Exception:CODE
MEDIUMservers/fastapi/utils/user_config.py207 print("Error while loading user config")CODE
LOWservers/fastapi/utils/user_config.py618 except Exception as error:CODE
MEDIUMservers/fastapi/utils/user_config.py619 print(f"Error while saving Codex tokens to user config: {error}")CODE
LOWservers/fastapi/utils/db_utils.py97 except Exception:CODE
LOWservers/fastapi/utils/web_search.py138 except Exception:CODE
LOWservers/fastapi/utils/web_search.py163 except Exception:CODE
MEDIUMservers/fastapi/utils/web_search.py83def _get_max_results() -> int:CODE
LOWservers/fastapi/utils/process_slides.py65 except Exception:CODE
LOW⚡servers/fastapi/utils/oauth/openai_codex.py573 except Exception as exc:CODE
LOWservers/fastapi/utils/oauth/openai_codex.py290 except Exception:CODE
LOWservers/fastapi/utils/oauth/openai_codex.py418 except Exception:CODE
LOWservers/fastapi/utils/oauth/openai_codex.py543 except Exception as exc:CODE
LOWservers/fastapi/utils/oauth/openai_codex.py603 except Exception:CODE
LOW…api/utils/llm_calls/generate_presentation_structure.py210 except Exception as e:STRING
LOWservers/fastapi/utils/llm_calls/edit_slide.py166 except Exception as e:STRING
LOW…vers/fastapi/utils/llm_calls/generate_slide_content.py108 except Exception:STRING
LOW…vers/fastapi/utils/llm_calls/generate_slide_content.py274 except Exception as e:STRING
LOWservers/fastapi/utils/llm_calls/edit_slide_html.py84 except Exception as e:STRING
LOW…tapi/utils/llm_calls/generate_presentation_outlines.py333 except Exception:STRING
LOW…tapi/utils/llm_calls/generate_presentation_outlines.py403 except Exception as e:STRING
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py713 except Exception:CODE
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py906 except Exception as exc:CODE
LOW…s/fastapi/utils/llm_calls/select_slide_type_on_edit.py91 except Exception as e:STRING
LOWservers/fastapi/api/main.py38 except Exception:CODE
104 more matches not shown…
Empty Error Handlers20 hits · 100 pts
SeverityFileLineSnippetContext
HIGHservers/fastapi/utils/runtime_limits.py34except Exception:CODE
HIGHservers/fastapi/utils/user_config_store.py148except FileNotFoundError:CODE
HIGHservers/fastapi/utils/user_config_store.py197except FileNotFoundError:CODE
HIGHservers/fastapi/utils/font_uploads.py144except OSError:CODE
HIGHservers/fastapi/utils/font_uploads.py387except ValueError:CODE
HIGHservers/fastapi/utils/llm_utils.py472except RuntimeError:CODE
HIGHservers/fastapi/utils/db_utils.py97except Exception:CODE
HIGHservers/fastapi/utils/llm_config.py163except (TypeError, ValueError):CODE
HIGHservers/fastapi/utils/oauth/openai_codex.py603except Exception:CODE
HIGHservers/fastapi/utils/oauth/openai_codex.py418except Exception:CODE
HIGHservers/fastapi/api/v1/auth/presenton_oauth.py116except httpx.HTTPError:CODE
HIGHservers/fastapi/api/v1/ppt/endpoints/codex_auth.py318except (ValueError, TypeError):CODE
HIGHservers/fastapi/templates/pptx_font_utils.py1063except Exception:CODE
HIGHservers/fastapi/templates/pptx_font_utils.py1366except Exception:CODE
HIGHservers/fastapi/templates/pptx_font_utils.py1199except Exception:CODE
HIGHservers/fastapi/templates/pptx_font_utils.py1229except Exception:CODE
HIGHservers/fastapi/services/liteparse_service.py408except json.JSONDecodeError:CODE
HIGHservers/fastapi/services/liteparse_service.py462except OSError:CODE
HIGHservers/fastapi/services/presenton_cloud.py215except httpx.HTTPError:CODE
HIGHservers/fastapi/services/document_conversion_service.py26except OSError:CODE
Deep Nesting111 hits · 83 pts
SeverityFileLineSnippetContext
LOWscripts/rebuild_notice_all.py62CODE
LOWscripts/rebuild_notice_all.py93CODE
LOWscripts/rebuild_notice_all.py190CODE
LOWscripts/rebuild_notice_all.py238CODE
LOWelectron/scripts/rebuild_notice_all.py63CODE
LOWelectron/scripts/rebuild_notice_all.py94CODE
LOWelectron/scripts/rebuild_notice_all.py191CODE
LOWelectron/scripts/rebuild_notice_all.py239CODE
LOWservers/fastapi/migrations.py117CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py55CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py132CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py158CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py214CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py272CODE
LOWservers/fastapi/utils/model_availability.py54CODE
LOWservers/fastapi/utils/model_availability.py94CODE
LOWservers/fastapi/utils/dict_utils.py51CODE
LOWservers/fastapi/utils/schema_utils.py26CODE
LOWservers/fastapi/utils/schema_utils.py340CODE
LOWservers/fastapi/utils/schema_utils.py352CODE
LOWservers/fastapi/utils/validators.py23CODE
LOWservers/fastapi/utils/download_helpers.py12CODE
LOWservers/fastapi/utils/llm_utils.py68CODE
LOWservers/fastapi/utils/llm_utils.py458CODE
LOWservers/fastapi/utils/llm_utils.py475CODE
LOWservers/fastapi/utils/llm_provider.py126CODE
LOWservers/fastapi/utils/db_utils.py57CODE
LOWservers/fastapi/utils/web_search.py97CODE
LOWservers/fastapi/utils/process_slides.py35CODE
LOWservers/fastapi/utils/process_slides.py173CODE
LOWservers/fastapi/utils/process_slides.py72CODE
LOWservers/fastapi/utils/llm_config.py108CODE
LOWservers/fastapi/utils/smart_slide_layout.py230CODE
LOW…vers/fastapi/utils/llm_calls/generate_slide_content.py113CODE
LOW…tapi/utils/llm_calls/generate_presentation_outlines.py251CODE
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py633CODE
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py733CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py614CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py1874CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py2627CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py1881CODE
LOWservers/fastapi/api/v1/ppt/endpoints/chat.py125CODE
LOWservers/fastapi/api/v1/ppt/endpoints/chat.py136CODE
LOWservers/fastapi/api/v1/ppt/endpoints/template.py463CODE
LOWservers/fastapi/api/v1/ppt/endpoints/template.py467CODE
LOWservers/fastapi/api/v2/ppt/endpoints/presentation.py87CODE
LOWservers/fastapi/templates/pptx_font_utils.py365CODE
LOWservers/fastapi/templates/pptx_font_utils.py887CODE
LOWservers/fastapi/templates/pptx_font_utils.py959CODE
LOWservers/fastapi/templates/pptx_font_utils.py1037CODE
LOWservers/fastapi/templates/pptx_font_utils.py1068CODE
LOWservers/fastapi/templates/pptx_font_utils.py1167CODE
LOWservers/fastapi/templates/pptx_font_utils.py1294CODE
LOWservers/fastapi/templates/pptx_font_utils.py1639CODE
LOWservers/fastapi/templates/pptx_font_utils.py506CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py265CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py1074CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py1148CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py1491CODE
LOWservers/fastapi/templates/v2/theme.py145CODE
51 more matches not shown…
Decorative Section Separators20 hits · 75 pts
SeverityFileLineSnippetContext
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py353# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py355# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py504# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py506# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py577# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/utils/oauth/openai_codex.py579# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py238# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py240# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py273# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py275# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py378# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/utils/oauth/openai_codex.py380# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/api/v1/ppt/endpoints/codex_auth.py52# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/api/v1/ppt/endpoints/codex_auth.py55# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/api/v1/ppt/endpoints/codex_auth.py59# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡servers/fastapi/api/v1/ppt/endpoints/codex_auth.py61# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/api/v1/ppt/endpoints/codex_auth.py98# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/api/v1/ppt/endpoints/codex_auth.py100# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/api/v1/ppt/endpoints/codex_auth.py129# ---------------------------------------------------------------------------COMMENT
MEDIUMservers/fastapi/api/v1/ppt/endpoints/codex_auth.py131# ---------------------------------------------------------------------------COMMENT
Unused Imports60 hits · 58 pts
SeverityFileLineSnippetContext
LOWscripts/rebuild_notice_all.py4CODE
LOWscripts/rebuild_notice_all.py7CODE
LOWelectron/scripts/rebuild_notice_all.py4CODE
LOWelectron/scripts/rebuild_notice_all.py7CODE
LOWservers/fastapi/server.py3CODE
LOW…stapi/tests/test_image_generation_openai_compatible.py3CODE
LOWservers/fastapi/tests/unit/test_owner_isolation.py11CODE
LOWservers/fastapi/utils/ppt_utils.py6CODE
LOWservers/fastapi/utils/latex_text.py1CODE
LOWservers/fastapi/utils/path_helpers.py10CODE
LOWservers/fastapi/utils/smart_slide_layout.py1CODE
LOWservers/fastapi/utils/ocr_language.py9CODE
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py1CODE
LOWservers/fastapi/models/presentation_layout.py3CODE
LOWservers/fastapi/models/presentation_layout.py3CODE
LOWservers/fastapi/models/sql/ollama_pull_status.py2CODE
LOWservers/fastapi/api/v1/webhook/router.py2CODE
LOWservers/fastapi/api/v1/auth/presenton_oauth.py1CODE
LOWservers/fastapi/templates/preview.py10CODE
LOWservers/fastapi/templates/preview.py12CODE
LOWservers/fastapi/templates/default_templates.py1CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py20CODE
LOWservers/fastapi/templates/v2/generation.py1CODE
LOWservers/fastapi/templates/v2/theme.py1CODE
LOWservers/fastapi/templates/v2/tools.py1CODE
LOWservers/fastapi/templates/v2/content.py3CODE
LOWservers/fastapi/templates/v2/schema.py3CODE
LOWservers/fastapi/templates/v2/models/elements.py3CODE
LOWservers/fastapi/alembic/env.py1CODE
LOWservers/fastapi/alembic/env.py15CODE
LOWservers/fastapi/alembic/env.py16CODE
LOWservers/fastapi/alembic/env.py19CODE
LOWservers/fastapi/alembic/env.py20CODE
LOWservers/fastapi/alembic/env.py21CODE
LOWservers/fastapi/alembic/env.py22CODE
LOWservers/fastapi/alembic/env.py23CODE
LOWservers/fastapi/alembic/env.py24CODE
LOWservers/fastapi/alembic/env.py25CODE
LOWservers/fastapi/alembic/env.py26CODE
LOWservers/fastapi/alembic/env.py27CODE
LOWservers/fastapi/alembic/env.py28CODE
LOWservers/fastapi/alembic/env.py29CODE
LOWservers/fastapi/alembic/env.py30CODE
LOWservers/fastapi/alembic/env.py31CODE
LOW…ions/82abdbc476a7_add_theme_column_to_presentations.py10CODE
LOW…ions/82abdbc476a7_add_theme_column_to_presentations.py11CODE
LOW…ions/82abdbc476a7_add_theme_column_to_presentations.py12CODE
LOW…ions/f42ad4074449_add_theme_column_to_presentations.py12CODE
LOWservers/fastapi/services/presenton_cloud_persistence.py1CODE
LOWservers/fastapi/services/presenton_cloud.py1CODE
LOWservers/fastapi/services/mem0_oss_memory.py13CODE
LOWservers/fastapi/services/presenton_cloud_proxy.py1CODE
LOWservers/fastapi/services/community_presentations.py1CODE
LOWservers/fastapi/services/chat/sql_chat_history.py3CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1CODE
LOWservers/fastapi/services/chat/__init__.py1CODE
LOWservers/fastapi/services/chat/__init__.py1CODE
LOWservers/fastapi/services/chat/__init__.py2CODE
LOWservers/fastapi/services/chat/infographic_catalog.py3CODE
LOW…rs/fastapi/services/chat/presentation_context_store.py1CODE
Cross-Language Confusion6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHservers/fastapi/templates/v2/certified_generation.py145- Set repeated_items to null; a later focused pass decides flexible regions.CODE
HIGHservers/fastapi/templates/v2/certified_generation.py277 `{"text": string, "color": null | {"color": "#RRGGBB", "opacity": number | null}, "font": null | {"size": number | nulCODE
HIGHservers/fastapi/templates/v2/certified_generation.py283 `{"data": INFOGRAPHIC_DATA, "colors": ["#RRGGBB", ...], "text_color": "#RRGGBB" | null}`CODE
HIGHservers/fastapi/templates/v2/certified_generation.py303- Every item returns both keys and exactly one reference: indices with flow_id=null, or flow_id with indices=null.CODE
HIGHservers/fastapi/templates/v2/certified_generation.py4585 "Return both keys for every item with exactly one non-null: indices plus flow_id=null, or indices=null plus CODE
HIGHservers/fastapi/services/chat/tools.py1803 "Use the field names and aliases from the tool schema, include required nullable fields as null, and remCODE
Modern Structural Boilerplate24 hits · 22 pts
SeverityFileLineSnippetContext
LOW⚡servers/fastapi/tests/unit/test_model_availability.py10def _set_litellm_env(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWservers/fastapi/models/presentation_layout.py5__all__ = ["PresentationLayoutModel", "SlideLayoutModel"]CODE
LOWservers/fastapi/api/lifespan.py22logger = logging.getLogger(__name__)CODE
LOW⚡servers/fastapi/api/v1/auth/bootstrap.py26logger = logging.getLogger(__name__)CODE
LOWservers/fastapi/api/v1/auth/router.py46def _set_login_cookie(response: JSONResponse, token: str, request: Request) -> None:CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py131logger = logging.getLogger(__name__)CODE
LOW⚡servers/fastapi/templates/preview.py20__all__ = [CODE
LOWservers/fastapi/templates/default_templates.py141def _update_template_from_default(existing: TemplateV2, template: TemplateV2) -> None:CODE
LOWservers/fastapi/templates/__init__.py1__all__ = []CODE
LOWservers/fastapi/templates/v2/tools.py118__all__ = [CODE
LOWservers/fastapi/templates/v2/models/elements.py646__all__ = [CODE
LOWservers/fastapi/services/provider_settings.py14logger = logging.getLogger(__name__)CODE
LOWservers/fastapi/services/temp_file_service.py142 async def update_temp_file_from_upload(self, file_path: str, upload_file) -> None:CODE
LOWservers/fastapi/services/presenton_cloud_persistence.py14logger = logging.getLogger(__name__)CODE
LOWservers/fastapi/services/presenton_cloud_proxy.py38logger = logging.getLogger(__name__)CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1817def _update_vector_element(element: dict[str, Any], vector: dict[str, Any]) -> None:CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1877def _update_text_element(element: dict[str, Any], text: str) -> None:CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1896def _update_text_list_element(element: dict[str, Any], items: list[str]) -> None:CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1923def _update_table_cell(element: dict[str, Any], table_cell: dict[str, Any]) -> None:CODE
LOWservers/fastapi/services/chat/slide_ui_helpers.py1951def _update_table_element(element: dict[str, Any], table: dict[str, Any]) -> None:CODE
LOWservers/fastapi/services/chat/tools.py123 def set_turn_context(self, user_message: str) -> None:CODE
LOWservers/fastapi/services/chat/__init__.py4__all__ = [CODE
LOW…rs/fastapi/services/chat/presentation_context_store.py5__all__ = ["PresentationContextStore"]CODE
LOWservers/fastapi/services/chat/memory_layer.py3771 def _set_template_runs_text(cls, element: dict[str, Any], text: str) -> None:CODE
Verbosity Indicators6 hits · 11 pts
SeverityFileLineSnippetContext
LOW⚡servers/fastapi/services/image_generation_service.py631 # Step 1: Submit workflowCOMMENT
LOW⚡servers/fastapi/services/image_generation_service.py636 # Step 2: Wait for completionCOMMENT
LOW⚡servers/fastapi/services/image_generation_service.py641 # Step 3: Download the generated imageCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts134 // Step 1: Check fonts in PPTX fileCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts258 // Step 2: Upload fonts and get slide previewCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts716 // Step 3: Initialize template creationCOMMENT
Structural Annotation Overuse6 hits · 11 pts
SeverityFileLineSnippetContext
LOW⚡servers/fastapi/services/image_generation_service.py631 # Step 1: Submit workflowCOMMENT
LOW⚡servers/fastapi/services/image_generation_service.py636 # Step 2: Wait for completionCOMMENT
LOW⚡servers/fastapi/services/image_generation_service.py641 # Step 3: Download the generated imageCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts134 // Step 1: Check fonts in PPTX fileCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts258 // Step 2: Upload fonts and get slide previewCOMMENT
LOW…enerator)/custom-template/hooks/useTemplateCreation.ts716 // Step 3: Initialize template creationCOMMENT
Over-Commented Block9 hits · 9 pts
SeverityFileLineSnippetContext
LOWelectron/tsconfig.json1{COMMENT
LOWelectron/tsconfig.json21 // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only apCOMMENT
LOWelectron/tsconfig.json41 // "noUncheckedSideEffectImports": true, /* Check side effect imports. */COMMENT
LOWelectron/tsconfig.json61 // "sourceRoot": "", /* Specify the root path for debuggers to find the reference soCOMMENT
LOWelectron/tsconfig.json81 "strict": true, /* Enable all strict type-checking options. */COMMENT
LOWservers/nextjs/next-env.d.ts1/// <reference types="next" />COMMENT
LOWservers/nextjs/cypress/support/commands.ts1/// <reference types="cypress" />COMMENT
LOWservers/nextjs/cypress/support/commands.ts21// -- This is a dual command --COMMENT
LOWservers/nextjs/cypress/support/component.ts1// ***********************************************************COMMENT
AI Structural Patterns9 hits · 8 pts
SeverityFileLineSnippetContext
LOW…tapi/utils/llm_calls/generate_presentation_outlines.py251CODE
LOW…fastapi/utils/llm_calls/generate_smart_presentation.py733CODE
LOWservers/fastapi/api/v1/async_tasks/router.py24CODE
LOWservers/fastapi/api/v1/ppt/endpoints/presentation.py1635CODE
LOWservers/fastapi/api/v1/ppt/endpoints/community.py15CODE
LOWservers/fastapi/templates/preview.py35CODE
LOWservers/fastapi/templates/fonts_and_slides_preview.py1292CODE
LOWservers/fastapi/services/community_presentations.py286CODE
LOWservers/fastapi/services/chat/memory_layer.py1389CODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…stapi/tests/test_image_generation_openai_compatible.py82 # Create a valid base64 image (1x1 pixel transparent png)COMMENT
MEDIUMservers/fastapi/templates/pptx_font_utils.py1186 # Create a temporary file to hold the extracted fontCOMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml9 # Set PRESENTON_HTTP_HOST_PORT to change the host port.COMMENT
LOWdocker-compose.yml145 # Set PRESENTON_HTTP_HOST_PORT to change the host port.COMMENT
LOWservers/fastapi/templates/pptx_font_utils.py1177 # Check if it's an EOT fileCOMMENT
Dead Code2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUM…ers/fastapi/tests/unit/test_small_surfaces_coverage.py214CODE
MEDIUM…tapi/tests/unit/test_generate_presentation_outlines.py189CODE
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMservers/nextjs/package-lock.json11557 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWservers/fastapi/services/concurrent_service.py10 def run_task(CODE