AI Slop Code Risk Monitor

wealthfolio/wealthfolio

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

A beautiful, private, local-first personal finance tracker. Investments, net worth, spending, and simulations.

3.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for wealthfolio/wealthfolio, a Rust project with 9,293 GitHub stars. SynthScan examined 1,034,516 lines of code across 3056 source files, recording 1626 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.0
Adjusted Signal
3.0
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
9.3K
Stars
Rust
Language
1.0M
Lines of Code
3.1K
Files
1.6K
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 4.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.6/100 · LOW

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

Agent Over-Engineering Ratio 11.3/100 · LOW

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

PR Review Velocity Impact 13.7/100 · LOW

Which changes need focused human review? 1626 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 9MEDIUM 676LOW 939

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

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

Decorative Section Separators660 hits · 2030 pts
SeverityFileLineSnippetContext
MEDIUMcompose.yml31 # ── Authentication ────────────────────────────────────────────────COMMENT
MEDIUMcompose.yml50 # ── OIDC / SSO (optional) ─────────────────────────────────────────COMMENT
MEDIUMcompose.yml76 # ── AI Agent Access / MCP (optional) ────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs9// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs11// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs31// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs33// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs202// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs204// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs280// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs282// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs368// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs370// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs453// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/types.rs455// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs520 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs522 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs621 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs623 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs694 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs696 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs1131 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs1133 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs1245 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/client.rs1247 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/device-sync/src/enroll_service.rs19// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/device-sync/src/enroll_service.rs21// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/device-sync/src/enroll_service.rs31// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/device-sync/src/enroll_service.rs33// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs128// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs130// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs159 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs161 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs441 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs443 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs549 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/enroll_service.rs551 // ═══════════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs31// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs33// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs178// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs180// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs523 // ─── Steps ───────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs881 // ─── Slot access ─────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs929// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/device-sync/src/engine/restore.rs931// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/market-data/src/provider/metal_price_api/mod.rs471 // ── Integration tests (require METAL_PRICE_API_KEY env var) ──────COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs11//! ┌─────────────────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs14//! │ ┌────────────────────────────────────────────────────────────────────────┐ │COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs18//! │ └────────────────────────────────────────────────────────────────────────┘ │COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs21//! │ ┌────────────────────────────────────────────────────────────────────────┐ │COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs25//! │ └────────────────────────────────────────────────────────────────────────┘ │COMMENT
MEDIUM⚡crates/market-data/src/resolver/mod.rs26//! └─────────────────────────────────────────────────────────────────────────────┘COMMENT
MEDIUMcrates/agent-tools/src/tools/activity_import.rs107 // ── Resolved asset identity (populated during validation) ──────────────COMMENT
MEDIUMcrates/agent-tools/src/tools/activity_import.rs126 // ── Duplicate / validation ─────────────────────────────────────────────COMMENT
MEDIUMcrates/agent-tools/src/tools/activity_import.rs310// ── get_import_mapping ──────────────────────────────────────────────────COMMENT
MEDIUMcrates/agent-tools/src/tools/activity_import.rs382// ── prepare_activity_import ─────────────────────────────────────────────COMMENT
MEDIUMcrates/agent-tools/src/tools/activity_import.rs452// ── commit_activity_import ──────────────────────────────────────────────COMMENT
MEDIUMcrates/core/src/goals/goals_service.rs70// ─── Shared helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/core/src/quotes/client.rs9//! ┌─────────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM⚡crates/core/src/quotes/client.rs12//! │ Asset ─────────────────────────────────────────────▶ core::Quote │COMMENT
600 more matches not shown…
Hyper-Verbose Identifiers422 hits · 444 pts
SeverityFileLineSnippetContext
LOWdocs/features/allocations/sota-target-model-spec.md1026export async function getAllocationAdvisorState(CODE
LOWdocs/features/allocations/sota-target-model-spec.md1032export async function calculateRebalanceScenarios(CODE
LOWpackages/ui/src/components/ui/chart.tsx317function getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {CODE
LOWpackages/ui/src/components/ui/empty-placeholder.tsx49EmptyPlaceholder.Description = function EmptyPlaceholderDescription(props: React.ComponentProps<"p">) {CODE
LOWpackages/ui/src/lib/ticker-logo.ts32export function normalizeTickerLogoSymbol(symbol: unknown): string | undefined {CODE
LOWpackages/ui/src/lib/ticker-logo.ts59function getProviderSuffixCompatibilityFilenames(symbol: string): string[] {CODE
LOWpackages/ui/src/lib/ticker-logo.ts69function getCryptoProviderCompatibilityFilenames(symbol: string): string[] {CODE
LOWpackages/ui/src/lib/ticker-logo.ts88export function resolveTickerLogoFilename(CODE
LOWpackages/ui/src/lib/ticker-logo.ts108export function resolveTickerLogoFilenames(CODE
LOWpackages/ui/src/lib/formatting.ts144export function calendarDateFromLocalDate(value: Date): CalendarDateParts {CODE
LOWpackages/ui/src/lib/formatting.ts148export function calendarDateTimeFromLocalDate(value: Date): CalendarDateTimeParts {CODE
LOWpackages/ui/src/lib/formatting.ts276function resolveSystemFormattingLocale(): string {CODE
LOWpackages/ui/src/lib/formatting.ts434function normalizeCurrencyGrouping(input: FinancialNumberInput, locale: string): string {CODE
LOWpackages/ui/src/lib/formatting.ts466function normalizeInvariantNumberString(value: string): string {CODE
LOWpackages/ui/src/lib/formatting.ts471function localizedNumberToInvariant(value: string, locale: string): string | undefined {CODE
LOWpackages/ui/src/lib/formatting.ts483function parsePreparedDecimalString(CODE
LOWpackages/ui/src/lib/formatting.ts509export function parseLocalizedDecimalString(value: string, locale: string): string | undefined {CODE
LOWpackages/ui/src/lib/formatting.ts738function createLocaleAmountFormatting(CODE
LOWpackages/addon-sdk/README.md313function InvestmentFeesTrackerAddon({ ctx }: { ctx: AddonContext }) {CODE
LOWpackages/addon-sdk/src/permissions.ts309export function getPermissionCategoriesByRisk(CODE
LOWpackages/addon-sdk/src/permissions.ts350export function getUndeclaredDetectedFunctions(permission: Permission): string[] {CODE
LOWpackages/addon-sdk/src/permissions.ts359export function hasUndeclaredDetectedFunctions(permission: Permission): boolean {CODE
LOWpackages/addon-dev-tools/dev-server.js142function runtimeTextFilesFromEntries(entries) {CODE
LOWpackages/addon-dev-tools/dev-server.js160function shouldPublishRuntimeFileChange(config, filePath) {CODE
LOW⚡.github/scripts/test_connect_build.py30 def test_build_without_connect_does_not_require_transfer_configuration(self):CODE
LOW⚡.github/scripts/test_connect_build.py33 def test_connect_build_uses_public_defaults_without_transfer_override(self):CODE
LOW⚡.github/scripts/test_connect_build.py41 def test_connect_build_rejects_explicitly_blank_transfer_configuration(self):CODE
LOW.github/scripts/test_connect_build.py53 def test_connect_build_accepts_configured_hosts_without_printing_values(self):CODE
LOW.github/scripts/test_connect_build.py62 def test_ci_exports_defaults_for_missing_secrets_and_preserves_nonempty_overrides(self):CODE
LOW.github/scripts/test_connect_build.py82 def test_ci_cannot_inject_other_environment_values_through_the_override(self):CODE
LOW.github/scripts/test_ci_changes.py22 def test_connect_defaults_cover_every_consumer(self):CODE
LOW⚡.github/scripts/test_ci_changes.py33 def test_application_csp_contract(self):CODE
LOW⚡.github/scripts/test_ci_changes.py43 def test_dependency_manifests(self):CODE
LOW⚡.github/scripts/test_ci_changes.py46 def test_addon_runtime_and_harness_changes_require_browsers(self):CODE
LOW.github/scripts/test_ci_changes.py60 def test_shared_sandbox_inputs_require_browsers(self):CODE
LOW.github/scripts/test_ci_changes.py74 def test_unrelated_changes_do_not_require_browsers(self):CODE
LOW.github/scripts/test_ci_changes.py85 def test_addon_requirement_survives_mixed_changes(self):CODE
LOW.github/scripts/test_ci_changes.py96 def test_cross_area_rename_includes_both_paths(self):CODE
LOW⚡.github/scripts/test_ci_changes.py113 def test_shared_rust_only_checks_mobile(self):CODE
LOW⚡.github/scripts/test_ci_changes.py119 def test_native_dependencies_and_http_require_mobile_checks(self):CODE
LOW⚡.github/scripts/test_ci_changes.py124 def test_platform_specific_files(self):CODE
LOW⚡.github/scripts/test_ci_changes.py136 def test_mixed_native_and_shared_code_is_order_independent(self):CODE
LOW⚡.github/scripts/test_ci_changes.py141 def test_server_manifest_does_not_trigger_mobile(self):CODE
LOW⚡.github/scripts/test_ci_changes.py144 def test_docs_inside_native_directories(self):CODE
LOW⚡.github/scripts/test_ci_changes.py152 def test_browser_install_and_execution_share_the_path_filter(self):CODE
LOW⚡.github/scripts/test_ci_changes.py177 def test_unrequested_mobile_jobs_may_skip(self):CODE
LOW⚡.github/scripts/test_ci_changes.py180 def test_required_mobile_jobs_must_succeed(self):CODE
LOW⚡.github/scripts/test_ci_changes.py187 def test_required_frontend_jobs_must_succeed(self):CODE
LOW.github/scripts/test_ci_changes.py200 def test_failed_detection_blocks_merge(self):CODE
LOW.github/scripts/test_encryption_smoke.py13 def test_export_download_keeps_browser_session(self):CODE
LOWe2e/helpers.ts71async function canSkipLoginAndOnboardingUi(page: Page) {CODE
LOWe2e/helpers.ts127async function waitForLoginOnboardingOrApp(page: Page, timeout: number) {CODE
LOWe2e/helpers.ts419export async function completeOnboardingIfNeeded(page: Page) {CODE
LOWe2e/02-activities.spec.ts333 async function fillInternalTransferCashAmount(value: number) {CODE
LOWe2e/04-csv-import.spec.ts35async function proceedThroughImportWizard(page: Page, csvPath: string, accountName: string) {CODE
LOWe2e/34-activity-column-widths.spec.ts11async function createAccountWithMixedActivities(page: Page) {CODE
LOWe2e/34-activity-column-widths.spec.ts66async function headerWidthsWhileScrolling(page: Page) {CODE
LOWe2e/10-symbol-mapping-validation.spec.ts167 async function setOpenSheetToManualPricing() {CODE
LOWe2e/12-asset-backed-income-subtypes.spec.ts214 async function expectHoldingVisibleInAccount(symbol: string, quantity: number) {CODE
LOWe2e/30-activity-sticky-header.spec.ts7async function createAccountWithActivities(page: Page, accountType = "SECURITIES") {CODE
362 more matches not shown…
Over-Commented Block420 hits · 418 pts
SeverityFileLineSnippetContext
LOWplaywright.config.ts41 name: "chromium",COMMENT
LOWplaywright.config.ts61 // name: 'Mobile Safari',COMMENT
LOWcompose.yml21 WF_DATA_DIR: "${WF_DATA_DIR:-}"COMMENT
LOWcompose.yml41 # printf 'your-password' | argon2 yoursalt16chars! -id -eCOMMENT
LOWcrates/device-sync/src/types.rs161 pub user_id: String,COMMENT
LOWcrates/device-sync/src/types.rs181 pub app_version: Option<String>,COMMENT
LOWcrates/device-sync/src/types.rs201COMMENT
LOWcrates/device-sync/src/types.rs281// Pairing TypesCOMMENT
LOWcrates/device-sync/src/types.rs321 Expired,COMMENT
LOWcrates/device-sync/src/types.rs361 /// Operation succeededCOMMENT
LOWcrates/device-sync/src/types.rs381COMMENT
LOWcrates/device-sync/src/types.rs401}COMMENT
LOWcrates/device-sync/src/types.rs421#[serde(rename_all = "camelCase")]COMMENT
LOWcrates/device-sync/src/types.rs441#[serde(rename_all = "camelCase")]COMMENT
LOWcrates/device-sync/src/client.rs621 // ─────────────────────────────────────────────────────────────────────────COMMENT
LOWcrates/device-sync/src/lib.rs1//! Wealthfolio Device Sync - Cloud-based device synchronization for Wealthfolio.COMMENT
LOWcrates/device-sync/src/lib.rs21//! ).await?;COMMENT
LOWcrates/portfolio-engine/tests/impact.rs1//! P-IMPACT: `impact` is sound. For every scenario and a set of single-factCOMMENT
LOWcrates/portfolio-engine/tests/support/generate.rs1//! Generated scenarios: random combinations of the inputs the hand-writtenCOMMENT
LOWcrates/portfolio-engine/src/diagnostics.rs1//! Data-quality channel (architecture §4.4): every degraded, missing, estimated, orCOMMENT
LOWcrates/portfolio-engine/src/diagnostics.rs41 ActivityRejected,COMMENT
LOWcrates/portfolio-engine/src/lib.rs1//! Wealthfolio portfolio engine: a pure, deterministic calculation kernel.COMMENT
LOWcrates/portfolio-engine/src/scope.rs1//! `facts_needed`: what a coordinator must load for a scope and rangeCOMMENT
LOWcrates/portfolio-engine/src/scope.rs21 /// what makes a partial load able to find its counterparties.COMMENT
LOWcrates/portfolio-engine/src/value.rs1461 effectsCOMMENT
LOWcrates/portfolio-engine/src/value.rs1901 .get(source.as_str())COMMENT
LOWcrates/portfolio-engine/src/model/policy.rs41#[serde(rename_all = "SCREAMING_SNAKE_CASE")]COMMENT
LOWcrates/portfolio-engine/src/model/scalar.rs1//! Parse-don't-validate scalars. Constructed once in `normalize`; interiorCOMMENT
LOWcrates/portfolio-engine/src/model/effects.rs61 pub date: NaiveDate,COMMENT
LOWcrates/portfolio-engine/src/model/facts.rs41 /// `INVESTMENT` | `PROPERTY` | `VEHICLE` | `COLLECTIBLE` | `PRECIOUS_METAL` | …COMMENT
LOWcrates/portfolio-engine/src/model/state.rs121 pub average_cost: Decimal,COMMENT
LOWcrates/market-data/src/lib.rs1//! Wealthfolio Market Data CrateCOMMENT
LOWcrates/market-data/src/lib.rs21//! vCOMMENT
LOWcrates/market-data/src/lib.rs41//!COMMENT
LOWcrates/market-data/src/provider/mod.rs1//! Market data provider abstractions and implementations.COMMENT
LOWcrates/market-data/src/provider/traits.rs21///COMMENT
LOWcrates/market-data/src/provider/traits.rs41/// supports_historical: true,COMMENT
LOWcrates/market-data/src/provider/traits.rs61 /// Provider priority for ordering.COMMENT
LOWcrates/market-data/src/provider/traits.rs81COMMENT
LOWcrates/market-data/src/provider/traits.rs101 ///COMMENT
LOWcrates/market-data/src/provider/traits.rs121 /// # ArgumentsCOMMENT
LOWcrates/market-data/src/provider/traits.rs141 /// providers, whatever they found, so the provider must answer it from dataCOMMENT
LOWcrates/market-data/src/provider/capabilities.rs1//! Provider capabilities and rate limiting configuration.COMMENT
LOWcrates/market-data/src/provider/metal_price_api/mod.rs1//! Metal Price API provider for precious metals market data.COMMENT
LOWcrates/market-data/src/provider/metal_price_api/mod.rs41struct MetalPriceResponse {COMMENT
LOWcrates/market-data/src/provider/metal_price_api/mod.rs61 #[serde(default)]COMMENT
LOWcrates/market-data/src/provider/amfi/mod.rs1//! AMFI (Association of Mutual Funds in India) NAV provider.COMMENT
LOWcrates/market-data/src/provider/amfi/mod.rs61/// Weekdays between report lookups after the first two. Six, so consecutiveCOMMENT
LOWcrates/market-data/src/provider/amfi/mod.rs201// ---------------------------------------------------------------------------COMMENT
LOWcrates/market-data/src/provider/finnhub/mod.rs61 /// High pricesCOMMENT
LOWcrates/market-data/src/provider/finnhub/mod.rs81 /// Search resultsCOMMENT
LOWcrates/market-data/src/provider/finnhub/mod.rs121 name: Option<String>,COMMENT
LOWcrates/market-data/src/provider/alpha_vantage/mod.rs101struct CryptoDailyResponse {COMMENT
LOWcrates/market-data/src/provider/alpha_vantage/mod.rs261 #[allow(dead_code)]COMMENT
LOWcrates/market-data/src/provider/alpha_vantage/mod.rs281 #[serde(rename = "Name")]COMMENT
LOWcrates/market-data/src/provider/alpha_vantage/mod.rs321 #[serde(rename = "Information")]COMMENT
LOWcrates/market-data/src/provider/marketdata_app/mod.rs1//! MarketData.app provider implementation.COMMENT
LOWcrates/market-data/src/provider/marketdata_app/mod.rs41 /// Open pricesCOMMENT
LOWcrates/market-data/src/provider/marketdata_app/mod.rs61/// Response from the prices endpoint for latest quote.COMMENT
LOWcrates/market-data/src/provider/us_treasury_calc/mod.rs1//! US Treasury calculated-price provider.COMMENT
360 more matches not shown…
Fake / Example Data54 hits · 54 pts
SeverityFileLineSnippetContext
LOWcrates/core/src/assets/alternative_assets_model.rs46 /// Example for Property: { "sub_type": "residence", "address": "123 Main St" }COMMENT
LOWcrates/ai/src/ai_providers.json19 "placeholder": "http://localhost:11434",CODE
LOWcrates/ai/src/ai_providers.json71 "placeholder": "Enter your Groq API key",CODE
LOWcrates/ai/src/ai_providers.json79 "placeholder": "Leave empty to use default",CODE
LOWcrates/ai/src/ai_providers.json114 "placeholder": "Enter your Google AI API key",CODE
LOWcrates/ai/src/ai_providers.json122 "placeholder": "Leave empty to use default",CODE
LOWcrates/ai/src/ai_providers.json168 "placeholder": "Enter your Anthropic API key",CODE
LOWcrates/ai/src/ai_providers.json176 "placeholder": "Leave empty to use default",CODE
LOWcrates/ai/src/ai_providers.json217 "placeholder": "Enter your OpenAI API key",CODE
LOWcrates/ai/src/ai_providers.json225 "placeholder": "Leave empty to use default",CODE
LOWcrates/ai/src/ai_providers.json263 "placeholder": "Enter your OpenRouter API key",CODE
LOWcrates/ai/src/ai_providers.json271 "placeholder": "Leave empty to use default",CODE
LOW…wealthfolio-connect/components/connected-view.test.tsx7 user: { email: "user@example.com" },CODE
LOWapps/frontend/src/i18n/locales/zh-Hant/ui.json11 "placeholder": "選取幣別",CODE
LOWapps/frontend/src/i18n/locales/zh-Hant/ui.json220 "placeholder": "選擇選項"CODE
LOWapps/frontend/src/i18n/locales/zh-Hant/asset.json597 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/ja/ui.json11 "placeholder": "通貨を選択",CODE
LOWapps/frontend/src/i18n/locales/ja/ui.json219 "placeholder": "項目を選択"CODE
LOWapps/frontend/src/i18n/locales/ja/asset.json597 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/it/ui.json11 "placeholder": "Seleziona valuta",CODE
LOWapps/frontend/src/i18n/locales/it/ui.json221 "placeholder": "Seleziona un’opzione"CODE
LOWapps/frontend/src/i18n/locales/it/asset.json601 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/pt/ui.json11 "placeholder": "Selecionar moeda",CODE
LOWapps/frontend/src/i18n/locales/pt/ui.json221 "placeholder": "Selecionar uma opção"CODE
LOWapps/frontend/src/i18n/locales/pt/asset.json601 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/zh/ui.json11 "placeholder": "选择货币",CODE
LOWapps/frontend/src/i18n/locales/zh/ui.json219 "placeholder": "选择选项"CODE
LOWapps/frontend/src/i18n/locales/zh/asset.json597 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/ar/ui.json12 "placeholder": "اختر العملة",CODE
LOWapps/frontend/src/i18n/locales/ar/ui.json224 "placeholder": "اختر خيارًا"CODE
LOWapps/frontend/src/i18n/locales/ar/asset.json892 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/de/ui.json11 "placeholder": "Währung auswählen",CODE
LOWapps/frontend/src/i18n/locales/de/ui.json220 "placeholder": "Option auswählen"CODE
LOWapps/frontend/src/i18n/locales/de/asset.json597 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/ko/ui.json11 "placeholder": "통화 선택",CODE
LOWapps/frontend/src/i18n/locales/ko/ui.json219 "placeholder": "옵션 선택"CODE
LOWapps/frontend/src/i18n/locales/ko/asset.json597 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/fr/ui.json11 "placeholder": "Sélectionner une devise",CODE
LOWapps/frontend/src/i18n/locales/fr/ui.json221 "placeholder": "Choisir une option"CODE
LOWapps/frontend/src/i18n/locales/fr/asset.json601 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/es/ui.json11 "placeholder": "Seleccionar moneda",CODE
LOWapps/frontend/src/i18n/locales/es/ui.json221 "placeholder": "Seleccionar una opción"CODE
LOWapps/frontend/src/i18n/locales/es/asset.json601 "placeholder": {CODE
LOWapps/frontend/src/i18n/locales/en/ui.json11 "placeholder": "Select currency",CODE
LOWapps/frontend/src/i18n/locales/en/ui.json220 "placeholder": "Select an option"CODE
LOWapps/frontend/src/i18n/locales/en/asset.json598 "placeholder": {CODE
LOWapps/frontend/src/pages/asset/asset-edit-sheet.test.tsx103 expect(input).toHaveAttribute("placeholder", "100");CODE
LOW…assets/components/activity-loan-payment-sheet.test.tsx117 expect(escrow).toHaveAttribute("placeholder", "The loan's usual amount");CODE
LOW…assets/components/activity-loan-payment-sheet.test.tsx122 expect(escrow).toHaveAttribute("placeholder", "None unless you enter it");CODE
LOW…assets/components/activity-loan-payment-sheet.test.tsx170 expect(escrow).toHaveAttribute("placeholder", "The loan's usual amount");CODE
LOW…assets/components/activity-loan-payment-sheet.test.tsx174 expect(escrow).toHaveAttribute("placeholder", "None unless you enter it");CODE
LOW…es/activity/components/activity-view-controls.test.tsx94 "placeholder",CODE
LOW…ponents/forms/fields/__tests__/quantity-input.test.tsx74 "placeholder",CODE
LOW…omponents/forms/fields/__tests__/amount-input.test.tsx75 expect(input).toHaveAttribute("placeholder", "0,00");CODE
Modern AI Meta-Vocabulary13 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUMplaywright.design-system.config.ts3// UI guardrails, run on demand rather than in CI. Record a baseline from the codeCOMMENT
MEDIUM…c/portfolio/allocation_targets/worksheet_calculator.rs476/// What the user's target and guardrails allow, in base currency.COMMENT
MEDIUMcrates/ai/Cargo.toml33# LLM orchestration facade (portable contracts + agent runtime)COMMENT
MEDIUMcrates/ai/evals/cases/safety.toml5# wrong thing" complaint mode in industry agentic apps in 2024-2025.COMMENT
MEDIUMcrates/ai/evals/cases/recording.toml76# hallucinate tickers (Facebook → FB instead of META) so we want the raw text.COMMENT
MEDIUMcrates/ai/src/stream_hook.rs1//! Stream-level guard rails for the agentic loop.COMMENT
MEDIUMcrates/ai/src/live_evals/mod.rs6//! - `crate::eval` (singular): assertion helpers (event ordering, guardrails)COMMENT
MEDIUMcrates/ai/src/eval/harness.rs78/// Assert tool outputs respect guardrails.COMMENT
MEDIUMdocs/architecture/market-data-quotes.md63├── registry/ # Provider orchestrationCODE
MEDIUMpackages/addon-dev-tools/cli.js52// Initialize scaffold serviceCOMMENT
MEDIUMpackages/addon-dev-tools/cli.js116 // Create addon using scaffold serviceCOMMENT
MEDIUMe2e/README.md254## UI primitive guardrails (on demand)COMMENT
MEDIUMapps/frontend/src/test/browser/design-system.tsx103// Synthetic fixture for the UI-primitive guardrails: every primitive inCOMMENT
Magic Placeholder Names6 hits · 35 pts
SeverityFileLineSnippetContext
HIGHcrates/market-data/src/provider/metal_price_api/mod.rs72/// let provider = MetalPriceApiProvider::new("your_api_key".to_string());COMMENT
HIGHcrates/market-data/src/provider/marketdata_app/mod.rs79/// let provider = MarketDataAppProvider::new("your-api-key".to_string());COMMENT
HIGH…rontend/src/lib/financial-display-terminology.test.tsx126 expect(matching[0].headers).toContain("apikey YOUR_API_KEY");CODE
HIGH…d/src/pages/settings/market-data/provider-templates.ts83 headers: '{"Authorization": "apikey YOUR_API_KEY"}',CODE
HIGH…d/src/pages/settings/market-data/provider-templates.ts143 headers: '{"Authorization": "apikey YOUR_API_KEY"}',CODE
HIGH…d/src/pages/settings/market-data/provider-templates.ts158 headers: '{"Authorization": "apikey YOUR_API_KEY"}',CODE
Verbosity Indicators19 hits · 33 pts
SeverityFileLineSnippetContext
LOWcrates/market-data/src/provider/yahoo/mod.rs183 // Step 1: Get cookie from fc.yahoo.comCOMMENT
LOWcrates/market-data/src/provider/yahoo/mod.rs203 // Step 2: Get crumb using cookieCOMMENT
LOWcrates/core/src/utils/isin.rs151 // Step 1: Convert characters to digit stringCOMMENT
LOWcrates/core/src/utils/isin.rs163 // Step 2: Apply Luhn algorithmCOMMENT
LOWcrates/storage-sqlite/src/db/maintenance.rs160 // Step 8: install the candidate. `fs::rename` over the live database isCOMMENT
LOW…es/storage-sqlite/src/assets/alternative_repository.rs206 // Step 1: Find and unlink any liabilities that reference this assetCOMMENT
LOW⚡…es/storage-sqlite/src/assets/alternative_repository.rs257 // Step 2: Delete all quotes for this asset with source = 'MANUAL'COMMENT
LOW⚡…es/storage-sqlite/src/assets/alternative_repository.rs266 // Step 3: Delete the asset recordCOMMENT
LOWcrates/connect/src/broker/orchestrator.rs194 // Step 1: Sync connections (platforms)COMMENT
LOWcrates/connect/src/broker/orchestrator.rs211 // Step 2: Sync accounts (filter by sync_enabled)COMMENT
LOWcrates/connect/src/broker/orchestrator.rs265 // Step 3: Sync data for all synced accounts based on their tracking modeCOMMENT
LOW⚡e2e/helpers.ts443 // Step 1: Info screen — click ContinueCOMMENT
LOW⚡e2e/helpers.ts447 // Step 2: Preferences — keep e2e assertions deterministic and pick CAD.COMMENT
LOW⚡e2e/helpers.ts454 // Step 3: Appearance — pick Light theme and continueCOMMENT
LOW⚡e2e/helpers.ts459 // Step 4: Finish onboardingCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1027 // Step 1: re-run backend validation on importable drafts so we catchCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1049 // Step 2: filter again after backend validation — only import rows theCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1065 // Step 3: create pending assets, then import the validated activities.COMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1143 // Step 4: success path — save template + persist tool result.COMMENT
Structural Annotation Overuse19 hits · 33 pts
SeverityFileLineSnippetContext
LOWcrates/market-data/src/provider/yahoo/mod.rs183 // Step 1: Get cookie from fc.yahoo.comCOMMENT
LOWcrates/market-data/src/provider/yahoo/mod.rs203 // Step 2: Get crumb using cookieCOMMENT
LOWcrates/core/src/utils/isin.rs151 // Step 1: Convert characters to digit stringCOMMENT
LOWcrates/core/src/utils/isin.rs163 // Step 2: Apply Luhn algorithmCOMMENT
LOWcrates/storage-sqlite/src/db/maintenance.rs160 // Step 8: install the candidate. `fs::rename` over the live database isCOMMENT
LOW…es/storage-sqlite/src/assets/alternative_repository.rs206 // Step 1: Find and unlink any liabilities that reference this assetCOMMENT
LOW⚡…es/storage-sqlite/src/assets/alternative_repository.rs257 // Step 2: Delete all quotes for this asset with source = 'MANUAL'COMMENT
LOW⚡…es/storage-sqlite/src/assets/alternative_repository.rs266 // Step 3: Delete the asset recordCOMMENT
LOWcrates/connect/src/broker/orchestrator.rs194 // Step 1: Sync connections (platforms)COMMENT
LOWcrates/connect/src/broker/orchestrator.rs211 // Step 2: Sync accounts (filter by sync_enabled)COMMENT
LOWcrates/connect/src/broker/orchestrator.rs265 // Step 3: Sync data for all synced accounts based on their tracking modeCOMMENT
LOW⚡e2e/helpers.ts443 // Step 1: Info screen — click ContinueCOMMENT
LOW⚡e2e/helpers.ts447 // Step 2: Preferences — keep e2e assertions deterministic and pick CAD.COMMENT
LOW⚡e2e/helpers.ts454 // Step 3: Appearance — pick Light theme and continueCOMMENT
LOW⚡e2e/helpers.ts459 // Step 4: Finish onboardingCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1027 // Step 1: re-run backend validation on importable drafts so we catchCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1049 // Step 2: filter again after backend validation — only import rows theCOMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1065 // Step 3: create pending assets, then import the validated activities.COMMENT
LOW…features/ai-assistant/hooks/use-chat-import-session.ts1143 // Step 4: success path — save template + persist tool result.COMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALcrates/portfolio-engine/src/value.rs686 .major_currency(self.resolved.facts.policy.base_currency.as_str())CODE
CRITICAL…/frontend/src/features/profiles/error-messages.test.ts110 catalog.default.profiles.errors.cooldown_other.replace("{{count}}", "30"),CODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH.github/scripts/encryption_smoke.py120 "--health-cmd", "wget --quiet --tries=1 --spider http://127.0.0.1:8088/api/v1/healthz || exit 1",CODE
HIGH.github/scripts/encryption_smoke.py219 "RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates "CODE
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMcrates/storage-sqlite/src/db/mod.rs1824// --- Internal helpers for robust, cross-platform file operations ---COMMENT
MEDIUM.github/scripts/ci_changes.py5# The standalone browser harness loads the addon runtime and its shared UI,COMMENT
MEDIUMapps/frontend/src/lib/utils.ts327 // First attempt with the robust parserCOMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/test-data/generate-credit-card-history.py210except ValueError:CODE
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOW.github/scripts/ci_changes.py26CODE
LOW.github/scripts/encryption_smoke.py69CODE
LOW.github/scripts/encryption_smoke.py114CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/ci-check.sh3# Usage:COMMENT
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOW.github/scripts/encryption_smoke.py174 except Exception:CODE