AI Slop Code RIsk Monitor

Arthur-Ficial/apfel

The free AI already on your Mac. CLI tool, OpenAI-compatible server, and interactive chat — all on-device via Apple Intelligence. No API keys, no cloud, no downloads.

24.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Arthur-Ficial/apfel, a Swift project with 6,465 GitHub stars. SynthScan examined 56,548 lines of code across 277 source files, recording 831 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 24.2 (Elevated 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.

24.2
Adjusted Signal
24.2
Raw Pattern Score
100%
Time Factor
2026-10-05
Last Push
6.5K
Stars
Swift
Language
56.5K
Lines of Code
277
Files
831
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 37.4/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 64.8/100 · HIGH

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

PR Review Velocity Impact 69.7/100 · HIGH

Which changes need focused human review? 831 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 13MEDIUM 228LOW 590

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 831 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators216 hits · 770 pts
SeverityFileLineSnippetContext
MEDIUMTests/integration/test_tdd_red.py54# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py56# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py102# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py104# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py157# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py189# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py192# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py236# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py238# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py270# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py276# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py327# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py329# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py382# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py384# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py423# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_tdd_red.py426# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py76# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py78# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py118# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py120# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py446# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py448# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py498# ============================================================================COMMENT
MEDIUM⚡Tests/integration/server_validation_test.py500# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py47# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py49# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py95# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py97# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py134# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py136# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py161# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py163# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py278# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py281# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py338# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py340# ============================================================================COMMENT
MEDIUMTests/integration/server_validation_test.py557# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/server_validation_test.py560# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/server_validation_test.py676# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/server_validation_test.py680# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/conftest.py100# ============================================================================COMMENT
MEDIUM⚡Tests/integration/conftest.py111# ============================================================================COMMENT
MEDIUM⚡Tests/integration/security_test.py582# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/security_test.py584# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/security_test.py665# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/security_test.py667# ---------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_nixpkgs_bump_alerting.py48# --------------------------------------------------------------------------COMMENT
MEDIUMTests/integration/test_nixpkgs_bump_alerting.py50# --------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/test_nixpkgs_bump_alerting.py167# --------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/test_nixpkgs_bump_alerting.py169# --------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/openai_client_test.py985# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/openai_client_test.py987# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡Tests/integration/openapi_spec_test.py257# ============================================================================COMMENT
MEDIUM⚡Tests/integration/openapi_spec_test.py259# ============================================================================COMMENT
MEDIUM⚡Tests/integration/openapi_spec_test.py267# ============================================================================COMMENT
MEDIUM⚡Tests/integration/openapi_spec_test.py269# ============================================================================COMMENT
156 more matches not shown…
Hyper-Verbose Identifiers440 hits · 349 pts
SeverityFileLineSnippetContext
LOW⚡Tests/integration/server_validation_test.py66def test_oversized_body_includes_cors_header_for_allowed_origin():CODE
LOW⚡Tests/integration/server_validation_test.py108def test_error_object_always_has_null_param_and_code_when_absent():CODE
LOW⚡Tests/integration/server_validation_test.py431def test_responses_truncation_auto_accepted():CODE
LOW⚡Tests/integration/server_validation_test.py439def test_responses_truncation_disabled_accepted():CODE
LOW⚡Tests/integration/server_validation_test.py489def test_models_advertise_parallel_tool_calls():CODE
LOWTests/integration/server_validation_test.py177def test_json_schema_with_mcp_is_rejected():CODE
LOWTests/integration/server_validation_test.py203def test_json_schema_with_mcp_rejected_streaming():CODE
LOWTests/integration/server_validation_test.py230def test_json_object_with_mcp_still_accepted():CODE
LOWTests/integration/server_validation_test.py243def test_no_response_format_with_mcp_still_accepted():CODE
LOWTests/integration/server_validation_test.py254def test_json_schema_without_mcp_still_accepted():CODE
LOWTests/integration/server_validation_test.py296def test_include_usage_emits_usage_null_on_non_final_chunks():CODE
LOWTests/integration/server_validation_test.py321def test_without_include_usage_no_usage_key_on_chunks():CODE
LOWTests/integration/server_validation_test.py415def test_responses_error_object_has_null_param_and_code():CODE
LOWTests/integration/server_validation_test.py537def test_trailing_tool_exchange_larger_than_the_window_is_context_overflow():CODE
LOWTests/integration/conftest.py141def is_tool_choice_not_satisfied(resp):CODE
LOWTests/integration/test_changelog_gate.py79def test_gate_blocks_source_change_without_changelog(tmp_path):STRING
LOWTests/integration/test_changelog_gate.py92def test_gate_passes_source_change_with_changelog(tmp_path):STRING
LOWTests/integration/test_changelog_gate.py105def test_gate_passes_docs_only_change(tmp_path):STRING
LOWTests/integration/test_changelog_gate.py117def test_gate_ignores_generated_buildinfo(tmp_path):STRING
LOW⚡Tests/integration/security_test.py157def test_default_host_header_allowed():CODE
LOW⚡Tests/integration/security_test.py165def test_no_origin_header_allowed():CODE
LOW⚡Tests/integration/security_test.py171def test_localhost_origin_allowed():CODE
LOW⚡Tests/integration/security_test.py214def test_subdomain_attack_rejected():CODE
LOW⚡Tests/integration/security_test.py224def test_foreign_origin_rejected_on_models():CODE
LOW⚡Tests/integration/security_test.py234def test_foreign_origin_rejected_on_chat():CODE
LOW⚡Tests/integration/security_test.py269def test_no_cors_headers_by_default():CODE
LOW⚡Tests/integration/security_test.py275def test_options_no_cors_headers_by_default():CODE
LOW⚡Tests/integration/security_test.py284def test_origin_error_is_openai_format():CODE
LOW⚡Tests/integration/security_test.py354def test_explicit_token_not_echoed_in_startup_banner():CODE
LOW⚡Tests/integration/security_test.py363def test_env_token_not_echoed_in_startup_banner():CODE
LOW⚡Tests/integration/security_test.py372def test_token_auto_prints_generated_secret():CODE
LOW⚡Tests/integration/security_test.py380def test_no_origin_check_shows_loud_warning_without_cors():CODE
LOW⚡Tests/integration/security_test.py388def test_footgun_still_shows_loud_warning():CODE
LOW⚡Tests/integration/security_test.py397def test_default_server_has_no_origin_warning():CODE
LOW⚡Tests/integration/security_test.py404def test_wildcard_allowed_origins_warns_like_no_origin_check():CODE
LOW⚡Tests/integration/security_test.py413def test_normal_allowed_origins_shows_no_warning():CODE
LOW⚡Tests/integration/security_test.py421def test_non_loopback_bind_without_token_warns_loudly():CODE
LOW⚡Tests/integration/security_test.py431def test_non_loopback_bind_with_token_has_no_exposure_warning():CODE
LOW⚡Tests/integration/security_test.py440def test_loopback_bind_without_token_has_no_exposure_warning():CODE
LOW⚡Tests/integration/security_test.py447def test_unauthorized_error_keeps_cors_for_allowed_origin():CODE
LOW⚡Tests/integration/security_test.py594def test_deeply_nested_schema_is_rejected_not_fatal(depth):CODE
LOW⚡Tests/integration/security_test.py672def test_stalled_request_bodies_do_not_wedge_the_server():CODE
LOWTests/integration/security_test.py116def test_foreign_host_header_rejected():CODE
LOWTests/integration/security_test.py127def test_foreign_host_header_rejected_on_health():CODE
LOWTests/integration/security_test.py137def test_localhost_host_header_allowed():CODE
LOWTests/integration/security_test.py201def test_foreign_origin_rejected():CODE
LOWTests/integration/security_test.py245def test_foreign_origin_rejected_on_logs():CODE
LOWTests/integration/security_test.py256def test_foreign_origin_rejected_on_stats():CODE
LOWTests/integration/security_test.py298def test_logs_endpoints_hidden_without_debug():CODE
LOWTests/integration/security_test.py307def test_logs_include_bodies_in_debug_mode():CODE
LOWTests/integration/security_test.py325def test_logs_limit_is_clamped_to_safe_positive_range():CODE
LOWTests/integration/security_test.py337def test_allowed_origins_adds_to_default_localhost_allowlist():CODE
LOWTests/integration/security_test.py468def test_health_requires_auth_on_non_loopback_token_protected_bind():CODE
LOWTests/integration/security_test.py487def test_public_health_keeps_non_loopback_health_open():CODE
LOWTests/integration/security_test.py502def test_footgun_preflight_allows_openai_sdk_headers():CODE
LOWTests/integration/security_test.py526def test_footgun_preflight_allows_arbitrary_headers():CODE
LOWTests/integration/security_test.py547def test_cors_preflight_echoes_requested_headers():CODE
LOWTests/integration/security_test.py567def test_default_preflight_still_works_without_cors():CODE
LOWTests/integration/security_test.py645def test_realistic_nested_schema_still_accepted():CODE
LOWTests/integration/test_apfelcore_package.py28def test_apfelcore_can_be_imported_by_a_downstream_package():CODE
380 more matches not shown…
Over-Commented Block105 hits · 105 pts
SeverityFileLineSnippetContext
LOWTests/integration/conftest.py101# Guardrail-refusal handling (#320, #323, #324)COMMENT
LOWTests/integration/test_stream_permit_release.py21# LanguageModelSession is constructed, so these run fine on a GitHub runnerCOMMENT
LOWTests/apfelTests/ApfelErrorMessageTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/CLIValidateTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/StreamErrorResolverTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/OpenAIWireFormatTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/RedTDDTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/ToolCallingDirectiveTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/ApfelCorePublicAPIUsageTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/NestingDepthTests.swift1import FoundationCOMMENT
LOW…ts/apfelTests/BufferedLineReaderConcurrencyTests.swift1// ============================================================================COMMENT
LOWTests/apfelTests/BrokenPipeTests.swift1import FoundationCOMMENT
LOWscripts/nixpkgs-bump-cron.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/publish-nixpkgs-bump.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/publish-nixpkgs-bump.sh21#COMMENT
LOWscripts/publish-release.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/stamp-changelog.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/release-preflight.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/bump-nixpkgs.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/dist-watch.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/check-changelog.sh1#!/usr/bin/env bashCOMMENT
LOW.github/workflows/ci.yml41 # it to satisfy a transitive dep that wants a newer one -- that killedCOMMENT
LOW.github/workflows/ci.yml81 python3 -m pytest Tests/integration/test_changelog_gate.py -v --tb=shortCOMMENT
LOWSources/ToolCallingSupport.swift1// ============================================================================COMMENT
LOWSources/ContextManager.swift1// ============================================================================COMMENT
LOWSources/ContextManager.swift61 // intact) so callers can count prompt tokens accurately. Reading themCOMMENT
LOWSources/Session.swift41 case .defaultMode:COMMENT
LOWSources/Session.swift721/// FoundationModels returns cumulative snapshots; we compute deltas by tracking prev length.COMMENT
LOWSources/TokenCounter.swift61 /// when the SDK has not yet reported a positive value. The floor preventsCOMMENT
LOWSources/ResponsesHandlers.swift1// ============================================================================COMMENT
LOWSources/Output.swift1// ============================================================================COMMENT
LOWSources/Output.swift61}COMMENT
LOWSources/UsageAccounting.swift1// ============================================================================COMMENT
LOWSources/Server.swift61 // Pre-fetch supportedLanguages BEFORE binding so any SDK-level crashCOMMENT
LOWSources/Summarizer.swift1// ============================================================================COMMENT
LOWSources/SchemaConverter.swift1// ============================================================================COMMENT
LOWSources/main.swift41// Adopt the user's LC_CTYPE from the environment (LANG/LC_*). apfel otherwiseCOMMENT
LOWSources/TypedErrorSupport.swift1// ============================================================================COMMENT
LOWSources/MCPClient.swift1// ============================================================================COMMENT
LOWSources/MCPClient.swift221 ioLock.lock()COMMENT
LOWSources/LesbarFileReader.swift1// ============================================================================COMMENT
LOWSources/VisionSupport.swift1// ============================================================================COMMENT
LOWSources/VisionSupport.swift41 : BodyLimits.maxRequestBodyBytesCOMMENT
LOWSources/Core/CodeCropper.swift1// ============================================================================COMMENT
LOWSources/Core/CodeCropper.swift41 contains only the code or command. No text before or after the block.COMMENT
LOWSources/Core/CodeCropper.swift81COMMENT
LOWSources/Core/ChatRequestValidator.swift81 /// The final non-tool message had empty or null content.COMMENT
LOWSources/Core/ChatRequestValidator.swift201COMMENT
LOWSources/Core/SchemaIR.swift1// ============================================================================COMMENT
LOWSources/Core/SchemaIR.swift21 case integer(name: String, description: String?)COMMENT
LOWSources/Core/OpenAIModels.swift1// ============================================================================COMMENT
LOWSources/Core/OpenAIModels.swift581 /// ~512-level limit Foundation's own JSON scanner enforces. Depths inCOMMENT
LOWSources/Core/TokenUsage.swift1// ============================================================================COMMENT
LOWSources/Core/ToolCallingDirective.swift1// ============================================================================COMMENT
LOWSources/Core/ToolCallingDirective.swift21// on every OS. There is also no per-tool mode in the SDK, so a namedCOMMENT
LOWSources/Core/ImageInput.swift1// ============================================================================COMMENT
LOWSources/Core/LRUCache.swift1// ============================================================================COMMENT
LOWSources/Core/ToolCallHandler.swift161COMMENT
LOWSources/Core/SamplingDecision.swift1// ============================================================================COMMENT
LOWSources/Core/StreamingToolCallGate.swift1// ============================================================================COMMENT
45 more matches not shown…
Empty Error Handlers12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHTests/integration/security_test.py107except httpx.HTTPError:CODE
HIGHTests/integration/security_test.py54except httpx.HTTPError:CODE
HIGHTests/integration/test_chat.py383except OSError:CODE
HIGHTests/integration/test_chat.py447except OSError:CODE
HIGHTests/integration/test_chat.py1009except OSError:CODE
HIGHTests/integration/test_chat.py443except OSError:CODE
HIGHTests/integration/mcp_server_test.py95except httpx.HTTPError:CODE
HIGHTests/integration/mcp_remote_test.py59except httpx.HTTPError:CODE
HIGHTests/integration/mcp_remote_test.py358except (json.JSONDecodeError, KeyError, IndexError):CODE
HIGHmcp/calculator/server.py111except ValueError:CODE
HIGHmcp/http-test-server/server.py250except KeyboardInterrupt:CODE
HIGHmcp/http-test-server/server.py98except ValueError:CODE
Modern AI Meta-Vocabulary8 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMCHANGELOG.md15- Typed `LanguageModelError` classification on macOS 27 (#510 item 4, #197). Every main-target catch site now classifiesCODE
MEDIUMREADME.md292### Permissive guardrails for the serverCOMMENT
MEDIUMREADME.md297apfel --serve --permissive # every request uses permissive guardrailsCODE
MEDIUM⚡Tests/integration/conftest.py103# The on-device model's guardrails fire on arbitrary benign prompts alongCOMMENT
MEDIUMTests/integration/openai_client_test.py764# generate until the 4096-token context window overflowed and returned aCOMMENT
MEDIUMTests/integration/openai_client_test.py966 # REQUIRE them: the on-device model occasionally hallucinates keysCOMMENT
MEDIUM.claude/routines/_golden-goal.md29## Hard guardrails - non-negotiableCOMMENT
MEDIUMdocs/coreai-impact.md185 parked ticket #119); a `DynamicProfile` agentic API; and image analysis (`OCRTool`,CODE
Structural Annotation Overuse8 hits · 16 pts
SeverityFileLineSnippetContext
LOWmcp/calculator/test_round_trip.py64 # Step 1: Ask apfel with calculator toolCOMMENT
LOW⚡mcp/calculator/test_round_trip.py83 # Step 2: Execute via MCP calculatorCOMMENT
LOW⚡mcp/calculator/test_round_trip.py87 # Step 3: Feed result back to apfelCOMMENT
LOW⚡mcp/calculator/README.md9# Step 1: Model called multiply({"a": 247, "b": 83})COMMENT
LOW⚡mcp/calculator/README.md10# Step 2: Calculator result: 20501COMMENT
LOW⚡mcp/calculator/README.md11# Step 3: Final answer: The product of 247 and 83 is 20,501.COMMENT
LOWdocs/tool-calling-guide.md186### Step 1 - Model calls tool:COMMENT
LOWdocs/tool-calling-guide.md193### Step 2 - We send the tool result back + a follow-up question:COMMENT
Deep Nesting21 hits · 14 pts
SeverityFileLineSnippetContext
LOWTests/integration/test_tdd_red.py159CODE
LOWTests/integration/test_build_info.py66CODE
LOWTests/integration/openai_client_test.py370CODE
LOWTests/integration/openai_client_test.py521CODE
LOWTests/integration/openai_client_test.py558CODE
LOWTests/integration/openai_client_test.py589CODE
LOWTests/integration/openapi_spec_test.py236CODE
LOWTests/integration/test_marker_discipline.py60CODE
LOWTests/integration/test_chat.py64CODE
LOWTests/integration/test_chat.py134CODE
LOWTests/integration/test_chat.py968CODE
LOWTests/integration/openapi_conformance_test.py271CODE
LOWTests/integration/openapi_conformance_test.py129CODE
LOWTests/integration/mcp_remote_test.py322CODE
LOWTests/integration/cli_e2e_test.py78CODE
LOWTests/integration/cli_e2e_test.py130CODE
LOWTests/integration/cli_e2e_test.py224CODE
LOWmcp/calculator/server.py102CODE
LOWmcp/calculator/server.py136CODE
LOWmcp/calculator/server.py196CODE
LOWmcp/http-test-server/server.py107CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMTests/integration/performance_test.py23# MEDIAN speedup across repeated runs instead, which is robust to occasionalCOMMENT
MEDIUMscripts/publish-nixpkgs-bump.sh72# Default target = latest published GitHub release (robust for the launchdCOMMENT
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOWmcp/calculator/test_round_trip.py64 # Step 1: Ask apfel with calculator toolCOMMENT
LOW⚡mcp/calculator/test_round_trip.py83 # Step 2: Execute via MCP calculatorCOMMENT
LOW⚡mcp/calculator/test_round_trip.py87 # Step 3: Feed result back to apfelCOMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/publish-nixpkgs-bump.sh30# Usage:COMMENT
LOWscripts/publish-release.sh8# Usage:COMMENT
LOWscripts/stamp-changelog.sh12# Usage:COMMENT
LOWscripts/bump-nixpkgs.sh9# Usage:COMMENT
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHTests/integration/test_demo_packaging.py145 "Release build artefacts missing (run `make build && make generate-man-page`)"CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMTests/apfelTests/ApfelErrorTests.swift105 localizedMsg: "I cannot provide that information."CODE
MEDIUMTests/apfelTests/ApfelErrorTests.swift109 try assertEqual(text, "I cannot provide that information.")CODE
Unused Imports5 hits · 3 pts
SeverityFileLineSnippetContext
LOWTests/integration/openapi_spec_test.py20CODE
LOWTests/integration/test_chat.py231CODE
LOWTests/integration/mcp_server_test.py27CODE
LOWTests/integration/test_brew_service.py13CODE
LOWTests/integration/cli_e2e_test.py311CODE
Excessive Try-Catch Wrapping3 hits · 2 pts
SeverityFileLineSnippetContext
LOWTests/integration/openai_client_test.py1054 except Exception as exc: # noqa: BLE001 - SDK validation error is the signalCODE
LOWmcp/calculator/server.py172 except Exception as e:CODE
LOWmcp/http-test-server/server.py134 except Exception as e:CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWmcp/http-test-server/server.py138def handle_request(body):CODE