AI Slop Code Risk Monitor

antiwork/gumroad

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

See what sticks

3.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for antiwork/gumroad, a Ruby project with 10,064 GitHub stars. SynthScan examined 1,124,148 lines of code across 7220 source files, recording 2922 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.4 (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.

3.4
Adjusted Signal
3.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
10.1K
Stars
Ruby
Language
1.1M
Lines of Code
7.2K
Files
2.9K
Pattern Hits
2026-10-31
Scan Date
0.01
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 11.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.9/100 · LOW

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

Agent Over-Engineering Ratio 7.2/100 · LOW

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

PR Review Velocity Impact 15.7/100 · LOW

Which changes need focused human review? 2922 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 61HIGH 2MEDIUM 176LOW 2683

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 2922 distinct pattern matches across 13 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 Identifiers1441 hits · 1440 pts
SeverityFileLineSnippetContext
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb64 def refresh_funded_state_ttls(candidates)CODE
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb350 def confirm_destination_funding(transfer, request)CODE
LOW…idekiq/suspend_accounts_with_payment_address_worker.rb15 def suspend_users_with_same_payment_address(suspended_user)CODE
LOW…idekiq/suspend_accounts_with_payment_address_worker.rb26 def suspend_users_with_same_stripe_fingerprint(suspended_user)CODE
LOWapp/sidekiq/generate_canada_sales_report_job.rb304 def canadian_candidate_seller_ids(starts_at, ends_at)CODE
LOWapp/sidekiq/generate_canada_sales_report_job.rb330 def seller_ids_with_reportable_activity(starts_at, ends_at)CODE
LOWapp/sidekiq/generate_canada_sales_report_job.rb355 def determine_country_name_and_province_name(purchase)CODE
LOWapp/sidekiq/fail_abandoned_purchase_worker.rb65 def reschedule_for_outstanding_payment(payment_intent)CODE
LOWapp/sidekiq/send_workflow_installment_worker.rb131 def find_installment_and_rule(installment_id)CODE
LOWapp/sidekiq/send_workflow_installment_worker.rb165 def current_recipient_reference_time(installment:, purchase_id:, follower_id:, affiliate_user_id:, subscription_id:)CODE
LOWapp/sidekiq/send_workflow_installment_worker.rb189 def reschedule_with_current_rule(installment:, installment_rule:, version:, purchase_id:, follower_id:, affiliate_usCODE
LOWapp/sidekiq/send_workflow_installment_worker.rb282 def current_audience_member_and_match(installment:, email:, filters: nil)CODE
LOWapp/sidekiq/send_workflow_installment_worker.rb306 def affiliate_reference_times(installment:, member:, current_match:, affiliate_user_id:)CODE
LOWapp/sidekiq/create_stripe_apple_pay_domain_worker.rb44 def claim_existing_registration(user_id, domain)CODE
LOW⚡app/sidekiq/send_workflow_post_emails_job.rb256 def delivery_targets_for_purchase(member:, id:, log_unresolvable:)CODE
LOW⚡app/sidekiq/send_workflow_post_emails_job.rb266 def delivery_targets_for_follower(member:, id:, log_unresolvable:)CODE
LOW⚡app/sidekiq/send_workflow_post_emails_job.rb276 def delivery_targets_for_affiliate(member:, id:, log_unresolvable:)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb294 def enqueue_installment_worker(created_at:, purchase_id: nil, follower_id: nil, affiliate_user_id: nil, preserve_refCODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb349 def requeue_for_seller_fanout_limit(*args)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb365 def requeue_for_daily_blast_limit(*args)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb375 def defer_schedule_intent_until(run_at)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb404 def merge_confirmed_followers_after_cutoff(members)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb456 def merge_affiliates_after_cutoff(members)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb474 def follower_confirmation_times_by_id(members)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb491 def affiliate_recipients_by_key(members)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb531 def normalize_affiliate_matches(members)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb544 def resolve_affiliate_triggers(member:, id:)CODE
LOWapp/sidekiq/send_workflow_post_emails_job.rb584 def log_unresolvable_recipient(member:, type:)CODE
LOW…idekiq/generate_fees_by_creator_location_report_job.rb145 def determine_country_name_and_state_name(purchase)CODE
LOWapp/sidekiq/alert_on_stuck_piracy_reports_job.rb133 def repeat_counter_notice_section(counts)CODE
LOWapp/sidekiq/create_india_sales_report_job.rb209 def india_chargeback_reversals(start_date, end_date)CODE
LOWapp/sidekiq/google_calendar_invite_job.rb45 def insert_or_refresh_and_insert_event(gcal_api, integration, event)CODE
LOWapp/sidekiq/transcode_video_for_streaming_worker.rb140 def fail_unsubmitted_transcode(transcoded_video)CODE
LOW…idekiq/alert_on_blocked_established_subscribers_job.rb110 def established_charge_counts(subscription_ids)CODE
LOW…idekiq/alert_on_blocked_established_subscribers_job.rb200 def live_subscription_ids_among(subscription_ids)CODE
LOWapp/sidekiq/create_canada_monthly_sales_report_job.rb176 def taxjar_product_tax_code_for(link)CODE
LOWapp/sidekiq/remove_deleted_files_from_s3_job.rb67 def gather_transcoded_video_keys(file)CODE
LOWapp/sidekiq/send_post_blast_emails_job.rb253 def revalidate_snapshotted_members(snapshotted_ids)CODE
LOWapp/sidekiq/send_post_blast_emails_job.rb314 def write_non_opener_checkpoint(checkpoint_key, emails)CODE
LOW…_unclaimed_balances_of_inactive_stripe_accounts_job.rb104 def previous_transfer_made_by_this_job(stripe_account_id)CODE
LOWapp/sidekiq/schedule_workflow_installment_job.rb118 def reschedule_pending_resubscribed_memberships(installment, old_delayed_delivery_time, cutoff_reference_time)CODE
LOWapp/sidekiq/schedule_workflow_installment_job.rb166 def resubscription_exclusion_context(workflow)CODE
LOWapp/sidekiq/post_to_ping_endpoints_worker.rb49 def notify_undeliverable_subscriptions(subscriptions)CODE
LOWapp/sidekiq/schedule_abandoned_cart_emails_job.rb77 def schedule_emails_for_window(window, limit:)CODE
LOWapp/sidekiq/schedule_abandoned_cart_emails_job.rb129 def matched_workflow_ids_and_product_ids_by_cart_id(cart_product_ids_with_cart_ids)CODE
LOWapp/sidekiq/send_post_blast_emails_slice_job.rb124 def finalize_partition_if_complete(partition_key, total_chunks)CODE
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb209 def prefetch_partial_refund_adjustments(purchases_scope)CODE
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb262 def resolve_geoip_fallback_purchases(purchases_scope, unresolved_us_tuple_keys, aggregation)CODE
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb385 def refund_totals_by_purchase(purchase_ids)CODE
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb469 def chargeback_purchase_filters(scope)CODE
LOWapp/sidekiq/reconcile_client_confirmed_charge_job.rb117 def payment_intent_id_from_stripe_charge(stripe_charge)CODE
LOWapp/sidekiq/reconcile_client_confirmed_charge_job.rb129 def search_payment_intent_id_by_transfer_group(charge, purchase)CODE
LOW…p/sidekiq/create_us_state_monthly_sales_reports_job.rb183 def taxjar_product_tax_code_for(link)CODE
LOWapp/sidekiq/generate_sales_report_job.rb222 def update_job_status_to_completed(country_code, start_time, end_time, sales_type, download_url)CODE
LOWapp/sidekiq/repair_order_charge_outcomes_job.rb168 def order_ids_with_checkout_failed(after_id:, ceiling:, limit:)CODE
LOWapp/sidekiq/send_year_in_review_email_job.rb72 def calculate_stats_by_country(data)CODE
LOW…q/retry_stripe_rejected_payout_setup_for_seller_job.rb121 def payout_setup_failure_notes(user)CODE
LOWapp/sidekiq/lift_platform_stripe_pause_job.rb163 def release_failed_payout_hold(user_id, transfers_active:)CODE
LOWapp/sidekiq/generate_ssl_certificate.rb96 def seconds_until_rate_limit_resets(exception)CODE
LOW…lert_on_stale_blocks_holding_established_buyers_job.rb550 def linked_to_suspended_account(emails)CODE
1381 more matches not shown…
Over-Commented Block999 hits · 972 pts
SeverityFileLineSnippetContext
LOWvite.config.ts21 },COMMENT
LOWdocker/ci/restore_test_db.sh1#!/bin/bashCOMMENT
LOWdocker/ci/dump_test_db.sh1#!/bin/bashCOMMENT
LOWdocker/web/database_migration.sh61COMMENT
LOWdocker/base/generate_tag_for_test_image.sh1#!/bin/bashCOMMENT
LOWdocker/base/generate_tag_for_test_image.sh21# - *.md any markdown file (verified: no specs read .md fixtures,COMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb1# frozen_string_literal: trueCOMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb121 # released before returning on every path (ensure below), including inside the rescues.COMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb141 current_balance_pairs = Balance.unpaidCOMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb181 current_window_usd_cents = current_window_ids.sum { |id| current_balance_usd_cents.fetch(id, 0) }COMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb281 # here and the dedupe_key write below — if the worker dies in it, the transfer_key must notCOMMENT
LOW…dekiq/auto_top_up_negative_destination_balances_job.rb321COMMENT
LOWapp/sidekiq/generate_canada_sales_report_job.rb21COMMENT
LOW…idekiq/record_product_file_missing_from_storage_job.rb1# frozen_string_literal: trueCOMMENT
LOW…idekiq/record_product_file_missing_from_storage_job.rb21# row is left alive, so the seller's file list is unchanged — a dead row is notCOMMENT
LOW…idekiq/record_product_file_missing_from_storage_job.rb41 sidekiq_options retry: 1, queue: :low, lock: :until_executedCOMMENT
LOW…idekiq/record_product_file_missing_from_storage_job.rb61 # S3Retrievable#confirm_s3_key!). Recording "nothing in storage" for such aCOMMENT
LOW…idekiq/record_product_file_missing_from_storage_job.rb101COMMENT
LOW…idekiq/generate_fees_by_creator_location_report_job.rb21 # Sales leg. not_chargedback_for_tax_reporting keeps, on top of the reversed (won)COMMENT
LOW…dekiq/dispatch_pending_failed_refund_exceptions_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/create_india_sales_report_job.rb61 # and makes re-generating a past month's report deterministic: a refund issued laterCOMMENT
LOWapp/sidekiq/refresh_affiliate_earnings_job.rb1# frozen_string_literal: trueCOMMENT
LOW…/sidekiq/alert_on_negative_destination_balances_job.rb1# frozen_string_literal: trueCOMMENT
LOW…/sidekiq/alert_on_negative_destination_balances_job.rb101 endCOMMENT
LOWapp/sidekiq/resize_oversized_asset_preview_worker.rb1# frozen_string_literal: trueCOMMENT
LOW…p/sidekiq/release_chargeback_rate_payout_pauses_job.rb1# frozen_string_literal: trueCOMMENT
LOW…idekiq/alert_on_blocked_established_subscribers_job.rb1# frozen_string_literal: trueCOMMENT
LOW…idekiq/alert_on_blocked_established_subscribers_job.rb21 # The decline codes an in-app PlatformBlock check can set on a RENEWAL. Purchase::Risk's IP checkCOMMENT
LOWapp/sidekiq/submit_paypal_dispute_evidence_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/alert_on_blocked_established_buyers_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/upload_us_states_sales_tax_to_taxjar_job.rb1# frozen_string_literal: trueCOMMENT
LOW…sidekiq/perform_payouts_up_to_delay_days_ago_worker.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/send_post_blast_emails_job.rb1# frozen_string_literal: trueCOMMENT
LOW…_unclaimed_balances_of_inactive_stripe_accounts_job.rb61 elseCOMMENT
LOW…_unclaimed_balances_of_inactive_stripe_accounts_job.rb81COMMENT
LOW…merchant_account_payment_method_availability_worker.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/verify_finance_reports_delivery_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/verify_finance_reports_delivery_job.rb21 recurring_lock_ttl max_attempt: 30.minutesCOMMENT
LOWapp/sidekiq/verify_finance_reports_delivery_job.rb101 # each one independently and a newer completion can't mask an older gap.COMMENT
LOWapp/sidekiq/requeue_transiently_failed_payouts_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/refresh_audience_member_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/stale_transient_suppression_sweep_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/stale_transient_suppression_sweep_job.rb21 LOOKBACK_WINDOW = 60.daysCOMMENT
LOWapp/sidekiq/resend_confirmation_email_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/schedule_abandoned_cart_emails_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/stripe_payouts_paused_email_job.rb21 # concurrent pause/resume webhook while deciding whether to email.COMMENT
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb81 # (Pre-cutover refunds are instead netted into their purchase's month by the partial-refundCOMMENT
LOW…/sidekiq/create_global_sales_tax_summary_report_job.rb201 }COMMENT
LOW…p/sidekiq/alert_sellers_of_undelivered_receipts_job.rb1# frozen_string_literal: trueCOMMENT
LOW…p/sidekiq/alert_sellers_of_undelivered_receipts_job.rb21 # persists, so the next run continues rather than skipping what this one did not reach.COMMENT
LOW…p/sidekiq/alert_sellers_of_undelivered_receipts_job.rb181 return stored.to_i if stored.present?COMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb21# This job is the sole owner of evidence with no seller window: it either opens the window andCOMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb41 # is measured on event_created_at (when the processor raised the dispute) because that is theCOMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb101 claimed = falseCOMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb121 claimed = dispute_evidence.claim_seller_contacted_window!(at: window_start)COMMENT
LOWapp/sidekiq/create_missing_dispute_evidence_job.rb161 # the notice they got at formalization had no link, because there was no evidence recordCOMMENT
LOWapp/sidekiq/create_vat_report_job.rb61 # original purchase. A refund is an event of its own period (matching how OSS/MOSSCOMMENT
LOWapp/sidekiq/create_vat_report_job.rb81 # Chargeback (debit) leg: disputes formalized on this day claw their money back inCOMMENT
LOWapp/sidekiq/repair_order_charge_outcomes_job.rb1# frozen_string_literal: trueCOMMENT
939 more matches not shown…
Hallucination Indicators61 hits · 665 pts
SeverityFileLineSnippetContext
CRITICALapp/sidekiq/pdf_unstampable_notifier_job.rb16 product.product_files.alive.pdf.pdf_stamp_enabled.where(stampable_pdf: nil).find_each do |product_file|CODE
CRITICALapp/sidekiq/recurring_charge_worker.rb72 new_price = subscription.link.prices.is_buy.alive.find_by(recurrence: latest_applicable_plan_change.recurrenceCODE
CRITICALapp/sidekiq/detect_failing_paypal_rails_job.rb59 MerchantAccount.paypal.alive.charge_processor_alive.where.not(user_id: nil)CODE
CRITICALapp/sidekiq/schedule_membership_price_updates_job.rb31 new_product_price = subscription.link.prices.is_buy.alive.find_by(recurrence: plan_change.recurrence) ||CODE
CRITICALapp/sidekiq/schedule_membership_price_updates_job.rb75 subscription.subscription_plan_changes.for_product_price_change.alive.where.not(id: new_plan_change.id).each(&:marCODE
CRITICALapp/sidekiq/lift_platform_stripe_pause_job.rb41 accounts = user.merchant_accounts.alive.charge_processor_alive.stripe.select(&:is_a_gumroad_managed_stripe_accountCODE
CRITICALapp/models/offer_code.rb691 if product.offer_codes.alive.is_cancellation_discount.where.not(id: id).exists?CODE
CRITICALapp/models/subscription.rb190 installments = link.installments.not_workflow_installment.alive.published.where("published_at >= ?", created_at)CODE
CRITICALapp/models/link.rb1506 user.custom_fields.not_is_post_purchase.global.to_a.concat(custom_fields.not_is_post_purchase)CODE
CRITICALapp/models/concerns/purchase/blockable.rb812 return unless subscription.purchases.successful.non_free.where.not(id:).exists?(credit_card_id:)CODE
CRITICALapp/presenters/reviews_presenter.rb22 purchases: user.purchases.not_is_deleted_by_buyer.allowing_reviews_to_be_counted.where.missing(:product_review).joCODE
CRITICALapp/presenters/url_redirect_presenter.rb135 purchase_custom_fields: purchase.purchase_custom_fields.is_post_purchase.with_attached_files.where.not(custom_CODE
CRITICALapp/presenters/profile_presenter.rb43 memberships = seller.products.membership.alive.not_archived.includes(ProductPresenter::ASSOCIATIONS_FOR_CARD)CODE
CRITICALapp/presenters/utm_link_presenter.rb56 posts = *seller.installments.audience_type.shown_on_profile.not_workflow_installment.published.includes(:seller).oCODE
CRITICALapp/javascript/components/Checkout/index.test.tsx333 state.surcharges.result.buyer_currency_quote.line_allocations.slice(0, 1);CODE
CRITICALapp/javascript/pages/Settings/Main/Show.tsx417 {form.data.user.seller_refund_policy.allowed_refund_periods_in_days.map(({ key, value }) => (CODE
CRITICALapp/controllers/third_party_analytics_controller.rb25 user_snippets = @product.user.third_party_analytics.universal.alive.where(location: [params[:location], "all"]).plucCODE
CRITICAL…pi/internal/installments/remaining_sends_controller.rb65 @installment = current_seller.installments.alive.published.not_workflow_installment.find_by_external_id(params[:idCODE
CRITICAL…services/content_moderation/moderate_record_service.rb282 user.links.alive.not_draft.where.not(id: record.id).exists? || user.sales.successful.exists?CODE
CRITICAL…youts/processor/stripe/stripe_payout_processor_test.rb2942 assert_equal(-5_00, payment.user.reload.balances.unpaid.sum(:holding_amount_cents))CODE
CRITICAL…youts/processor/stripe/stripe_payout_processor_test.rb3251 assert_equal(-5_00, payment.user.reload.balances.unpaid.sum(:holding_amount_cents))CODE
CRITICALtest/controllers/api/v2/thumbnails_controller_test.rb75 assert_equal({ "width" => 1006, "height" => 1006 }, @product.thumbnail.file.blob.metadata.slice("width", "height"))CODE
CRITICAL…tration/paypal/paypal_merchant_account_manager_spec.rb531 creator.merchant_accounts.alive.paypal.where.not(charge_processor_merchant_id: new_paypal_merchant_id)CODE
CRITICAL…implementations/stripe/stripe_charge_processor_spec.rb5867 disputed_purchase.dispute.reload.dispute_evidence.customer_communication_file.attach(fixture_file_upload("test.pCODE
CRITICAL…implementations/stripe/stripe_charge_processor_spec.rb5897 disputed_purchase.dispute.reload.dispute_evidence.customer_communication_file.attach(fixture_file_upload("test.pdfCODE
CRITICALspec/models/asset_preview_variant_queries_spec.rb17 expect(preview.file.blob.variant_records.reload.map(&:variation_digest)).not_to include(preview.retina_variant.variaCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1299 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1308 replacement_archive = purchase1.link.product_files_archives.alive.entity_archives.where.not(id: archive.id).soleCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1315 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICALspec/presenters/library_presenter_spec.rb1328 expect(purchase1.link.product_files_archives.alive.entity_archives.map(&:product_files_archive_state)).to eq(["tCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1350 replacement_archive = purchase1.link.product_files_archives.alive.entity_archives.where.not(id: archive.id).soleCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1358 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1367 replacement_archive = purchase1.link.product_files_archives.alive.entity_archives.where.not(id: archive.id).soleCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1371 stale_failure_recovery_archive = purchase1.link.product_files_archives.alive.entity_archives.where(product_filesCODE
CRITICAL⚡spec/presenters/library_presenter_spec.rb1379 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICALspec/presenters/library_presenter_spec.rb1395 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICALspec/presenters/library_presenter_spec.rb1410 archives = purchase1.link.product_files_archives.alive.entity_archives.order(:id)CODE
CRITICALspec/presenters/library_presenter_spec.rb1475 member.link.product_files.alive.where.not(id: granted_file.id).each(&:mark_deleted!)CODE
CRITICALspec/requests/password_visibility_spec.rb15 page.driver.browser.switch_to.active_element.send_keys(key)CODE
CRITICALspec/requests/password_visibility_spec.rb18 page.driver.browser.switch_to.active_element.send_keys(key)CODE
CRITICALspec/requests/mcp_server_spec.rb1319 expect(product.tiers.alive.sole.alive_prices.is_buy.pluck(:recurrence, :price_cents)).to eq([["yearly", 5000]])CODE
CRITICALspec/requests/settings/social_connections_spec.rb115 page.driver.browser.manage.window.resize_to(375, 667)CODE
CRITICALspec/requests/products/dropbox_spec.rb94 cancelled_db_file = product.user.dropbox_files.reload.where.not(state: "successfully_uploaded").firstCODE
CRITICALspec/requests/products/show/reviews_spec.rb110 page.driver.browser.switch_to.active_element.send_keys(:arrow_left)CODE
CRITICALspec/requests/products/show/reviews_spec.rb116 page.driver.browser.switch_to.active_element.send_keys(:arrow_up)CODE
CRITICALspec/requests/products/edit/membership_tiers_spec.rb410 expect(@product.tier_category.variants.reload.alive.in_order.pluck(:name)).to eq ["Second tier", "Untitled"]CODE
CRITICALspec/requests/products/edit/digital_versions_spec.rb91 expect(product.variant_categories.first.variants.reload.alive.in_order.pluck(:name)).to eq ["Basic Bundle", "FirstCODE
CRITICALspec/requests/wishlists/wishlist_card_controls_spec.rb24 page.driver.browser.switch_to.active_element.send_keys(:enter)CODE
CRITICALspec/requests/emails/edit_spec.rb507 expect(follower_installment.reload.product_files_archives.alive.sole.url.split("/").last).to eq("Updated_Follower_PoCODE
CRITICAL⚡spec/requests/analytics/date_range_spec.rb27 page.driver.browser.switch_to.active_element.send_keys(:arrow_down, :enter)CODE
CRITICAL⚡spec/requests/analytics/date_range_spec.rb31 page.driver.browser.switch_to.active_element.send_keys(:arrow_up, :space)CODE
CRITICAL⚡spec/requests/analytics/date_range_spec.rb34 page.driver.browser.switch_to.active_element.send_keys(:escape)CODE
CRITICALspec/modules/with_product_files_spec.rb672 expect(installment.product_files_archives.alive.first.url.split("/").last).to include(installment.name.split(" "CODE
CRITICAL…ntrollers/links_controller_archive_lock_window_spec.rb103 archive_ids = product.reload.product_files_archives.folder_archives.alive.pluck(:id)CODE
CRITICALspec/controllers/api/v2/offer_codes_controller_spec.rb229 expect(result).to eq(success: true, offer_code: @product.reload.offer_codes.alive.first.as_json(api_scopes: ["edCODE
CRITICALspec/controllers/api/v2/offer_codes_controller_spec.rb282 expect(result).to eq(success: true, offer_code: @product.reload.offer_codes.alive.first.as_json(api_scopes: ["viCODE
CRITICALspec/controllers/api/v2/offer_codes_controller_spec.rb389 expect(result).to eq(success: true, offer_code: @product.reload.offer_codes.alive.first.as_json(api_scopes: ["edCODE
CRITICALspec/services/product_duplicator_service_spec.rb77 expect(duplicate_product.prices.alive.first.attributes.except(*do_not_compare)).to eq(product.prices.alive.first.attCODE
CRITICALspec/services/product_duplicator_service_spec.rb234 expect(duplicate_product.variant_categories.alive.first.variants.pluck(:name)).to eq ["Untitled", "Second"]CODE
CRITICALspec/services/subscription/updater_service_spec.rb556 @subscription.reload.purchases.is_original_subscription_purchase.not_is_archived_original_subscription_purchCODE
1 more matches not shown…
Decorative Section Separators111 hits · 249 pts
SeverityFileLineSnippetContext
MEDIUM…controllers/concerns/agent_conversation_persistence.rb234 # ── Turn liveness markers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb30 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb32 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb201 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb203 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb268 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb270 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb287 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb289 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb304 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb306 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb453 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb455 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb699 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb701 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb714 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb716 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb774 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb776 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb800 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb802 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb853 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb855 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb914 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb916 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb931 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb933 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb957 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb959 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb1548 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb1550 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb1970 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb1972 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2169 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2171 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2361 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2363 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2553 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2555 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2745 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb2747 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3430 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3432 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3469 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3471 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3670 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3672 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3697 # ---------------------------------------------------------------------------COMMENT
MEDIUM…youts/processor/stripe/stripe_payout_processor_test.rb3699 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/models/purchase_test.rb3919 # ==========================================================================COMMENT
MEDIUM⚡test/models/purchase_test.rb3921 # ==========================================================================COMMENT
MEDIUM⚡test/models/purchase_test.rb3928 # ==========================================================================COMMENT
MEDIUM⚡test/models/purchase_test.rb3930 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2832 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2834 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2859 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2861 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2932 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2934 # ==========================================================================COMMENT
MEDIUMtest/models/purchase_test.rb2966 # ==========================================================================COMMENT
51 more matches not shown…
Fake / Example Data220 hits · 235 pts
SeverityFileLineSnippetContext
LOW…s/Settings/PaymentsPage/AccountDetailsSection.test.tsx54 street_address: "123 Main St",CODE
LOW…ts/Settings/PaymentsPage/LegalGuardianSection.test.tsx20 phone: "555-0100",CODE
LOW…omponents/Settings/PaymentsPage/BankAccountSection.tsx855 Pick<React.ComponentPropsWithoutRef<"input">, "placeholder" | "pattern" | "inputMode" | "title">CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx183 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx196 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx209 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx222 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx296 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx309 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx322 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx335 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx375 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx388 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx401 "buyer_name": "John Doe",CODE
LOW…ript/components/ApiDocumentation/Endpoints/Payouts.tsx414 "buyer_name": "Jane Doe",CODE
LOW…ript/components/ProductEdit/ProductTab/TiersEditor.tsx458 const placeholderExtension = editor.extensionManager.extensions.find(({ name }) => name === "placeholder");CODE
LOWapp/javascript/data/card_payment_method_data.test.ts49 address: "123 Main St",CODE
LOWapp/javascript/data/card_payment_method_data.test.ts90 address: "123 Main St",CODE
LOWapp/javascript/data/card_payment_method_data.test.ts99 line1: "123 Main St",CODE
LOWapp/javascript/data/card_payment_method_data.test.ts359 line1: "123 Main St",CODE
LOWapp/javascript/data/payment_method_result.test.ts90 address: "123 Main St",CODE
LOWapp/javascript/data/payment_method_result.test.ts181 address: "123 Main St",CODE
LOWapp/javascript/pages/Settings/Payments/Show.test.tsx86 street_address: "123 Main St",CODE
LOWapp/javascript/pages/Settings/Payments/Show.test.tsx538 business_street_address: "123 Main St",CODE
LOWapp/javascript/pages/Settings/Payments/Show.test.tsx583 business_street_address: "123 Main St",CODE
LOWtest/models/subscription_test.rb5271 user = create_user(email: "user@example.com")CODE
LOWtest/models/subscription_test.rb5274 assert_equal({ subscription: "user@example.com", purchase: "purchase@example.com", user: "user@example.com" }, subscCODE
LOW…st/models/product_shipping_supported_countries_test.rb66 create_membership_purchase(link: product, subscription:, country: "Germany", full_name: "Jane Doe",CODE
LOWtest/models/purchase_test.rb557 purchase.email = "testingtesting123@example.org"CODE
LOWtest/models/purchase_test.rb4907 assert_equal "foo@bar.com", purchase.emailCODE
LOWtest/models/link_test.rb3170 description = "<h1><span>Heading in span</span></h1><b>Bold</b><p><style>color: red</style><strong class=\"somethingCODE
LOW⚡test/services/gdpr_buyer_erasure_service_test.rb84 full_name: "Jane Doe",CODE
LOW⚡test/services/gdpr_buyer_erasure_service_test.rb86 street_address: "123 Main St",CODE
LOW⚡test/services/gdpr_buyer_erasure_service_test.rb95 custom_fields: '{"phone": "555-1234"}',CODE
LOW⚡test/services/gdpr_buyer_erasure_service_test.rb99 p.update_columns(full_name: "Jane Doe", ip_address: "1.2.3.5", browser_guid: "guid-2")CODE
LOWtest/services/gdpr_buyer_erasure_service_test.rb176 assert_not_includes history.(purchase), "Jane Doe"CODE
LOWtest/services/gdpr_buyer_erasure_service_test.rb198 assert_not_includes history.(), "Jane Doe"CODE
LOW…/sidekiq/million_dollar_milestone_check_worker_spec.rb30 street_address: "123 Main St",CODE
LOW…ec/sidekiq/update_product_files_archive_worker_spec.rb779 { "type" => "paragraph", "content" => [{ "type" => "text", "text" => "Lorem ipsum" }] },CODE
LOWspec/mailers/customer_mailer_spec.rb11 @purchase = create(:purchase, link:, seller: link.user, email: "to@example.org")CODE
LOWspec/mailers/customer_mailer_spec.rb24 expect(mail.to).to eq(["to@example.org"])CODE
LOWspec/mailers/customer_mailer_spec.rb74 @purchase = create(:purchase, link:, seller: link.user, email: "to@example.org")CODE
LOWspec/mailers/customer_mailer_spec.rb221 email: "to@example.org",CODE
LOWspec/mailers/customer_mailer_spec.rb1169 let(:seller) { create(:named_seller, name: "John Doe") }CODE
LOWspec/mailers/customer_mailer_spec.rb1189 expect(mail.body).to have_link("John Doe", href: "http://seller.test.gumroad.com:31337", exact: true, count: 3)CODE
LOWspec/mailers/customer_mailer_spec.rb1197 let(:seller1) { create(:user, name: "John Doe", username: "johndoe") }CODE
LOWspec/mailers/customer_mailer_spec.rb1521 expect(mail.body).to have_link("John Doe", href: "http://johndoe.test.gumroad.com:31337", exact: true, countCODE
LOWspec/mailers/community_chat_recap_mailer_spec.rb8 let(:seller) { create(:user, name: "John Doe") }CODE
LOWspec/mailers/concerns/rescue_smtp_errors_spec.rb12 mail(from: "foo@bar.com", body: "")CODE
LOW…tration/stripe/stripe_merchant_account_manager_spec.rb13720 create(:user_compliance_info, user:, street_address: "123 Main Street")CODE
LOW…youts/processor/paypal/paypal_payout_processor_spec.rb407 let(:user) { create(:user_with_compliance_info, payment_address: "user@example.com") }CODE
LOWspec/models/url_redirect_spec.rb647 { "type" => "paragraph", "content" => [{ "type" => "text", "text" => "Lorem ipsum" }] },CODE
LOW⚡spec/models/url_redirect_spec.rb1031 old_variant_rich_content = create(:rich_content, entity: old_variant, title: "Old variant page title", descriptiCODE
LOW⚡spec/models/url_redirect_spec.rb1032 create(:rich_content, entity: variant1, title: "Variant 1 page title", description: [{ "type" => "paragraph", "cCODE
LOW⚡spec/models/url_redirect_spec.rb1033 variant2_rich_content = create(:rich_content, entity: variant2, title: "Variant 2 page title", description: [{ "CODE
LOWspec/models/url_redirect_spec.rb1095 @rich_content = create(:product_rich_content, entity: @product, title: "Page title", description: [{ "type" => "CODE
LOWspec/models/url_redirect_spec.rb1108 create(:rich_content, entity: variant1, title: "Variant 1 page title", description: [{ "type" => "paragraph", "cCODE
LOWspec/models/url_redirect_spec.rb1109 variant2_rich_content = create(:rich_content, entity: variant2, title: "Variant 2 page title", description: [{ "CODE
LOWspec/models/url_redirect_spec.rb1277 { "type" => "paragraph", "content" => [{ "type" => "text", "text" => "Lorem ipsum" }] },CODE
LOWspec/models/url_redirect_spec.rb1285 { "type" => "paragraph", "content" => [{ "type" => "text", "text" => "Lorem ipsum" }] },CODE
160 more matches not shown…
Self-Referential Comments39 hits · 116 pts
SeverityFileLineSnippetContext
MEDIUMapp/sidekiq/concerns/deploy_blocking_job_tracking.rb10# This module is the mechanism behind the deploy pipeline's "wait for the app to say it isCOMMENT
MEDIUM…s/payments/integrations/paypal_integration_rest_api.rb15 # Create a partner (Gumroad) referral for the given merchant which pre-fills the data when that merchant signs up forCOMMENT
MEDIUMapp/models/purchase.rb2213 # Creating a url redirect for purchases which are failed but will appear to have gone through to buyer. create_url_rCOMMENT
MEDIUMapp/presenters/rendering_extension.rb56 # Creating a new Gumroad requires a confirmed email (the server enforcesCOMMENT
MEDIUMapp/modules/user/async_devise_notification.rb3# This module is responsible for sending Devise email notifications via ActiveJob.COMMENT
MEDIUMapp/services/order/charge_service.rb22 # Create a combined charge for all purchases belonging to the same sellerCOMMENT
MEDIUM…rvices/dispute_evidence/create_from_dispute_service.rb3# Create a dispute_evidence record that will be submitted to StripeCOMMENT
MEDIUMapp/services/follower/create_service.rb24 # Creating a Follower row sends a "Please confirm your follow request" emailCOMMENT
MEDIUMapp/services/creator_analytics/following.rb28 # This method is used for displaying the running total of followers.COMMENT
MEDIUMapp/services/purchase/create_service.rb193 # Creating the dependent analytics row on an unsaved parent raisesCOMMENT
MEDIUMconfig/anycable.yml1# This file contains per-environment settings for AnyCable.COMMENT
MEDIUMconfig/.rails-rubocop.yml152# Defining a method with parameters needs parentheses.COMMENT
MEDIUMconfig/initializers/rpush.rb27 # Define a custom logger.COMMENT
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/rack_attack.rb178 # Creating a brand account sends a Devise confirmation email to whateverCOMMENT
MEDIUMspec/sidekiq/generate_ssl_certificate_spec.rb55 # Creating the custom domain enqueues its own GenerateSslCertificateCOMMENT
MEDIUMspec/models/concerns/attribute_blockable_spec.rb411 # Create a custom test model with its own blockable attributesCOMMENT
MEDIUMspec/models/concerns/affiliate/cookies_spec.rb210 # Create a padded cookie ID that won't match the affiliate's current cookie_id formatCOMMENT
MEDIUMspec/requests/workflows_spec.rb1673 # Create a seller with colon in name (simulating legacy data)COMMENT
MEDIUMspec/requests/settings/payments_spec.rb375 # Create a fresh user with Stripe Connect but no phone number to simulate the reported bugCOMMENT
MEDIUMspec/requests/discover/blackfriday_spec.rb104 # Create the BLACKFRIDAY2025 offer code and associate it with the productCOMMENT
MEDIUMspec/requests/emails/edit_spec.rb88 create(:seller_profile_posts_section, seller:) # Create a profile sectionCODE
MEDIUMspec/requests/emails/create_spec.rb567 # Create a draft email from the "Share" tab of a bundle productCOMMENT
MEDIUMspec/requests/checkout/subscription_restart_spec.rb100 # Create a real Stripe PaymentIntent on the Connect account that requires 3DS action.COMMENT
MEDIUM…ec/requests/subscription/tiered_membership_sca_spec.rb21 # Create a real Stripe PaymentIntent on the Connect account that requires 3DS action.COMMENT
MEDIUMspec/support/factories/subscriptions.rb27 # Create a temporary payment_option without validation to satisfy subscription validationCOMMENT
MEDIUMspec/controllers/purchases_controller_spec.rb1783 # Create a purchase with the same external_id as the charge (the bug scenario)COMMENT
MEDIUMspec/controllers/payouts/exportables_controller_spec.rb97 # Create a payment before the OLDEST_DISPLAYABLE_PAYOUT_PERIOD_END_DATECOMMENT
MEDIUMspec/controllers/concerns/search_products_spec.rb6 # Create a test controller that includes the concernCOMMENT
MEDIUMspec/services/post_email_api_spec.rb95 # Create an email with local part longer than 64 charactersCOMMENT
MEDIUM…ces/content_moderation/moderate_record_service_spec.rb135 # Creating the fixture is itself a moderated save now, so it has to happenCOMMENT
MEDIUM.buildkite/scripts/create_github_release.sh54# Create the GitHub ReleaseCOMMENT
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
MEDIUMdb/seeds/010_stripe_merchant_account_seeds.rb3# Create the shared Stripe merchant accountCOMMENT
MEDIUMdb/seeds/030_paypal_merchant_account_seeds.rb3# Create the shared PayPal merchant accountsCOMMENT
MEDIUMdb/seeds/020_braintree_merchant_account_seeds.rb3# Create the shared Braintree merchant accountsCOMMENT
AI Slop Vocabulary22 hits · 64 pts
SeverityFileLineSnippetContext
MEDIUM…lementations/stripe/stripe_merchant_account_manager.rb248 # outside of production to facilitate testing and debugging.COMMENT
MEDIUMapp/models/customer_email_info.rb12 # Queries `email_info_charges` first to leverage the index since there is no `purchase_id` on the associatedCOMMENT
LOWapp/models/order.rb111 # Since the data is identical, we can just use one of the purchases as the source of that data.COMMENT
MEDIUMapp/models/charge.rb292 # Queries `email_info_charges` first to leverage the index since there is no `purchase_id` on the associatedCOMMENT
MEDIUMapp/modules/product/stats.rb7 # Essentially returns a sum of "active customers" (for each product)COMMENT
LOWapp/controllers/checkout_controller.rb97 # record already has — including the empty hash CartProduct#assign_default_values just setCOMMENT
MEDIUM…rs/global_affiliates/product_eligibility_controller.rb28 # endpoint (GET /l/:permalink.json) to leverage its URL routing — thatCOMMENT
MEDIUMtest/buildkite_deploy_skip_annotation_test.sh14# repo root as cwd. Extract each function on its own so the harness is just what it says.COMMENT
MEDIUMtest/sidekiq/send_year_in_review_email_job_test.rb11# rather than the harness's stubbed client. The CI job runs Elasticsearch as of #6205.COMMENT
MEDIUMtest/models/installment_test.rb521 # Minitest harness stubs EsClient globally (see test_helper.rb), so a liveCOMMENT
MEDIUMtest/models/link_test.rb2296 # (see Product::Stats), so the harness's canned zero responses would make itCOMMENT
MEDIUM…t/presenters/dashboard_products_page_presenter_test.rb13# harness installs process-wide is fine.COMMENT
MEDIUM⚡test/support/model_factories.rb889 # (monthly_recurring_revenue et al.) that the stubbed-ES Minitest harnessCOMMENT
MEDIUMtest/support/real_elasticsearch_bridge.rb5# The harness stubs Elasticsearch process-wide for stability (see test_helper.rb),COMMENT
MEDIUMtest/lib/vcr_bridge_test.rb6# recorded by the RSpec suite replays under the Minitest harness with no networkCOMMENT
MEDIUMtest/controllers/api/v2/thumbnails_controller_test.rb15 # The Minitest harness swaps ActiveStorage's default service for a local DiskCOMMENT
MEDIUMspec/services/subscription/updater_service_spec.rb1350 # don't enqueue sale notification for the upgrade purchase to facilitate testingCOMMENT
MEDIUMspec/services/subscription/updater_service_spec.rb2662 # don't enqueue sale notification for the upgrade purchase to facilitate testingCOMMENT
MEDIUM.buildkite/scripts/deploy_production_test.sh4# That script is never executed by CI (it only ever gets `bash -n`), so this harness is theCOMMENT
MEDIUM.buildkite/scripts/deploy_production_test.sh50# The real call sites, so the harness tests the ARGUMENTS that actually ship too.COMMENT
MEDIUMlib/utilities/compliance/countries.rb56 # This list reflects countries under comprehensive OFAC sanctions.COMMENT
MEDIUMlib/utilities/compliance/countries.rb141 # comprehensive program. Checkout (and other for_select consumers) must not offer it.COMMENT
Slop Phrases7 hits · 15 pts
SeverityFileLineSnippetContext
LOWapp/modules/product/prices.rb174 # if more routes open up to change product price, make sure to wrap in transaction and use this methodCOMMENT
LOWconfig/puma.rb47 # you need to make sure to reconnect any threads in the `on_worker_boot`COMMENT
MEDIUMconfig/initializers/friendly_id.rb58 # 'slug', but you can change it if you wish.COMMENT
MEDIUMconfig/initializers/friendly_id.rb62 # By default, slug has no size limit, but you can change it if you wish.COMMENT
LOWconfig/initializers/friendly_id.rb101 # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.COMMENT
LOWconfig/initializers/friendly_id.rb101 # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.COMMENT
MEDIUM…implementations/paypal/paypal_charge_processor_spec.rb10# - After this point, you can use the PayPal express checkout token for all further operations available in the charge COMMENT
Synthetic Comment Markers2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHtest/controllers/links_controller_test.rb9096 # still reports the id as requested, the variants updater never removes it.COMMENT
HIGHspec/services/username_generator_service_spec.rb10 it "returns a username generated by OpenAI", :vcr doCODE
Redundant / Tautological Comments8 hits · 12 pts
SeverityFileLineSnippetContext
LOWdocker/web/database_migration.sh33 # Set MIGRATION_LOCK_INDEX to the index of MIGRATION_LOCK_KEY to enable the lockCOMMENT
LOWapp/sidekiq/recurring_charge_worker.rb57 # Check if the user has initiated any plan changes that must be applied atCOMMENT
LOWapp/controllers/secure_redirect_controller.rb46 # Check if confirmation text matches any of the allowed textsCOMMENT
LOWapp/services/ssl_certificates/generate.rb69 # Check if we have hit the rate limit.COMMENT
LOWconfig/environments/production.rb73 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWconfig/environments/staging.rb74 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWspec/requests/discover/discover_domain_spec.rb44 # Set sales_volume to make sure featured products are predictableCOMMENT
LOW.github/workflows/build-test-image.yml145 # Check if the images already exist (content-addressed cache hit).COMMENT
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMapp/javascript/components/Analytics/SalesChart.test.tsx96 // Fix "now" to mid-afternoon so the projection guardrails (first hour of the day,COMMENT
MEDIUMapp/services/charge/presentment_orchestrator.rb25 # closed instead of reporting a generic orchestration failure.COMMENT
MEDIUMapp/services/ai/store_agent_service.rb12# keeps an LLM hallucination or a prompt injection from silently changing a store.COMMENT
Structural Annotation Overuse5 hits · 8 pts
SeverityFileLineSnippetContext
LOW…sidekiq/regenerate_sales_related_products_infos_job.rb3# WARNING: This job can be very slow, and add a lot of rows to the DB.COMMENT
LOW⚡app/models/installment.rb613 # NOTE: This method is now only used in one place (PostPresenter), and shouldn't be expected to create any new recordsCOMMENT
LOWdocs/deploying.md68#### Step 1: Hotfix branch creationCOMMENT
LOWdocs/deploying.md101#### Step 2: Make changes in the branch as requiredCOMMENT
LOWdocs/deploying.md105#### Step 3: Actual deploymentCOMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWapp/models/concerns/unused_columns.rb11# Example usage:COMMENT
LOW.agents/skills/gumroad-prod-console/scripts/setup.sh6# Usage:COMMENT
LOW…ents/skills/gumroad-prod-console/scripts/prod_query.sh3# Usage:COMMENT
LOWspec/support/capybara_helpers.rb119 # Usage:COMMENT