AI Slop Code Risk Monitor

Freika/dawarich

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

Your favorite self-hostable alternative to Google Timeline (Google Location History)

1.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Freika/dawarich, a Ruby project with 10,787 GitHub stars. SynthScan examined 385,511 lines of code across 3025 source files, recording 521 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.9 (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.9
Adjusted Signal
1.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
10.8K
Stars
Ruby
Language
385.5K
Lines of Code
3.0K
Files
521
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 7.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.2/100 · LOW

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

Agent Over-Engineering Ratio 3.7/100 · LOW

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

PR Review Velocity Impact 8.4/100 · LOW

Which changes need focused human review? 521 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 3HIGH 2MEDIUM 61LOW 455

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 521 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 Identifiers231 hits · 238 pts
SeverityFileLineSnippetContext
LOWapp/queries/points/vector_tile_query.rb216 def translated_geom_expression(shift)CODE
LOWapp/queries/stats/daily_distance_query.rb120 def convert_to_daily_distances(distance_by_day_map)CODE
LOWapp/queries/stats/daily_distance_query.rb147 def validate_minutes_between_routes(minutes)CODE
LOWapp/models/stat.rb169 def report_malformed_toponyms(raw, sanitized)CODE
LOWapp/models/stat.rb199 def calculate_daily_distances(monthly_points)CODE
LOWapp/models/track.rb383 def report_post_commit_failure(event, error)CODE
LOWapp/models/track.rb394 def record_post_commit_failure_metric(event)CODE
LOWapp/models/trip.rb288 def select_dominant_orientation(photos)CODE
LOWapp/models/user.rb315 def generate_subscription_token(plan: nil, interval: nil, variant: nil)CODE
LOWapp/models/concerns/calculateable.rb58 def convert_distance_for_storage(calculated_distance_meters)CODE
LOWapp/models/concerns/distanceable.rb23 def calculate_distance_for_array_geocoder(points, unit = :km)CODE
LOWapp/models/concerns/distanceable.rb109 def calculate_distance_for_relation(unit, relation = all)CODE
LOWapp/models/concerns/distanceable.rb139 def calculate_distance_for_array(points, unit = :km)CODE
LOWapp/models/concerns/distanceable.rb151 def calculate_batch_distances(points)CODE
LOWapp/models/concerns/nearable.rb54 def extract_coordinates_and_options(*args)CODE
LOWapp/models/concerns/archivable.rb163 def handle_archive_fetch_error(error)CODE
LOWapp/serializers/stats_serializer.rb68 def countries_and_cities_from_stats(stats)CODE
LOW…javascript/maps_maplibre/utils/realtime_date_filter.js26export function pointMatchesActiveDateRange(timestamp, range = {}) {CODE
LOWapp/javascript/maps_maplibre/utils/format_helpers.js29export function minutesToDaysHoursMinutes(minutes) {CODE
LOW…javascript/maps_maplibre/utils/geojson_transformers.js11export function simplifyPointsForRendering(points) {CODE
LOWapp/javascript/maps_maplibre/utils/tile_freshness.js11export function setPrivacyZonesFingerprint(fingerprint) {CODE
LOWapp/javascript/maps_maplibre/trip/photos.js53export function setTripReplayPhotosActive(controller, active) {CODE
LOW…vascript/controllers/maps/maplibre/map_data_manager.js16export class MapDataManager {CODE
LOWapp/jobs/trek/import_trips_job.rb89 def finish_unauthorized_import(source)CODE
LOW…/data_migrations/recalculate_per_tracker_tracks_job.rb38 def backfill_google_records_devices(user)CODE
LOWapp/jobs/data_migrations/cleanup_null_island_job.rb43 def destroy_null_island_visits(user)CODE
LOWapp/jobs/tracks/realtime_generation_job.rb44 def enqueue_reverse_geocoding(user)CODE
LOWapp/jobs/tracks/daily_generation_job.rb44 def process_user_daily_tracks(user)CODE
LOWapp/jobs/tracks/time_chunk_processor_job.rb111 def create_track_from_points_array(points)CODE
LOWapp/jobs/enhanced_import/extract_job.rb21 def fail_after_deadlock_retries(error)CODE
LOWapp/jobs/imports/destroy_job.rb56 def broadcast_deletion_complete(import)CODE
LOWapp/jobs/users/import_data_job.rb71 def create_import_failed_notification(user, error)CODE
LOWapp/jobs/users/recalculate_data_job.rb106 def create_success_notification(years_to_process)CODE
LOWapp/jobs/users/recalculate_data_job.rb127 def create_failure_notification(error)CODE
LOWapp/jobs/users/digests/monthly/calculating_job.rb23 def create_digest_failed_notification(user_id, error)CODE
LOWapp/jobs/users/digests/yearly/calculating_job.rb21 def recalculate_monthly_stats(user_id, year)CODE
LOWapp/jobs/users/digests/yearly/calculating_job.rb29 def create_digest_failed_notification(user_id, error)CODE
LOWapp/jobs/points/anomaly_backfill_user_job.rb76 def run_filter_in_monthly_chunks(user, step, invalidate_dependents:)CODE
LOWapp/jobs/stats/calculating_job.rb21 def create_stats_update_failed_notification(user_id, error)CODE
LOWapp/controllers/application_controller.rb347 def apply_date_time_preferences(&)CODE
LOWapp/controllers/visits_controller.rb256 def build_bulk_update_streams(status, count)CODE
LOWapp/controllers/visits_controller.rb315 def update_visit_label_from_place(place_id)CODE
LOWapp/controllers/visits_controller.rb384 def build_bulk_destroy_streams(count)CODE
LOWapp/controllers/visits_controller.rb442 def message_for_missing_visits(ids)CODE
LOWapp/controllers/visits_controller.rb461 def bulk_destroy_success_message(count)CODE
LOWapp/controllers/visits_controller.rb465 def bulk_update_success_message(status, count)CODE
LOWapp/controllers/places_controller.rb255 def save_place_and_attach_visit(visit)CODE
LOWapp/controllers/imports_controller.rb153 def create_import_from_signed_id(item)CODE
LOWapp/controllers/imports_controller.rb180 def verified_original_filename(blob, descriptor)CODE
LOWapp/controllers/imports_controller.rb196 def generate_unique_import_name(original_name)CODE
LOWapp/controllers/settings/general_controller.rb92 def test_email_error_description(error)CODE
LOWapp/controllers/settings/users_controller.rb188 def create_import_from_signed_archive_id(signed_id)CODE
LOWapp/controllers/settings/users_controller.rb206 def generate_unique_import_name(original_name)CODE
LOWapp/controllers/users/registrations_controller.rb124 def after_inactive_sign_up_path_for(resource)CODE
LOWapp/controllers/users/registrations_controller.rb210 def accept_invitation_for_user(user)CODE
LOWapp/controllers/api/v1/photos_controller.rb46 def handle_thumbnail_response(upstream)CODE
LOWapp/controllers/api/v1/subscriptions_controller.rb139 def advance_last_seen_watermark(decoded)CODE
LOWapp/controllers/api/v1/imports_controller.rb63 def generate_unique_import_name(original_name)CODE
LOWapp/controllers/api/v1/maps/hexagons_controller.rb115 def hexagon_privacy_zone_masker(context)CODE
LOWapp/controllers/api/v1/auth/sessions_controller.rb47 def constant_time_authenticate(user, password)CODE
171 more matches not shown…
Self-Referential Comments45 hits · 133 pts
SeverityFileLineSnippetContext
MEDIUMapp/models/concerns/nearable.rb20 # Create a point from the given coordinatesCOMMENT
MEDIUMapp/services/google_maps/records_storage_importer.rb3# This class is used to import Google's Records.json fileCOMMENT
MEDIUMapp/services/google_maps/records_importer.rb3# This class is used to import Google's Records.json fileCOMMENT
MEDIUMapp/services/tasks/imports/google_records.rb3# This class is named based on Google Takeout's Records.json fileCOMMENT
MEDIUMapp/services/tracks/track_builder.rb5# This module provides the core functionality for converting arrays of GPS points intoCOMMENT
MEDIUMapp/services/tracks/segmentation.rb5# This module provides the core algorithm for determining where one track endsCOMMENT
MEDIUMapp/services/tracks/session_manager.rb16 # Create a new sessionCOMMENT
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/03_dawarich_settings.rb60 # This class is defined in an initializer, so it can run before the autoloaderCOMMENT
MEDIUMspec/integration/family_privacy_spec.rb146 # Create an expired request 30 minutes agoCOMMENT
MEDIUMspec/integration/family_privacy_spec.rb162 # Create a pending request from A to BCOMMENT
MEDIUMspec/models/concerns/point_validation_spec.rb6 # Create a test class that includes the concernCOMMENT
MEDIUMspec/models/concerns/user_family_spec.rb151 # Create a point from 13 months agoCOMMENT
MEDIUMspec/requests/authentication_spec.rb288 # Create an expired invitationCOMMENT
MEDIUMspec/jobs/application_job_spec.rb7 # Create a concrete job class to test the helperCOMMENT
MEDIUMspec/jobs/trips/calculate_countries_job_spec.rb20 points # Create the pointsCODE
MEDIUMspec/jobs/concerns/user_timezone_spec.rb6 # Create a dummy class that includes the concernCOMMENT
MEDIUM…ec/services/google_maps/phone_takeout_importer_spec.rb18 # This file contains 3 duplicatesCOMMENT
MEDIUM…ec/services/google_maps/phone_takeout_importer_spec.rb50 # This file contains 4 duplicatesCOMMENT
MEDIUM…/services/google_maps/records_storage_importer_spec.rb148 # Create a mock that will return a successful resultCOMMENT
MEDIUM…/services/google_maps/records_storage_importer_spec.rb153 # Create the downloader mock before it gets usedCOMMENT
MEDIUM…/services/google_maps/records_storage_importer_spec.rb172 # Create the downloader mock before it gets used - expect only one call from the importerCOMMENT
MEDIUMspec/services/cache/clean_spec.rb93 # Create a user that will be found during the cleaning processCOMMENT
MEDIUMspec/services/cache/clean_spec.rb101 # Create a new user while iterating - this should not cause errorsCOMMENT
MEDIUMspec/services/visits/find_within_bounding_box_spec.rb9 # Define a bounding box for testingCOMMENT
MEDIUMspec/services/visits/find_within_bounding_box_spec.rb75 # Create a visit for another user inside the bounding boxCOMMENT
MEDIUMspec/services/tracks/track_builder_spec.rb6 # Create a test class that includes the concern for testingCOMMENT
MEDIUMspec/services/tracks/parallel_generator_spec.rb214 # Create a proper mock and stub user.safe_settings to return itCOMMENT
MEDIUMspec/services/tracks/incremental_generator_spec.rb140 # Create an existing track that ended recentlyCOMMENT
MEDIUMspec/services/overland/params_spec.rb7 # This file contains one valid point and one invalid point w/out coordinatesCOMMENT
MEDIUMspec/services/imports/secure_file_downloader_spec.rb10 # Create a mock that mimics ActiveStorage::Attached::OneCOMMENT
MEDIUMspec/services/users/export_import_integration_spec.rb145 # Create a user with specific places and visitsCOMMENT
MEDIUMspec/services/users/export_import_integration_spec.rb168 # Create a visit without a placeCOMMENT
MEDIUMspec/services/users/export_import_integration_spec.rb457 # Create a v1 format archive with data.jsonCOMMENT
MEDIUMspec/services/users/import_data/imports_spec.rb114 # Create an existing import with same name, source, and created_atCOMMENT
MEDIUMspec/services/users/import_data/trips_spec.rb147 # Create an existing trip with same name and timesCOMMENT
MEDIUMspec/services/users/import_data/stats_spec.rb78 # Create an existing stat with same year and monthCOMMENT
MEDIUMspec/services/users/import_data/points_spec.rb29 country # Create the countryCODE
MEDIUM…c/services/users/import_data/raw_data_archives_spec.rb79 # Create a gzip test fileCOMMENT
MEDIUMspec/services/users/import_data/exports_spec.rb107 # Create the file in the files directoryCOMMENT
MEDIUMspec/services/users/import_data/notifications_spec.rb70 # Create an existing notification with same title, content, and created_atCOMMENT
MEDIUMspec/services/users/digests/calculate_year_spec.rb201 # Create the monthly statsCOMMENT
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
Over-Commented Block123 hits · 123 pts
SeverityFileLineSnippetContext
LOWapp/queries/stats_query.rb21 }COMMENT
LOWapp/queries/tracks/vector_tile_query.rb21 # (same pattern as Points::VectorTileQuery).COMMENT
LOWapp/queries/points/vector_tile_query.rb21 MIN_PREFILTER_ZOOM = 2COMMENT
LOWapp/models/point.rb61 endCOMMENT
LOWapp/models/concerns/distance_convertible.rb1# frozen_string_literal: trueCOMMENT
LOWapp/models/concerns/point_dimension_reads.rb1# frozen_string_literal: trueCOMMENT
LOWapp/javascript/channels/imports_channel.js1// Imports channel subscriptions are handled by:COMMENT
LOWapp/javascript/channels/index.js1// Import all the channels to be used by Action CableCOMMENT
LOWapp/javascript/channels/notifications_channel.js1// Notifications channel subscriptions are handled by:COMMENT
LOWapp/jobs/data_migrations/drop_legacy_lat_lon_job.rb1# frozen_string_literal: trueCOMMENT
LOW…/jobs/data_migrations/backfill_point_country_id_job.rb101COMMENT
LOW…jobs/data_migrations/recalculate_anomalies_user_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/jobs/data_migrations/recalculate_anomalies_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/jobs/data_migrations/recalculate_anomalies_job.rb61COMMENT
LOWapp/jobs/data_migrations/recalculate_anomalies_job.rb101 # "re-running only picks up what is left" contract false for exactly theCOMMENT
LOW…/jobs/data_migrations/backfill_point_dimensions_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/jobs/tracks/throttled_backfill_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/jobs/tracks/realtime_generation_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/jobs/tracks/daily_generation_job.rb1# frozen_string_literal: trueCOMMENT
LOWapp/controllers/concerns/partnero_trackable.rb1# frozen_string_literal: trueCOMMENT
LOWapp/assets/config/manifest.js1//= link rails-ujs.jsCOMMENT
LOWapp/helpers/timeline_helper.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/responsive_qr_svg.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tile_epoch.rb1# frozen_string_literal: trueCOMMENT
LOW…vices/google_maps/records_device_tag_stream_handler.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/auth/internal_token_secret.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/auth/mobile_handoff_secret.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/visits/detection/policy.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/track_builder.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/track_builder.rb21# - Elevation gain/loss: Cumulative ascent and descent in metersCOMMENT
LOWapp/services/tracks/track_builder.rb41# # Track now exists with calculated statisticsCOMMENT
LOWapp/services/tracks/merger.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/segmentation.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/segmentation.rb21# The maps intentionally ignore the distance threshold because haversineDistance()COMMENT
LOWapp/services/tracks/stationary_stops.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/incremental_generator.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/tracks/realtime_debouncer.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/geocoding/rate_limits.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/geocoding/result_normalizer.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/geocoding/rate_limiter.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/users/import_data.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/users/import_data.rb161 # Recompute instead of importing the flags: it also covers archives writtenCOMMENT
LOWapp/services/users/export_data.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/users/export_data.rb21# ├── raw_data_archives.jsonl # One archive record per lineCOMMENT
LOWapp/services/users/export_data.rb41# "dawarich_version": "1.0.0",COMMENT
LOWapp/services/users/import_data/v2_handler.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/users/import_data/v2_handler.rb21# ├── points/ # Points split by year/monthCOMMENT
LOWapp/services/users/import_data/v1_handler.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/instance_settings/resolver.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/points/dimension_resolver.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/points/dimension_resolver.rb21 # Returns rows with :source_id filled in. A no-op until the column exists — 20260816150000 can defer its ALTER toCOMMENT
LOWapp/services/points/device_tag_backfiller.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/points/anomaly_filter.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/points/anomaly_filter.rb21 FROZEN_FIX_CONTEXT_POINTS = 240COMMENT
LOWapp/services/points/anomaly_filter.rb41 # same stay, the excursion is far from it, and nothing was spent being there.COMMENT
LOWapp/services/points/anomaly_filter.rb61 # fixes — there the tower position is the only record there is, and erasingCOMMENT
LOWapp/services/points/anomaly_filter.rb181COMMENT
LOWapp/services/points/anomaly_filter.rb441 # ordinary points. The gate is the detour ceiling rather than the raw speedCOMMENT
LOWapp/services/timeline/month_summary.rb1# frozen_string_literal: trueCOMMENT
LOWapp/services/concerns/url_validatable.rb1# frozen_string_literal: trueCOMMENT
63 more matches not shown…
Fake / Example Data54 hits · 54 pts
SeverityFileLineSnippetContext
LOWspec/swagger/api/v1/auth/apple_controller_spec.rb44 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/swagger/api/v1/auth/apple_controller_spec.rb75 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/swagger/api/v1/auth/apple_controller_spec.rb90 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/swagger/api/v1/auth/google_controller_spec.rb44 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/swagger/api/v1/auth/google_controller_spec.rb75 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/swagger/api/v1/auth/google_controller_spec.rb90 let(:payload) { { id_token: 'fake_token' } }CODE
LOWspec/models/family/invitation_spec.rb159 valid_emails = ['test@example.com', 'user.name@domain.co.uk', 'user+tag@example.org']CODE
LOWspec/requests/auth/account_links_spec.rb6 let(:user) { create(:user, email: 'user@example.com') }CODE
LOWspec/requests/admin/settings_spec.rb505 expect(form.css('input[type="number"]').map { |input| input['placeholder'] }).to eq(%w[51.3402 12.3712])CODE
LOWspec/requests/users/registrations_spec.rb124 email: 'user@example.com',CODE
LOWspec/requests/users/registrations_spec.rb132 new_user = User.find_by(email: 'user@example.com')CODE
LOWspec/requests/api/v1/auth/google_spec.rb26 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb37 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb55 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb88 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb103 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb107 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb124 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb127 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb148 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb167 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/google_spec.rb185 post '/api/v1/auth/google', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb26 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb37 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb55 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb83 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb103 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb118 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb122 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb139 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb142 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb163 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb182 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb199 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/requests/api/v1/auth/apple_spec.rb220 post '/api/v1/auth/apple', params: { id_token: 'fake_token' }CODE
LOWspec/views/map/timeline_feeds/day_spec.rb107 expect(field['placeholder']).to eq('Corner Cafe')CODE
LOWspec/helpers/application_helper_spec.rb27 let(:fake_user) { double(plan_restricted?: true, generate_subscription_token: 'test_token') }CODE
LOWspec/helpers/application_helper_spec.rb30 allow(helper).to receive(:current_user).and_return(fake_user)CODE
LOWspec/helpers/application_helper_spec.rb87 allow(user).to receive(:generate_subscription_token).and_return('fake_token')CODE
LOWspec/helpers/application_helper_spec.rb89 expect(helper.subscription_upgrade_url(user)).to eq('https://manager.example.com/auth/dawarich?token=fake_token')CODE
LOWspec/services/auth/verify_google_token_spec.rb27 .and_return({ 'sub' => 'google-user-id', 'email' => 'user@example.com' })CODE
LOWspec/services/auth/verify_google_token_spec.rb31 expect(result).to eq(sub: 'google-user-id', email: 'user@example.com')CODE
LOWspec/services/auth/verify_apple_token_spec.rb38 email: 'user@example.com',CODE
LOWspec/services/auth/verify_apple_token_spec.rb49 expect(claims[:email]).to eq('user@example.com')CODE
LOWspec/services/auth/verify_apple_token_spec.rb95 email: 'user@example.com',CODE
LOWspec/services/auth/verify_apple_token_spec.rb113 email: 'user@example.com',CODE
LOWspec/services/visits/names/builder_spec.rb75 'street' => '123 Main St',CODE
LOWspec/services/visits/names/builder_spec.rb102 'street' => '123 Main St',CODE
LOWspec/services/visits/names/suggester_spec.rb127 'street' => '123 Main St',CODE
LOW…c/services/reverse_geocoding/places/fetch_data_spec.rb767 expect(place.name).to include('123 Main Street')CODE
LOWspec/services/users/export_data/points_spec.rb48 geodata: { 'address' => '123 Main St' },CODE
LOWspec/services/users/export_data/points_spec.rb101 'geodata' => '{"address": "123 Main St"}', # JSON stringCODE
LOWspec/services/users/import_data/places_spec.rb14 'geodata' => { 'address' => '123 Main St' },CODE
LOWspec/services/users/import_data/places_spec.rb47 expect(home_place.geodata).to eq('address' => '123 Main St')CODE
Decorative Section Separators12 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUMconfig/initializers/posthog.rb9# ============================================================================COMMENT
MEDIUMconfig/initializers/posthog.rb11# ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb52# ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb54# ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb60 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb62 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb69 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb71 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb108 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb110 # ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb119# ============================================================================COMMENT
MEDIUM⚡config/initializers/posthog.rb121# ============================================================================COMMENT
Redundant / Tautological Comments22 hits · 34 pts
SeverityFileLineSnippetContext
LOWapp/models/concerns/distanceable.rb33 # Check if lonlat exists and is validCOMMENT
LOWapp/models/concerns/distanceable.rb77 # Check if Geocoder returned NaN or infinite valueCOMMENT
LOWapp/models/concerns/distanceable.rb272 # Check if Geocoder returned valid distanceCOMMENT
LOWapp/jobs/tracks/time_chunk_processor_job.rb107 # Check if segment overlaps with the actual chunk range (not buffer)COMMENT
LOWapp/controllers/insights_controller.rb173 # Check if essential data is missingCOMMENT
LOWapp/controllers/insights_controller.rb176 # Check if stats have been updated since digest was last calculatedCOMMENT
LOWapp/controllers/concerns/safe_timestamp_parser.rb20 # Check if it's a valid parse by seeing if year is suspiciously at epochCOMMENT
LOW⚡app/helpers/insights_helper.rb31 # Check if previous month exists in available months (same year only for simplicity)COMMENT
LOW⚡app/helpers/insights_helper.rb40 # Check if next month exists in available months (same year only for simplicity)COMMENT
LOWapp/helpers/insights_helper.rb176 # Check if activity breakdown has meaningful dataCOMMENT
LOWapp/services/location_search/geocoding_service.rb66 # Check if there's already a result within 100mCOMMENT
LOWapp/services/tracks/boundary_detector.rb243 # Check if two tracks are spatially connected (endpoints are close)COMMENT
LOWapp/services/tracks/boundary_detector.rb268 # Check if two points are within the specified distanceCOMMENT
LOWapp/services/tracks/time_chunker.rb81 # Check if there are any points in the buffer range to avoid empty chunksCOMMENT
LOWapp/services/tracks/session_manager.rb61 # Check if session existsCOMMENT
LOWapp/services/tracks/session_manager.rb125 # Check if all chunks are completedCOMMENT
LOWapp/services/imports/source_detector.rb188 # Check if it's a KMZ file (ZIP archive)COMMENT
LOWconfig/environments/production.rb87 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWconfig/environments/staging.rb84 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWconfig/initializers/00_random.rb16 # Check if Random.urandom is availableCOMMENT
LOWspec/models/concerns/user_family_spec.rb108 # Set started_at to well in the past so general tests can find their points.COMMENT
LOW…/services/google_maps/records_storage_importer_spec.rb118 # Set up to capture batch sizesCOMMENT
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALapp/models/place.rb54 where(id: user.visits.active.confirmed.where.not(place_id: nil).select(:place_id))CODE
CRITICALapp/controllers/map/maplibre_controller.rb54 point = current_user.scoped_points.without_raw_data.complete.not_anomaly.order(timestamp: :desc).firstCODE
CRITICALapp/services/families/locations.rb48 sharing_members.map { _1.points.without_raw_data.complete.not_anomaly.order(timestamp: :desc).first }.compactCODE
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOW⚡docker/web-entrypoint.sh98# Step 1: Database SetupCOMMENT
LOW⚡docker/web-entrypoint.sh104# Step 2: Run migrations for all databasesCOMMENT
LOWapp/models/concerns/soft_deletable.rb6 # WARNING: This concern adds a default_scope that excludes soft-deleted records.COMMENT
LOWspec/requests/family_workflows_spec.rb12 # Step 1: User1 creates a familyCOMMENT
LOWspec/requests/family_workflows_spec.rb29 # Step 2: User1 invites User2COMMENT
LOWspec/requests/family_workflows_spec.rb41 # Step 3: User2 views and accepts invitationCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb57 # Step 4: User1 invites User3COMMENT
LOW⚡spec/requests/family_workflows_spec.rb67 # Step 5: User3 accepts invitationCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb74 # Step 6: Family owner views members on family show pageCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb79 # Step 7: Owner removes a memberCOMMENT
Verbosity Indicators9 hits · 18 pts
SeverityFileLineSnippetContext
LOW⚡docker/web-entrypoint.sh98# Step 1: Database SetupCOMMENT
LOW⚡docker/web-entrypoint.sh104# Step 2: Run migrations for all databasesCOMMENT
LOWspec/requests/family_workflows_spec.rb12 # Step 1: User1 creates a familyCOMMENT
LOWspec/requests/family_workflows_spec.rb29 # Step 2: User1 invites User2COMMENT
LOWspec/requests/family_workflows_spec.rb41 # Step 3: User2 views and accepts invitationCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb57 # Step 4: User1 invites User3COMMENT
LOW⚡spec/requests/family_workflows_spec.rb67 # Step 5: User3 accepts invitationCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb74 # Step 6: Family owner views members on family show pageCOMMENT
LOW⚡spec/requests/family_workflows_spec.rb79 # Step 7: Owner removes a memberCOMMENT
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMapp/javascript/maps_maplibre/utils/route_segmenter.js134 // Stitch segments at ±180° with interpolated latitude for seamless renderingCOMMENT
LOWapp/controllers/visits_controller.rb145 # name the picker just set.COMMENT
MEDIUMapp/services/tracks/track_builder.rb12# 3. Calculates comprehensive statistics: distance, duration, average speedCOMMENT
MEDIUMconfig/initializers/rswag_api.rb12 # For example, you could leverage this to dynamically assign the "host" propertyCOMMENT
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHCHANGELOG.md3320- Fix authentication to `GET /api/v1/countries/visited_cities` with header `Authorization: Bearer YOUR_API_KEY` instead CODE
HIGHCHANGELOG.md3616Authorization: Bearer YOUR_API_KEYCODE
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWapp/models/concerns/distance_convertible.rb14# Usage:COMMENT
LOWapp/services/transportation_modes/detector.rb10 # Usage:COMMENT
LOWapp/services/tracks/track_builder.rb31# Example usage:COMMENT
LOWapp/services/tracks/segmentation.rb34# Example usage:COMMENT
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOWconfig/locales/en.yml1322 don_t_forget_to_include_logs_from: ", don't forget to include logs from"CODE
MEDIUMspec/spec_helper.rb55 # with RSpec, but feel free to customize to your heart's content.COMMENT