AI Slop Code Risk Monitor

mastodon/mastodon

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

Your self-hosted, globally interconnected microblogging community

1.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for mastodon/mastodon, a Ruby project with 50,464 GitHub stars. SynthScan examined 664,161 lines of code across 5180 source files, recording 555 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.0 (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.0
Adjusted Signal
1.0
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
50.5K
Stars
Ruby
Language
664.2K
Lines of Code
5.2K
Files
555
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 3.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

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

Agent Over-Engineering Ratio 1.7/100 · LOW

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

PR Review Velocity Impact 4.6/100 · LOW

Which changes need focused human review? 555 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 2HIGH 0MEDIUM 25LOW 528

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 555 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 Identifiers209 hits · 225 pts
SeverityFileLineSnippetContext
LOWapp/mailers/user_mailer.rb21 def confirmation_instructions(user, token, *, **)CODE
LOWapp/mailers/user_mailer.rb34 def reset_password_instructions(user, token, *, **)CODE
LOWapp/mailers/user_mailer.rb85 def two_factor_recovery_codes_changed(user, *, **)CODE
LOWapp/mailers/user_mailer.rb115 def webauthn_credential_added(user, webauthn_credential)CODE
LOWapp/mailers/user_mailer.rb126 def webauthn_credential_deleted(user, webauthn_credential)CODE
LOWapp/models/announcement.rb114 def value_for_reaction_me_column(account)CODE
LOWapp/models/account_statuses_cleanup_policy.rb101 def invalidate_last_inspected(status, action)CODE
LOWapp/models/account_statuses_cleanup_policy.rb186 def self_status_reference_exists(model)CODE
LOWapp/models/notification.rb193 def preload_cache_collection_target_statuses(notifications, &_block)CODE
LOWapp/models/user.rb447 def render_and_send_devise_message(notification, *, **)CODE
LOWapp/models/admin/account_action.rb30 def disabled_types_for_account(account)CODE
LOWapp/models/account_suggestions/fasp_source.rb14 def fasp_follow_recommendations_for(account)CODE
LOWapp/models/concerns/cacheable.rb17 def preload_cacheable_associations(records)CODE
LOW⚡app/models/concerns/notification/groups.rb102 def paginate_groups_by_max_id(limit, max_id: nil, since_id: nil, grouped_types: nil)CODE
LOW⚡app/models/concerns/notification/groups.rb112 def paginate_groups_by_min_id(limit, max_id: nil, min_id: nil, grouped_types: nil)CODE
LOW⚡app/models/concerns/notification/groups.rb119 def to_a_grouped_paginated_by_id(limit, options = {})CODE
LOWapp/models/concerns/status/threading_concern.rb7 def permitted_statuses_from_ids(ids, account, stable: false)CODE
LOWapp/models/concerns/status/threading_concern.rb96 def find_statuses_from_tree_path(ids, account, promote: false)CODE
LOWapp/models/concerns/account/mappings.rb79 def domain_blocking_map_by_domain(target_domains, account_id)CODE
LOWapp/models/concerns/account/search.rb143 def generate_query_for_search(unsanitized_terms)CODE
LOW…/models/concerns/account/interaction_policy_concern.rb19 def feature_policy_for_account(other_account)CODE
LOWapp/lib/link_details_extractor.rb99 def text_or_language_tagged_string(obj)CODE
LOWapp/lib/delivery_failure_tracker.rb91 def exhausted_deliveries_key_by(host)CODE
LOWapp/lib/hashtag_normalizer.rb10 def remove_invalid_characters(str)CODE
LOWapp/lib/request.rb212 def normalize_preserving_url_encodings(url, preserved_chars = SAFE_PRESERVED_CHARS, *flags)CODE
LOWapp/lib/status_reach_finder.rb114 def inboxes_without_suspended_for(scope)CODE
LOWapp/lib/content_security_policy.rb96 def uri_from_configuration_and_string(host_string)CODE
LOW⚡app/lib/extractor.rb33 def extract_urls_with_indices(text, options = {})CODE
LOW⚡app/lib/extractor.rb42 def remove_overlapping_entities(entities)CODE
LOW⚡app/lib/extractor.rb52 def extract_entities_with_indices(text, options = {}, &block)CODE
LOWapp/lib/extractor.rb71 def extract_mentions_or_lists_with_indices(text)CODE
LOWapp/lib/extractor.rb104 def extract_hashtags_with_indices(text, _options = {})CODE
LOWapp/lib/extractor.rb142 def extract_xmpp_uris_with_indices(text)CODE
LOWapp/lib/extractor.rb157 def extract_magnet_uris_with_indices(text)CODE
LOWapp/lib/feed_manager.rb709 def crutches_exclusive_list_users(recipient_id, statuses)CODE
LOWapp/lib/status_cache_hydrator.rb29 def hydrate_non_reblog_payload(empty_payload, account, nested: false)CODE
LOWapp/lib/status_cache_hydrator.rb147 def mapped_applied_custom_filter(account, status)CODE
LOWapp/lib/connection_pool/shared_timed_stack.rb82 def fetch_preferred_connection(preferred_tag)CODE
LOWapp/lib/admin/metrics/measure/base_measure.rb60 def read_attribute_for_serialization(key)CODE
LOWapp/lib/admin/metrics/dimension/base_dimension.rb45 def read_attribute_for_serialization(key)CODE
LOWapp/lib/activitypub/tag_manager.rb273 def uri_to_local_conversation(uri)CODE
LOWapp/lib/activitypub/tag_manager.rb306 def uri_to_local_account_params(uri)CODE
LOWapp/lib/activitypub/activity/feature_request.rb51 def collection_item_attributes(state = :accepted)CODE
LOWapp/lib/activitypub/activity/create.rb288 def process_tagged_collection(tag)CODE
LOWapp/lib/activitypub/activity/create.rb388 def resolve_unresolved_mentions(status)CODE
LOWapp/lib/activitypub/activity/create.rb394 def resolve_unresolved_collections(status)CODE
LOWapp/validators/vote_validator.rb50 def account_votes_on_same_poll(vote)CODE
LOWapp/javascript/mastodon/features/ui/util/focusUtils.ts32export function focusFirstVisibleItemInColumn(columnIndex: number) {CODE
LOWapp/javascript/mastodon/features/compose/trigger.tsx176function useHasMobileFloatingActionButton({ isMobile }: { isMobile: boolean }) {CODE
LOW…javascript/mastodon/features/compose/util/url_regex.js32export function extractMentionsWithIndices(text) {CODE
LOWapp/javascript/mastodon/features/emoji/locale.ts15export function toSupportedLocaleOrCustom(locale: string): LocaleOrCustom {CODE
LOWapp/javascript/mastodon/features/emoji/database.ts164export async function loadCustomEmojiByShortcode(shortcode: string) {CODE
LOWapp/javascript/mastodon/features/emoji/database.ts169export async function searchCustomEmojisByShortcodes(shortcodes: string[]) {CODE
LOWapp/javascript/mastodon/features/emoji/database.ts200export async function loadLegacyShortcodesByShortcode(shortcode: string) {CODE
LOWapp/javascript/mastodon/features/emoji/normalize.ts176export function emojiToInversionClassName(emoji: string): string | null {CODE
LOW…ascript/mastodon/features/collections/detail/index.tsx251function useRevealSensitiveContent({CODE
LOWapp/javascript/mastodon/models/account.ts132export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {CODE
LOWapp/javascript/mastodon/models/poll.ts19export function createPollOptionTranslationFromServerJSON(translation: {CODE
LOWapp/javascript/mastodon/models/notification_request.ts11export function createNotificationRequestFromJSON(CODE
LOW⚡app/javascript/mastodon/models/notification_group.ts128function createAccountWarningFromJSON(CODE
149 more matches not shown…
Over-Commented Block204 hits · 204 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml21 networks:COMMENT
LOWdocker-compose.yml41 # - "discovery.type=single-node"COMMENT
LOWdocker-compose.yml121 ## http_hidden_proxy=http://privoxy:8118COMMENT
LOWapp/models/announcement.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/preview_card_trend.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/conversation_mute.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/report.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/generated_annual_report.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/identity.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/moderation_subscription.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account_conversation.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account_alias.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/instance_moderation_note.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account.rb21# domain :stringCOMMENT
LOWapp/models/account.rb41# note :text default(""), not nullCOMMENT
LOWapp/models/tag.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/preview_card_provider.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/relationship_severance_event.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/status.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/status.rb21# url :stringCOMMENT
LOWapp/models/account_migration.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/block.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/moderation_suggestion.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/poll.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/announcement_mute.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/custom_emoji_category.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/severed_relationship.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/featured_tag.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/rule_translation.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/moderation_subscription_advisory.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/ip_block.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/software_deprecation.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/mention.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/list_account.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account_warning_preset.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/status_pin.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/bulk_import.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account_statuses_cleanup_policy.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/appeal.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/tag_feed.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/software_update.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/status_stat.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/collection.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/follow_recommendation_mute.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/bookmark.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/custom_emoji.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/account_domain_block.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/marker.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/email_subscription.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/preview_cards_status.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/rule.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/relay.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/media_attachment.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/media_attachment.rb21# thumbnail_file_size :integerCOMMENT
LOWapp/models/keypair.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/favourite.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/email_domain_block.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/tag_trend.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/public_feed.rb1# frozen_string_literal: trueCOMMENT
144 more matches not shown…
Fake / Example Data100 hits · 105 pts
SeverityFileLineSnippetContext
LOW…ript/mastodon/features/compose/components/textarea.tsx60 | 'placeholder'CODE
LOWapp/javascript/mastodon/utils/__tests__/html-test.ts17 const input = '<p>lorem ipsum</p>';CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts48 const input = '<p>lorem ipsum</p>';CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts51 expect(onText).toHaveBeenCalledExactlyOnceWith('lorem ipsum', {});CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts55 const input = '<p>lorem ipsum</p>';CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts69 expect.arrayContaining(['lorem ipsum']),CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts75 const input = '<p>lorem ipsum</p>';CODE
LOW⚡app/javascript/mastodon/utils/__tests__/html-test.ts82 expect.arrayContaining(['lorem ipsum']),CODE
LOW…ascript/mastodon/components/status/content.stories.tsx86 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…ascript/mastodon/components/status/content.stories.tsx86 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…vascript/mastodon/components/status/status.stories.tsx407 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…vascript/mastodon/components/status/status.stories.tsx407 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…pt/mastodon/components/mini_card/mini_card.stories.tsx46 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et doloreCODE
LOW…pt/mastodon/components/mini_card/mini_card.stories.tsx46 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et doloreCODE
LOWconfig/environments/test.rb80# Enable fake_data for PAMCOMMENT
LOWconfig/environments/test.rb82 Rpam2.fake_data =CODE
LOWspec/mailers/previews/user_mailer_preview.rb14 user.unconfirmed_email = 'foo@bar.com'CODE
LOWspec/mailers/previews/user_mailer_preview.rb63 user.unconfirmed_email = 'foo@bar.com'CODE
LOWspec/config/initializers/rack/attack_spec.rb80 let(:email) { 'foo@bar.com' }CODE
LOWspec/models/canonical_email_block_spec.rb69 before { Fabricate(:canonical_email_block, email: 'foo@bar.com') }CODE
LOWspec/models/canonical_email_block_spec.rb72 expect(described_class.block?('foo@bar.com')).to be trueCODE
LOWspec/models/form/import_spec.rb344 { 'acct' => 'user@example.com', 'show_reblogs' => true, 'notify' => false, 'languages' => nil },CODE
LOWspec/models/form/import_spec.rb349 { 'acct' => 'user@example.com', 'hide_notifications' => true },CODE
LOWspec/presenters/instance_presenter_spec.rb24 Setting.site_contact_email = 'admin@example.com'CODE
LOWspec/presenters/instance_presenter_spec.rb25 expect(instance_presenter.contact.email).to eq 'admin@example.com'CODE
LOWspec/requests/admin/warning_presets_spec.rb20 post admin_warning_presets_path(account_warning_preset: { title: 'test title', text: 'lorem ipsum toot', action_CODE
LOWspec/requests/admin/warning_presets_spec.rb28 post admin_warning_presets_path(account_warning_preset: { title: 'test title', text: 'lorem ipsum toot' })CODE
LOWspec/requests/api/v1/media_spec.rb161 let(:params) { { description: 'Lorem ipsum!!!' } }CODE
LOWspec/requests/api/v1/media_spec.rb174 let(:params) { { description: 'Lorem ipsum!!!' } }CODE
LOWspec/requests/api/v1/media_spec.rb177 expect { subject }.to change { media.reload.description }.from('old').to('Lorem ipsum!!!')CODE
LOWspec/requests/api/v1/emails/confirmations_spec.rb52 user.update(email: 'foo@bar.com')CODE
LOWspec/requests/api/v1/emails/confirmations_spec.rb76 let(:params) { { email: 'foo@bar.com' } }CODE
LOWspec/requests/api/v1/emails/confirmations_spec.rb84 expect(user.reload.unconfirmed_email).to eq('foo@bar.com')CODE
LOWspec/system/report_interface_spec.rb8 let(:email) { 'admin@example.com' }CODE
LOWspec/system/admin/terms_of_service/generates_spec.rb25 fill_in 'terms_of_service_generator_arbitration_address', with: '123 Main Street'CODE
LOWspec/fabricators/status_fabricator.rb5 text 'Lorem ipsum dolor sit amet'CODE
LOWspec/fabricators/status_fabricator.rb5 text 'Lorem ipsum dolor sit amet'CODE
LOWspec/lib/plain_text_formatter_spec.rb24 expect(subject).to eq 'Lorem ipsum'CODE
LOWspec/lib/plain_text_formatter_spec.rb64 expect(subject).to eq 'Lorem ipsum'CODE
LOWspec/lib/plain_text_formatter_spec.rb72 expect(subject).to eq 'Lorem ipsum'CODE
LOWspec/lib/request_spec.rb61 before { stub_request(:get, 'http://example.com').to_return(body: 'lorem ipsum') }CODE
LOWspec/lib/request_spec.rb95 expect(response.body_with_limit).to eq 'lorem ipsum'CODE
LOWspec/lib/request_spec.rb133 stub_request(:get, 'http://redirected.example.com/foo').to_return(body: 'lorem ipsum')CODE
LOWspec/lib/mastodon/cli/canonical_email_blocks_spec.rb17 let(:arguments) { ['user@example.com'] }CODE
LOWspec/lib/mastodon/cli/canonical_email_blocks_spec.rb20 before { Fabricate(:canonical_email_block, email: 'user@example.com') }CODE
LOW⚡spec/lib/mastodon/cli/canonical_email_blocks_spec.rb38 let(:arguments) { ['user@example.com'] }CODE
LOW⚡spec/lib/mastodon/cli/canonical_email_blocks_spec.rb41 before { Fabricate(:canonical_email_block, email: 'user@example.com') }CODE
LOW⚡spec/lib/mastodon/cli/canonical_email_blocks_spec.rb47 expect(CanonicalEmailBlock.matching_email('user@example.com')).to be_emptyCODE
LOWspec/lib/activitypub/activity/announce_spec.rb68 content: 'Lorem ipsum',CODE
LOWspec/lib/activitypub/activity/announce_spec.rb84 content: 'Lorem ipsum',CODE
LOWspec/lib/activitypub/activity/announce_spec.rb163 content: 'Lorem ipsum',CODE
LOWspec/lib/activitypub/activity/create_spec.rb45 content: '@bob lorem ipsum',CODE
LOWspec/lib/activitypub/activity/create_spec.rb70 content: '@bob lorem ipsum',CODE
LOWspec/lib/activitypub/activity/create_spec.rb88 content: '@bob lorem ipsum',CODE
LOWspec/lib/activitypub/activity/create_spec.rb201 expect(status.text).to eq 'Lorem ipsum'CODE
LOWspec/lib/activitypub/activity/create_spec.rb220 expect(status.text).to eq 'Lorem ipsum'CODE
LOWspec/lib/activitypub/activity/create_spec.rb240 expect(status.text).to eq 'Lorem ipsum'CODE
LOWspec/lib/activitypub/activity/create_spec.rb263 expect(status.text).to eq 'Lorem ipsum'CODE
LOWspec/lib/activitypub/activity/create_spec.rb289 expect(status.text).to eq 'Lorem ipsum'CODE
LOWspec/lib/activitypub/activity/create_spec.rb882 content: 'Lorem ipsum :tinking:',CODE
40 more matches not shown…
Self-Referential Comments22 hits · 65 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.yml1# This file is designed for production server deployment, not local development workCOMMENT
MEDIUMapp/models/setting.rb14# This file is derived from a fork of the `rails-settings-cached` gem available atCOMMENT
MEDIUMapp/models/concerns/user/omniauthable.rb67 # Create a user for the given auth params. If no email was provided,COMMENT
MEDIUM…/services/activitypub/process_status_update_service.rb334 # This method is only concerned with approval and skips other meaningful changes,COMMENT
MEDIUMconfig/settings.yml1# This file contains default values, and does not need to be edited. AllCOMMENT
MEDIUMconfig/initializers/wrap_parameters.rb5# This file contains settings for ActionController::ParamsWrapper whichCOMMENT
MEDIUMconfig/initializers/permissions_policy.rb5# Define an application-wide HTTP permissions policy. For furtherCOMMENT
MEDIUMconfig/initializers/content_security_policy.rb5# Define an application-wide content security policy.COMMENT
MEDIUMconfig/initializers/simple_form.rb124 # Define the way to render check boxes / radio buttons with labels.COMMENT
MEDIUMconfig/initializers/simple_form.rb223 # Define the default class of the input wrapper of the boolean input.COMMENT
MEDIUMspec/requests/api/v1/annual_reports_spec.rb110 # Define the ID manually as it is otherwise handled by the database, which is not affected by `travel_to`COMMENT
MEDIUMspec/requests/api/v1/annual_reports_spec.rb133 # Define the ID manually as it is otherwise handled by the database, which is not affected by `travel_to`COMMENT
MEDIUMspec/system/admin/email_subscriptions_spec.rb12 Fabricate.create :email_subscription # Create a sub show that purge is shownCODE
MEDIUMspec/support/streaming_client.rb79 # Create a synthetic close event:COMMENT
MEDIUMspec/lib/vite/manifest_spec.rb102 # This file is present in the manifest but not referenced by any entrypointCOMMENT
MEDIUMspec/lib/vite/manifest_spec.rb133 # Create an empty fileCOMMENT
MEDIUM…/scheduler/accounts_statuses_cleanup_scheduler_spec.rb91 # Create a bunch of old statusesCOMMENT
MEDIUM…/scheduler/accounts_statuses_cleanup_scheduler_spec.rb101 # Create a bunch of newer statusesCOMMENT
MEDIUMlib/mastodon/migration_helpers.rb3# This file is copied almost entirely from GitLab, which has done a largeCOMMENT
MEDIUMlib/mastodon/database.rb3# This file is entirely lifted from GitLab.COMMENT
MEDIUMdb/schema.rb1# This file is auto-generated from the current state of the database. InsteadCOMMENT
MEDIUMdb/schema.rb5# This file is the source Rails uses to define your schema when running `bin/railsCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALspec/requests/api/v2/media_spec.rb15 expect(File.exist?(user.account.media_attachments.first.file.path(:small)))CODE
CRITICALspec/requests/api/v2/media_spec.rb51 expect(File.exist?(user.account.media_attachments.first.file.path(:small)))CODE
Redundant / Tautological Comments11 hits · 19 pts
SeverityFileLineSnippetContext
LOWapp/models/admin/server_check/media_privacy_runner.rb20 # Check if we can list the uploaded file. If true, that's an errorCOMMENT
LOWapp/lib/feed_manager.rb60 # Check if the status should not be added to a feedCOMMENT
LOW⚡app/lib/feed_manager.rb481 # Check if there is a streaming API client connectedCOMMENT
LOW⚡app/lib/feed_manager.rb489 # Check if the account is blocking or muting any of the given accountsCOMMENT
LOW⚡app/lib/feed_manager.rb498 # Check if status should not be added to the home feedCOMMENT
LOWapp/lib/feed_manager.rb536 # Check if status should not be added to the mentions feedCOMMENT
LOWapp/lib/feed_manager.rb553 # Check if status should not be added to the list feedCOMMENT
LOWapp/lib/feed_manager.rb569 # Check if a status should not be added to the home feed when it comesCOMMENT
LOWapp/lib/admin/system_check/media_privacy_check.rb32 # Check if we can list the uploaded file. If true, that's an errorCOMMENT
LOWapp/services/software_update_check_service.rb50 # Check if any of the notices is new, and issue notificationsCOMMENT
LOWspec/rails_helper.rb68 # Set type to `cli` for all CLI specsCOMMENT
AI Slop Vocabulary4 hits · 8 pts
SeverityFileLineSnippetContext
LOWapp/lib/feed_manager.rb608 # can just add it to the feed (and note that we're reblogging it).COMMENT
MEDIUMapp/lib/activitypub/object_integrity_proof.rb54 # Step 4.2. from the aforementioned algorithm, it's useful when vocabulary necessary to the cryptosuite had to be COMMENT
MEDIUMspec/system/auth/passwords_spec.rb15 allow(Devise).to receive(:pam_authentication).and_return(false) # Avoid the "seamless external" pathCODE
LOWdb/migrate/20170920032311_fix_reblogs_in_feeds.rb77 # just use the data in Redis to reverse this transition.COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMconfig/initializers/simple_form.rb61 # extensions by default, you can change `b.optional` to `b.use`.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWapp/javascript/mastodon/components/hotkeys/index.tsx301 * ### How to useCOMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWapp/services/resolve_account_service.rb46 # we already checked, we need to check if we've already gotCOMMENT