AI Slop Code Risk Monitor

MetaMask/metamask-extension

SlopCodeMonitor badge for MetaMask/metamask-extension Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites

1.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for MetaMask/metamask-extension, a TypeScript project with 13,250 GitHub stars. SynthScan examined 1,824,508 lines of code across 9367 source files, recording 2645 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 1.7 (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.7
Adjusted Signal
1.7
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
13.2K
Stars
TypeScript
Language
1.8M
Lines of Code
9.4K
Files
2.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 7.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 6.2/100 · LOW

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

PR Review Velocity Impact 8.0/100 · LOW

Which changes need focused human review? 2645 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 4HIGH 4MEDIUM 172LOW 2465

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 2645 distinct pattern matches across 16 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 Identifiers2138 hits · 2082 pts
SeverityFileLineSnippetContext
LOWAGENTS.md444export function getDefaultTokensControllerState(): TokensControllerState {CODE
LOW⚡ui/__mocks__/hardware-wallet-swap/hooks.ts170function useSubmitBridgeTransaction() {CODE
LOW⚡ui/__mocks__/hardware-wallet-swap/hooks.ts178export function useHwSwapConnectionMonitoring() {CODE
LOW⚡ui/__mocks__/hardware-wallet-swap/hooks.ts185export function useHwSwapConfirmationMonitoring() {CODE
LOWui/ducks/domains.js106function enrichResolutionsWithAddressBook(resolutions, state) {CODE
LOWui/ducks/batch-sell/actions.ts12function getSmartTransactionsState(CODE
LOW⚡ui/ducks/app/app.ts675export function openBasicFunctionalityModal(): Action {CODE
LOW⚡ui/ducks/app/app.ts681export function hideBasicFunctionalityModal(): Action {CODE
LOW⚡ui/ducks/app/app.ts687export function onboardingToggleBasicFunctionalityOn(): Action {CODE
LOW⚡ui/ducks/app/app.ts693export function onboardingToggleBasicFunctionalityOff(): Action {CODE
LOW⚡ui/ducks/app/app.ts699export function onboardingToggleBackupAndSyncOn(): Action {CODE
LOW⚡ui/ducks/app/app.ts705export function onboardingToggleBackupAndSyncOff(): Action {CODE
LOW⚡ui/ducks/app/app.ts711export function toggleGasLoadingAnimation(CODE
LOW⚡ui/ducks/app/app.ts717export function setLedgerWebHidConnectedStatus(CODE
LOWui/ducks/app/app.ts733export function setOnBoardedInThisUISession(CODE
LOW⚡ui/ducks/app/app.ts772export function getGasLoadingAnimationIsShowing(state: AppSliceState): boolean {CODE
LOW⚡ui/ducks/app/app.ts776export function getLedgerWebHidConnectedStatus(CODE
LOW⚡ui/ducks/app/app.ts786export function getShowSupportDataConsentModal(state: AppSliceState): boolean {CODE
LOW⚡ui/ducks/app/app.ts790export function openDeleteMetaMetricsDataModal(): Action {CODE
LOW⚡ui/ducks/app/app.ts796export function hideDeleteMetaMetricsDataModal(): Action {CODE
LOW⚡ui/ducks/app/app.ts802export function openDataDeletionErrorModal(): Action {CODE
LOW⚡ui/ducks/app/app.ts808export function hideDataDeletionErrorModal(): Action {CODE
LOWui/ducks/swaps/swaps.js304export function shouldShowCustomPriceTooLowWarning(state) {CODE
LOWui/ducks/swaps/swaps.js1417export function fetchMetaSwapsGasPriceEstimates() {CODE
LOWui/ducks/swaps/swaps.js1468export function fetchSwapsSmartTransactionFees({CODE
LOWui/ducks/swaps/swaps.js1496export function cancelSwapsSmartTransaction(uuid) {CODE
LOW⚡ui/ducks/metamask/metamask.js333export function getConversionRateByTicker(state, ticker) {CODE
LOW⚡ui/ducks/metamask/metamask.js339export function getSendHexDataFeatureFlagState(state) {CODE
LOW⚡ui/ducks/metamask/metamask.js349function getGasFeeControllerEstimateType(state) {CODE
LOW⚡ui/ducks/metamask/metamask.js353function getGasFeeControllerEstimateTypeByChainId(state, chainId) {CODE
LOW⚡ui/ducks/metamask/metamask.js357function getGasFeeControllerEstimates(state) {CODE
LOW⚡ui/ducks/metamask/metamask.js361function getGasFeeControllerEstimatesByChainId(state, chainId) {CODE
LOW⚡ui/ducks/metamask/metamask.js365function getTransactionGasFeeEstimates(state) {CODE
LOW⚡ui/ducks/metamask/metamask.js370function getTransactionGasFeeEstimatesByChainId(state, chainId) {CODE
LOWui/ducks/metamask/metamask.js445export function getEstimatedGasFeeTimeBounds(state) {CODE
LOWui/ducks/metamask/metamask.js449export function getEstimatedGasFeeTimeBoundsByChainId(state, chainId) {CODE
LOWui/ducks/metamask/metamask.js474export function getIsGasEstimatesLoadingByChainId(CODE
LOWui/ducks/metamask/metamask.js499export function getIsNetworkBusyByChainId(state, chainId) {CODE
LOWui/ducks/metamask/metamask.js508export function getHasSeenOnboardingCompletionPage(state) {CODE
LOWui/ducks/metamask/metamask.js522export function getIsWalletResetInProgress(state) {CODE
LOWui/ducks/metamask/metamask.js538export function getIsPrimarySeedPhraseBackedUp(state) {CODE
LOWui/ducks/metamask/metamask.js553export function getIsSeedlessPasswordOutdated(state) {CODE
LOWui/ducks/metamask/metamask.js564export function doesUserHaveALedgerAccount(state) {CODE
LOWui/ducks/metamask/metamask.js588export function getPasskeyAutoUnlockSuppressed(state) {CODE
LOWui/ducks/metamask/metamask.js598export function getLastShownPrfMigrationReminderAt(state) {CODE
LOWui/ducks/metamask/metamask.js609export function getShouldUnlockBeforeOnboardingCompletion(state) {CODE
LOWui/ducks/send-max-value/send-max-value.ts27export function selectMaxValueModeForTransaction(CODE
LOWui/ducks/rewards-money/selectors.ts19export function canAcceptMoneyReferralInvite(CODE
LOWui/ducks/rewards-money/selectors.ts33function countryCodeFromGeoLocation(CODE
LOWui/ducks/rewards-money/selectors.ts58export function selectMoneyReferralAllowedForGeo(CODE
LOWui/contexts/metametrics.tsx53export function resetPreviousTrackedPagePathForTesting(): void {CODE
LOWui/contexts/onboarding-trace.tsx18export function OnboardingTraceContextProvider({CODE
LOWui/contexts/transaction-modal.js53export function useTransactionModalContext() {CODE
LOWui/contexts/shield/subscriptionsPollingActions.ts13export async function subscriptionsStartPolling(): Promise<string> {CODE
LOWui/contexts/shield/shield-subscription.tsx40export function resetEvaluatedShieldCohortsForTesting(): void {CODE
LOW…exts/metamask-notifications/metamask-notifications.tsx72export function useBasicFunctionalityDisableEffect() {CODE
LOW…exts/metamask-notifications/metamask-notifications.tsx103export function useFetchInitialNotificationsEffect() {CODE
LOW…exts/metamask-notifications/metamask-notifications.tsx165export function useEnableNotificationsByDefaultEffect() {CODE
LOW…ntexts/hardware-wallets/HardwareWalletStateManager.tsx253function keyringTypeToHardwareWalletType(CODE
LOWui/contexts/hardware-wallets/webConnectionUtils.ts51export async function queryCameraPermissionWithStatus(): Promise<{CODE
2078 more matches not shown…
AI Slop Vocabulary87 hits · 264 pts
SeverityFileLineSnippetContext
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts207 // Step sizes for tick marks based on max leverageCOMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts272 // $15,000,000 for max leverage >= 25COMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts274 // $5,000,000 for max leverage in [20, 25)COMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts276 // $2,000,000 for max leverage in [10, 20)COMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts278 // $500,000 for max leverage < 10COMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts322 // Ensures accurate decimal handling in margin/leverage calculationsCOMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts330 // Fallback max leverage when market data is unavailableCOMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts332 // Most HyperLiquid assets support at least 50x leverageCOMMENT
MEDIUMui/__mocks__/perps/perps-controller/index.ts101 // Leverage threshold for warning users about high leverageCOMMENT
MEDIUMui/__mocks__/perps/perps-controller/index.ts168 // Max leverage cache duration (milliseconds)COMMENT
MEDIUMui/__mocks__/perps/perps-controller/index.ts169 // How long to cache max leverage values per asset (leverage rarely changes)COMMENT
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts208 TickStepLow: 5, // Step size when max leverage <= 20CODE
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts209 TickStepMedium: 10, // Step size when max leverage <= 50CODE
MEDIUM⚡ui/__mocks__/perps/perps-controller/index.ts210 TickStepHigh: 20, // Step size when max leverage > 50CODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts48 DefaultMaxLeverage: 3 as number, // Default fallback max leverage when market data is unavailable - conservative defauCODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts102 HighLeverageWarning: 20, // Show warning when leverage > 20xCODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts518 'https://support.metamask.io/manage-crypto/trade/perps/leverage-and-liquidation/?utm_source=extension#what-is-auto-dCODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts748 leverage?: number; // Last used leverage for this marketCODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts908 leverage?: number; // Leverage to apply for the order (e.g., 10 for 10x leverage)CODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts909 existingPositionLeverage?: number; // Existing position leverage for validation (protocol constraint)CODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts940 maxLeverage: number; // Maximum allowed leverage for this assetCODE
MEDIUMui/__mocks__/perps/perps-controller/index.ts1058 maxLeverage: number; // HyperLiquid: max leverageCODE
MEDIUM…ents/app/perps/close-position/close-position-modal.tsx520 // Omitted rather than zeroed when leverage is unknown: a real positionCOMMENT
MEDIUM…ents/app/perps/close-position/close-position-modal.tsx522 // Matches mobile, which passes `leverage?.value` through undefined.COMMENT
MEDIUMui/components/app/perps/order-entry/order-entry.tsx297 // The page classifies flips using its legacy leverage-based sizing beforeCOMMENT
MEDIUM…/components/app/perps/order-entry/order-entry.test.tsx308 // Margin = notional / leverage = $1,000 / 3 = $333.33 (fees are a separate line item)COMMENT
MEDIUM⚡…s/order-entry/components/amount-input/amount-input.tsx169 // availableBalance * leverage; rounding up (toFixed) could push the amountCOMMENT
MEDIUM⚡…s/order-entry/components/amount-input/amount-input.tsx170 // above that budget, so marginRequired (amount / leverage) exceeded theCOMMENT
MEDIUM⚡…s/order-entry/components/amount-input/amount-input.tsx173 // availableBalance * leverage, mirroring mobile's Math.floor inCOMMENT
MEDIUM…er-entry/components/amount-input/amount-input.test.tsx433 // Size $5000 with available $1000 × 10x leverage = max size $10000COMMENT
MEDIUM…er-entry/components/amount-input/amount-input.test.tsx466 // At 100% the size is availableBalance * leverage. Rounding the USD amount upCOMMENT
MEDIUM…er-entry/components/amount-input/amount-input.test.tsx467 // pushed marginRequired (amount / leverage) above the available balance by aCOMMENT
MEDIUM…r-entry/components/leverage-slider/leverage-slider.tsx125 // closure. Falls back to `leverage` (the parent-owned source of truth)COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx541 // Test a non-integer: leverage=3, entry=45000, tp=45500COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx564 // 10% RoE at leverage=10: priceChange = 10/(10*100) = 1% -> 45000 * 1.01 = 45450COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx589 // -10% RoE at leverage=10: priceChange = -10/(10*100) = -1% -> 45000 * 0.99 = 44550COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx615 // -11% RoE at leverage=10: priceChange = -11/(10*100) = -1.1% -> 45000 * 0.989 = 44505COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx640 // +10% RoE at leverage=10: priceChange = 1% -> 45000 * 1.01 = 45450COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx666 // -10% RoE at leverage=10: priceChange = -1% -> $2,000 * 0.99 = $1,980 (not $2,970)COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx693 // 10% RoE at leverage=10: priceChange = 1% -> $2,000 * 1.01 = $2,020 (not $3,030)COMMENT
MEDIUM…ponents/auto-close-section/auto-close-section.test.tsx718 // SL at $1,980 with limit entry $2,000 at 10x leverage:COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx89const positionWithTPSL = mockPositions[0]; // ETH: entry=2850, leverage=3, TP=3200.00, SL=2600.00, size=2.5 (long)CODE
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx534 // ETH: entry=2850, leverage=3 (long)COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx553 // ETH: entry=2850, leverage=3 (long)COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx695 // ETH: entry=2850, leverage=3, +50% RoE -> 2850 * (1 + 50/300) = 2850 * 1.1667 = 3325COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx711 // ETH: entry=2850, leverage=3, -50% signed RoE -> 2850 * (1 + (-50)/300) = 2850 * 0.8333 = 2375COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx727 // SOL: entry=95, leverage=10, +15% signed RoE -> 95 * (1 + 15/1000) = 95 * 1.015 = 96.425COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx769 // SOL: entry=95, leverage=10, defaulted -10% signed RoE -> 95 * 0.99 = 94.05COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx850 // SOL: entry=95, leverage=10. +25% signed RoE -> 95*(1+25/1000) = 95*1.025 = 97.375COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx865 // SOL: entry=95, leverage=10. Typing +10 (SL above entry for lock-in-profit scenario)COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx884 // SOL: entry=95, leverage=10. 011 normalizes to -11% signed RoECOMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx938 // SOL: entry=95, leverage=10COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx1230 // mockPositions[1] is BTC with size=-0.5 (short), entry=45000, leverage=15COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx1234 // BTC short: entry=45000, leverage=15COMMENT
MEDIUM…p/perps/update-tpsl/update-tpsl-modal-content.test.tsx1251 // BTC short: entry=45000, leverage=15COMMENT
MEDIUM…multichain/import-nfts-modal/import-nfts-form.test.tsx500 // Get the actual networkClientId that was used in the addNftVerifyOwnership call (use last call to be robust againsCOMMENT
MEDIUMui/hooks/perps/usePerpsOrderForm.ts106 // writer of balancePercent (slider, size input, percent field, leverage)COMMENT
MEDIUMui/hooks/perps/usePerpsOrderForm.ts384 // reset amount/leverage—only the sync above updates formState.type.COMMENT
MEDIUMui/hooks/perps/usePerpsOrderForm.ts409 // asset and mode rather than cleared on reset, because leverage belongs toCOMMENT
MEDIUMui/hooks/perps/usePerpsOrderForm.ts432 // Hydrate leverage that the form does not already have, unless the incomingCOMMENT
27 more matches not shown…
Decorative Section Separators79 hits · 246 pts
SeverityFileLineSnippetContext
MEDIUM…afety/scam-questionnaire/useScamQuestionnaire.test.tsx38// ─── Send-flow branch helpers ────────────────────────────────────────────────COMMENT
MEDIUM…afety/scam-questionnaire/useScamQuestionnaire.test.tsx91// ─── Domain-list branch helpers ──────────────────────────────────────────────COMMENT
MEDIUM…afety/scam-questionnaire/useScamQuestionnaire.test.tsx134// ─── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM…atch-sell/pages/review/batch-sell-review-page.test.tsx23// ── Hooks ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…atch-sell/pages/review/batch-sell-review-page.test.tsx40// ── Utilities ──────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…atch-sell/pages/review/batch-sell-review-page.test.tsx48// ── Redux ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…atch-sell/pages/review/batch-sell-review-page.test.tsx58// ── Router ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…atch-sell/pages/review/batch-sell-review-page.test.tsx66// ── Sub-components ─────────────────────────────────────────────────────────COMMENT
MEDIUM…atch-sell/pages/review/batch-sell-review-page.test.tsx179// ── Typed mocks ────────────────────────────────────────────────────────────COMMENT
MEDIUM…atch-sell/pages/review/batch-sell-review-page.test.tsx190// ── Default return values ──────────────────────────────────────────────────COMMENT
MEDIUM…atch-sell/pages/review/batch-sell-review-page.test.tsx235// ── renderPage helper ──────────────────────────────────────────────────────COMMENT
MEDIUM…atch-sell/pages/review/batch-sell-review-page.test.tsx263// ── Tests ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ect/components/batch-sell-empty-select-tokens.test.tsx8// ─── Dependency mocks ────────────────────────────────────────────────────────COMMENT
MEDIUM…ect/components/batch-sell-empty-select-tokens.test.tsx37// ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ect/components/batch-sell-empty-select-tokens.test.tsx61// ─── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/settings/search-config.ts134// ── Registry (auto-derived) ─────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useSecurityAlerts.test.ts56 // ─── txAlert ──────────────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useSecurityAlerts.test.ts142 // ─── securityWarnings ─────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useSecurityAlerts.test.ts309 // ─── memoization ──────────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts40 // ─── assetHasSecurityData ──────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts60 // ─── assetSecurityTrustBadgeResult ───────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts122 // ─── assetIsVerified ───────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts178 // ─── assetIsSuspicious ─────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts225 // ─── assetIsMalicious ──────────────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts262 // ─── assetSuspiciousLocalizedFeatures ─────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts397 // ─── assetMaliciousLocalizedFeatures ──────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts522 // ─── assetSuspiciousFeatures ──────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts599 // ─── assetMaliciousFeatures ───────────────────────────────────────────────COMMENT
MEDIUMui/pages/bridge/hooks/useAssetSecurityData.test.ts708 // ─── memoization ──────────────────────────────────────────────────────────COMMENT
MEDIUM…confirmations/confirmation/templates/approval-types.ts38// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…confirmations/confirmation/templates/approval-types.ts52// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ect/dapp-connection-control-bar-network-picker.spec.ts23// ── Shared helpers ─────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/mm-connect/connect-evm.spec.ts25// ── Shared fixture options ─────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts26 // ─── Filter dropdown UI ────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts55 // ─── Filter by Trades ──────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts85 // ─── Filter by Orders ─────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts114 // ─── Filter by Funding ────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts143 // ─── Filter by Deposits ───────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts172 // ─── Click transaction → transaction details ──────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-activity.spec.ts207 // ─── Recent activity section on Perps home ────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts41 // ─── Open position flows ───────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts89 // ─── Close the position ─────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts160 // ─── Close the position ─────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts186 // ─── Close position flows ──────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts373 // ─── Reverse position flows ────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts491 // ─── Margin management ─────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/tests/perps/perps-position-lifecycle.spec.ts598 // ─── Position card on home page ────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts129 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts131 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts137 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts139 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts359 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts361 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts367 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡test/e2e/page-objects/pages/test-dapp-mm-connect.ts369 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/page-objects/pages/test-dapp-mm-connect.ts28 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/page-objects/pages/test-dapp-mm-connect.ts30 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/page-objects/pages/test-dapp-mm-connect.ts79 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/page-objects/pages/test-dapp-mm-connect.ts81 // ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/page-objects/pages/test-dapp-mm-connect.ts105 // ──────────────────────────────────────────────────────────────────────────COMMENT
19 more matches not shown…
Over-Commented Block183 hits · 180 pts
SeverityFileLineSnippetContext
LOW.depcheckrc.yml21 - '@ledgerhq/device-transport-kit-web-hid'COMMENT
LOWbuilds.yml341 - METAMASK_BUILD_ICONCOMMENT
LOWbuilds.yml381 # Build-time gate: omit PerpsController and perps RPC when false (mitigation for critical failures)COMMENT
LOWbuilds.yml401 - MM_MONEY_ACTIVITY_MOCK_DATA_ENABLED: falseCOMMENT
LOWbuilds.yml421 ###COMMENT
LOW.yarnrc.yml21 # @metamask/jazzicon v2.0.0 but there is work done on that repository toCOMMENT
LOW.yarnrc.yml41COMMENT
LOWtsconfig.json1{COMMENT
LOWAGENTS.md381# Location: app/scripts/controllers/your-controller/your-controller.tsCOMMENT
LOWui/providers/perps/PerpsAttributionContext.tsx301 setUtmAttribution((prev) => ({ ...prev, ...utmContext }));COMMENT
LOWui/providers/perps/PerpsAttributionContext.tsx401 // Derive UTM from the CURRENT locationSearch at render time and union itCOMMENT
LOWui/providers/perps/README.mock.md121COMMENT
LOWui/providers/perps/README.mock.md161COMMENT
LOWui/components/app/musd/musd-events.ts301 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/components/app/musd/musd-events.ts401 // eslint-disable-next-line @typescript-eslint/naming-conventionCOMMENT
LOWui/components/app/compliance/useComplianceGate.ts61 // belongs to the currently selected address set.COMMENT
LOWui/components/app/srp-quiz-modal/types.ts1import { ButtonSize, ButtonVariant } from '../../component-library';COMMENT
LOWui/components/app/perps/perps-view.tsx241 if (successCount > 0 && failureCount > 0) {COMMENT
LOW…ts/app/perps/edit-margin/edit-margin-modal-content.tsx341 const errorMessage = result.error || 'Failed to update margin';COMMENT
LOWui/components/app/name/name-details/name-display.tsx101 name: true,COMMENT
LOW…nts/multichain/network-list-menu/network-list-menu.tsx121 // Displays the search box and network listCOMMENT
LOW…ponents/multichain/token-list-item/token-list-item.tsx161 const { trackEvent, createEventBuilder } = useAnalytics();COMMENT
LOW…hain/network-manager/hooks/useNetworkChangeHandlers.ts41 ADD_EDIT,COMMENT
LOWui/hooks/shield/metrics/utils.ts41 default_payment_type: params.defaultPaymentType,COMMENT
LOWui/hooks/bridge/useRewards.test.ts321 // }COMMENT
LOWui/hooks/bridge/useRewards.test.ts341 // );COMMENT
LOWui/hooks/bridge/useRewards.test.ts361 // }COMMENT
LOW…ch-sell/pages/review/utils/buildQuoteRequestContext.ts41 stx_enabled: smartTransactionsEnabled,COMMENT
LOWui/pages/bridge/prepare/prepare-bridge-page.tsx621 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/pages/bridge/quotes/bridge-quotes-modal.tsx81 {COMMENT
LOW…ges/bridge/awaiting-signatures/awaiting-signatures.tsx61 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/pages/perps/perps-order-entry-page.tsx801 // default emit CONSIDERED with no new size interaction.COMMENT
LOWui/pages/perps/perps-order-entry-page.tsx821 // percentage/max), reported from AmountInput's per-control handlers (attributedCOMMENT
LOWui/pages/perps/perps-order-entry-page.tsx1201 // Oracle mark price from HyperLiquid's activeAssetCtx feed (oraclePx).COMMENT
LOWui/pages/perps/perps-withdraw-page.tsx321 AccountState | undefinedCOMMENT
LOWui/pages/perps/perps-withdraw-page.tsx361COMMENT
LOWui/pages/perps/perps-withdraw-page.tsx381 // Without this the button would just re-enable and the click would lookCOMMENT
LOWui/pages/perps/perps-market-detail-page.tsx781 [COMMENT
LOWui/pages/perps/perps-market-detail-page.tsx801 // (e.g., "BTC-1h", "BTC-15m") since they are different data sets.COMMENT
LOW…confirmations/confirmation/templates/approval-types.ts41// A TypeScript error on `AssertApprovalTypesMatchTemplates` means the arrayCOMMENT
LOW…ts/transactions/useInsufficientPayTokenBalanceAlert.ts301 balanceUsd,COMMENT
LOW…ts/transactions/useInsufficientPayTokenBalanceAlert.ts321 // Suppress for deposit *and* withdraw, unconditionally, mirroringCOMMENT
LOW…/confirmations/hooks/transactions/useDepositPrefill.ts261 }COMMENT
LOW…firmations/hooks/transactions/useTransactionConfirm.ts101 return false;COMMENT
LOW…firmations/hooks/transactions/useTransactionConfirm.ts121 // the 7702 publish hook; clearing the flag here made the hook skip andCOMMENT
LOW…ware-wallets/swap/hooks/useHardwareWalletSignatures.ts201 // Set to true when the device has been in an awaiting-signature state forCOMMENT
LOW…ware-wallets/swap/hooks/useHardwareWalletSignatures.ts441 retrySendBundleSubmission,COMMENT
LOW…cation-components/types/notifications/notifications.ts41 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/helpers/constants/design-system.ts21 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/helpers/constants/design-system.ts41 borderMuted = 'border-muted',COMMENT
LOWui/helpers/constants/design-system.ts61 // eslint-disable-next-line @typescript-eslint/naming-conventionCOMMENT
LOWui/helpers/constants/design-system.ts81 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/helpers/constants/design-system.ts101 goerli = 'goerli',COMMENT
LOWui/helpers/constants/design-system.ts121 // eslint-disable-next-line @typescript-eslint/naming-conventionCOMMENT
LOWui/helpers/constants/design-system.ts141 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/helpers/constants/design-system.ts161 backgroundSubsection = 'background-subsection',COMMENT
LOWui/helpers/constants/design-system.ts181 // eslint-disable-next-line @typescript-eslint/naming-conventionCOMMENT
LOWui/helpers/constants/design-system.ts201 // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31860COMMENT
LOWui/helpers/constants/design-system.ts221 mainnet = 'mainnet',COMMENT
LOWui/helpers/constants/design-system.ts241 // eslint-disable-next-line @typescript-eslint/naming-conventionCOMMENT
123 more matches not shown…
Fake / Example Data92 hits · 110 pts
SeverityFileLineSnippetContext
LOWui/index.test.js130 socialLoginEmail: 'test@test.com',CODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js25 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js25 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js32 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js32 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js39 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js39 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js46 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW⚡ui/components/ui/info-tooltip/info-tooltip.stories.js46 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut gravida dictum diam et sagittis. Sed lorem arcu, consecCODE
LOW…ts/ui/actionable-message/actionable-message.stories.js34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOW…ts/ui/actionable-message/actionable-message.stories.js34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magCODE
LOWui/components/ui/popover/popover.stories.js74 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodCODE
LOWui/components/ui/popover/popover.stories.js74 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodCODE
LOWui/components/ui/textarea/textarea.test.js13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conseCODE
LOWui/components/ui/textarea/textarea.test.js13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conseCODE
LOWui/components/ui/textarea/textarea.stories.js71 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conseCODE
LOWui/components/ui/textarea/textarea.stories.js71 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporld, Lorem ipsum dolor sit amet, conseCODE
LOW…omponents/ui/nickname-popover/nickname-popover.test.js29 nickname="John Doe"CODE
LOW…pp/deprecated-network-modal/DeprecatedNetworkModal.tsx47 key="import-token-fake-token-warning"CODE
LOW…p/alert-system/general-alert/general-alert.stories.tsx8 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien tellus, elementum sit ' +CODE
LOW…p/alert-system/general-alert/general-alert.stories.tsx8 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien tellus, elementum sit ' +CODE
LOWui/components/app/snaps/copyable/copyable.stories.js34 text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ultrices arcu quis lorem luctus, consequat vulpCODE
LOWui/components/app/snaps/copyable/copyable.stories.js34 text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ultrices arcu quis lorem luctus, consequat vulpCODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx23 text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx23 text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx25 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx25 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx30 text: 'Lorem ipsum dolor sit amet.',CODE
LOW⚡ui/components/app/confirm/info/row/text.stories.tsx30 text: 'Lorem ipsum dolor sit amet.',CODE
LOW…/components/app/perps/order-entry/order-entry.test.tsx697 expect(input).toHaveAttribute('placeholder', 'min $10');CODE
LOW…/components/app/perps/order-entry/order-entry.test.tsx708 expect(input).toHaveAttribute('placeholder', '0.00');CODE
LOW…er-entry/components/amount-input/amount-input.test.tsx193 expect(input).toHaveAttribute('placeholder', '0.00');CODE
LOW…er-entry/components/amount-input/amount-input.test.tsx924 expect(input).toHaveAttribute('placeholder', 'min $10');CODE
LOW⚡…ification-list-item/notification-list-item.stories.tsx39 text: 'Lorem ipsum',CODE
LOW⚡…ification-list-item/notification-list-item.stories.tsx42 text: 'dolor sit amet',CODE
LOW⚡…ification-list-item/notification-list-item.stories.tsx51 text: 'Lorem Ipsum is simply dummy text of the printing and',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx40 text: 'Lorem ipsum',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx43 text: 'dolor sit amet',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx114 text: 'Lorem ipsum',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx117 text: 'dolor sit amet',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx128 text: 'Lorem ipsum',CODE
LOW…list-item-text/notification-list-item-text.stories.tsx131 text: 'dolor sit amet',CODE
LOW…onent-library/form-text-field/form-text-field.test.tsx218 'placeholder',CODE
LOW…ents/component-library/container/container.stories.tsx19 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam aliquam, nisl eget aliquam ultrices, nunc nunc alCODE
LOW…ents/component-library/container/container.stories.tsx19 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam aliquam, nisl eget aliquam ultrices, nunc nunc alCODE
LOW⚡…ponents/component-library/container/container.test.tsx28 Small breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/component-library/container/container.test.tsx28 Small breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/component-library/container/container.test.tsx38 Medium breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/component-library/container/container.test.tsx38 Medium breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/component-library/container/container.test.tsx48 Large breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/component-library/container/container.test.tsx48 Large breakpoint: Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW…ponent-library/select-button/select-button.stories.tsx29 description: 'Lorem ipsum Lorem ipsum',CODE
LOWui/components/component-library/modal/modal.stories.tsx69 Lorem ipsum dolor sit amet, conse{' '}CODE
LOWui/components/component-library/modal/modal.stories.tsx69 Lorem ipsum dolor sit amet, conse{' '}CODE
LOW…action-shield/claims-form/claims-form.metrics.test.tsx82 email: 'user@example.com',CODE
LOW…onboarding-flow-switch/onboarding-flow-switch.test.tsx303 socialLoginEmail: 'user@example.com',CODE
LOW…w/account-status-layout/account-status-layout.test.tsx10 descriptionInterpolation: ['user@example.com'],CODE
LOW…boarding-flow/create-password/create-password.test.tsx1335 socialLoginEmail: 'user@example.com',CODE
LOW…boarding-flow/create-password/create-password.test.tsx1446 socialLoginEmail: 'user@example.com',CODE
LOW…ket-list/components/search-input/search-input.test.tsx42 expect(input).toHaveAttribute('placeholder');CODE
32 more matches not shown…
Structural Annotation Overuse26 hits · 50 pts
SeverityFileLineSnippetContext
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts86 // Step 1: Check WebHID availabilityCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts95 // Step 2: Check if device is physically connectedCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts105 // Step 3: Check if device is unlocked. This is only for Nano S and Nano X because thereCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts114 // Step 4: Attempt to create a transport for the deviceCOMMENT
LOWui/providers/perps/README.mock.md126### Step 1: Update `ui/providers/perps/index.ts`COMMENT
LOWui/providers/perps/README.mock.md162### Step 2: Update `ui/hooks/perps/stream/index.ts`COMMENT
LOWui/providers/perps/README.mock.md192### Step 3: That's it!COMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx598 // Step 1: type "0" — partial; USD clears but field keeps "0"COMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx603 // Step 2: type "0." — field keeps "0."COMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx607 // Step 3: type "0.5" — field shows "0.5" and USD is computedCOMMENT
LOW.cursor/commands/CODEBOT.md73### Step 1: Get Changed Files and DiffsCOMMENT
LOW.cursor/commands/CODEBOT.md95### Step 2: Categorize Files by TypeCOMMENT
LOW.cursor/commands/CODEBOT.md108### Step 3: Load Applicable GuidelinesCOMMENT
LOW.cursor/commands/CODEBOT.md133### Step 4: Analyze Only the Changed LinesCOMMENT
LOW.cursor/commands/CODEBOT.md380### Step 5: Generate ReportCOMMENT
LOW.cursor/commands/CODEBOT.md465### Step 6: Generate PR DescriptionCOMMENT
LOW.cursor/commands/CODEBOT.md528### Step 7: Final Verification (MANDATORY - Internal Only)COMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts66 // Step 1: Fetch PR informationCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts73 // Step 2: Categorize filesCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts83 // Step 3: Analyze with LLM (with fallback: GPT-5 → Claude → Gemini)COMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts197 // Step 4: Build testing planCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts205 // Step 5: Validate output qualityCOMMENT
LOW…e-testing-ai-analyzer/generate-release-testing-plan.ts217 // Step 6: Output resultsCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts41 // Step 1: Click connect account button in TestDAppCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts44 // Step 2: Handle Dialog interactionCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts50 // Step 3: Switch back to TestDApp and verify if neededCOMMENT
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICAL…s/hardware-wallets/HardwareWalletStateManager.test.tsx177 result.current.refs.ensureDeviceReadyPromiseRef.current.set(CODE
CRITICALapp/scripts/lib/badge/badge-manager.test.ts189 extensionBrowser.action.setBadgeBackgroundColor.mock.calls.at(-1)?.[0]CODE
CRITICALtest/e2e/send-eth-with-private-key-test/web3js.js2"use strict";var _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:functCODE
CRITICALdevelopment/webpack/test/dev-server.test.ts611 devServer.webSocketServer.implementation.on.mock.callCount(),CODE
Verbosity Indicators16 hits · 35 pts
SeverityFileLineSnippetContext
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts86 // Step 1: Check WebHID availabilityCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts95 // Step 2: Check if device is physically connectedCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts105 // Step 3: Check if device is unlocked. This is only for Nano S and Nano X because thereCOMMENT
LOW⚡ui/contexts/hardware-wallets/adapters/LedgerAdapter.ts114 // Step 4: Attempt to create a transport for the deviceCOMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx598 // Step 1: type "0" — partial; USD clears but field keeps "0"COMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx603 // Step 2: type "0." — field keeps "0."COMMENT
LOW⚡…er-entry/components/amount-input/amount-input.test.tsx607 // Step 3: type "0.5" — field shows "0.5" and USD is computedCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts66 // Step 1: Fetch PR informationCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts73 // Step 2: Categorize filesCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts83 // Step 3: Analyze with LLM (with fallback: GPT-5 → Claude → Gemini)COMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts197 // Step 4: Build testing planCOMMENT
LOW⚡…e-testing-ai-analyzer/generate-release-testing-plan.ts205 // Step 5: Validate output qualityCOMMENT
LOW…e-testing-ai-analyzer/generate-release-testing-plan.ts217 // Step 6: Output resultsCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts41 // Step 1: Click connect account button in TestDAppCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts44 // Step 2: Handle Dialog interactionCOMMENT
LOW⚡test/e2e/page-objects/flows/test-dapp.flow.ts50 // Step 3: Switch back to TestDApp and verify if neededCOMMENT
Synthetic Comment Markers3 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…onfirmations/hooks/send/useEnsureAccountGroupAssets.ts80 // loader marks a group as requested for the whole session, so kicking off aCOMMENT
HIGHdevelopment/metamaskbot-build-announce/test-plan.ts224 md += `*Generated by AI Test Plan Analyzer (${plan.modelUsed}) at ${plan.generatedAt}*\n\n`;CODE
HIGHdevelopment/metamaskbot-build-announce/index.ts98 // Add AI-generated test plan section when a test plan was generated.COMMENT
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOWdevelopment/generate-attributions.sh49 # Check if the script is running in a CI environment (GitHub Actions sets the CI variable to true)COMMENT
LOW.github/workflows/block-stable-main-to-main.yml23 # Check if source branch matches exact pattern: stable-main-X.Y.ZCOMMENT
LOW.github/workflows/block-stable-sync-to-release.yml22 # Check if source branch matches stable-sync-* targeting release/X.Y.ZCOMMENT
LOW.github/workflows/tag-release-branch.yml86 # Check if there's a GitHub release for this tagCOMMENT
LOW.github/scripts/bundle-stats-commit.sh49# Check if the SHA already exists in the stats fileCOMMENT
LOW.github/scripts/release-create-gh-release.sh52 # Check if tag already exists via APICOMMENT
LOW.github/scripts/release-create-gh-release.sh133# Check if release already exists (idempotency + SHA verification)COMMENT
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…s/metamask-notifications/useNotificationPreferences.ts172 // TODO: type casting until agentic cli preferences are not optional (next release)COMMENT
MEDIUM…tifications-settings/notification-settings-section.tsx404 // TODO: type casting until agentic cli preferences are not optional (next release)COMMENT
MEDIUM.github/scripts/adjust-cws-rollout-guardrails.sh2# INFRA-3651 — evaluate rollout guardrails; report every violation before exit.COMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/tag-release-branch.yml186 # Create main tag if neededCOMMENT
MEDIUM.github/scripts/release-create-gh-release.sh122# Create main release tagCOMMENT
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHui/helpers/utils/util.test.js193 it('should return None when given nothing', () => {CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMtest/e2e/seeder/tron/java-tron-config.ts41 # if you find block sync has lower performance,you can try this settingsCOMMENT
LOWtest/e2e/tests/state-persistence/helpers.ts209 delete storage['temp-cronjob-storage']; // <- don't forget to delete this line if you remove temp-cronjob-storageCODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…unt-network-group/multichain-account-network-group.tsx108 // TODO: Add test network filtering logic hereCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.github/scripts/publish-firefox-reviewer-artifacts.sh4# Usage:COMMENT