defaults property

Map<String, AnalyzerConfidence> get defaults

Implementation

static Map<String, AnalyzerConfidence> get defaults => {
  // Project Analyzer
  'FD101': const AnalyzerConfidence(
    code: 'FD101',
    confidence: 1.0,
    reasoning: 'Deterministic YAML parse check',
  ),
  'FD102': const AnalyzerConfidence(
    code: 'FD102',
    confidence: 0.95,
    reasoning: 'Filesystem check — low FP risk',
  ),
  'FD103': const AnalyzerConfidence(
    code: 'FD103',
    confidence: 0.95,
    reasoning: 'Filesystem check — low FP risk',
  ),
  'FD104': const AnalyzerConfidence(
    code: 'FD104',
    confidence: 0.95,
    reasoning: 'Filesystem check — low FP risk',
  ),
  'FD105': const AnalyzerConfidence(
    code: 'FD105',
    confidence: 0.90,
    reasoning: 'Filesystem check — web directory optional',
  ),
  'FD106': const AnalyzerConfidence(
    code: 'FD106',
    confidence: 0.90,
    reasoning: 'YAML constraint parse — semantic versioning',
  ),
  // Dependency Analyzer
  'FD201': const AnalyzerConfidence(
    code: 'FD201',
    confidence: 1.0,
    reasoning: 'Deterministic YAML dependency check',
  ),
  'FD202': const AnalyzerConfidence(
    code: 'FD202',
    confidence: 1.0,
    reasoning: 'Deterministic version comparison',
  ),
  'FD203': const AnalyzerConfidence(
    code: 'FD203',
    confidence: 0.85,
    reasoning: 'Recommended dependency — project may not need analytics',
  ),
  'FD204': const AnalyzerConfidence(
    code: 'FD204',
    confidence: 0.85,
    reasoning: 'Recommended dependency — project may not need Firestore',
  ),
  'FD205': const AnalyzerConfidence(
    code: 'FD205',
    confidence: 0.85,
    reasoning: 'Recommended dependency — project may not need Auth',
  ),
  // Firebase Core Analyzer
  'FD301': const AnalyzerConfidence(
    code: 'FD301',
    confidence: 1.0,
    reasoning: 'Deterministic code pattern match for initializeApp',
  ),
  'FD302': const AnalyzerConfidence(
    code: 'FD302',
    confidence: 0.95,
    reasoning: 'Options presence check — low FP risk',
  ),
  'FD303': const AnalyzerConfidence(
    code: 'FD303',
    confidence: 0.85,
    reasoning: 'Main function heuristic — init could be in helper',
  ),
  'FD304': const AnalyzerConfidence(
    code: 'FD304',
    confidence: 0.90,
    reasoning: 'Multiple init detection — reliable pattern match',
  ),
  'FD305': const AnalyzerConfidence(
    code: 'FD305',
    confidence: 0.80,
    reasoning: 'Conditional init heuristic — complex code paths',
  ),
  'FD306': const AnalyzerConfidence(
    code: 'FD306',
    confidence: 0.85,
    reasoning: 'Platform channel init — pattern match',
  ),
  // Android Analyzer
  'FD401': const AnalyzerConfidence(
    code: 'FD401',
    confidence: 1.0,
    reasoning: 'Deterministic filesystem check',
  ),
  'FD402': const AnalyzerConfidence(
    code: 'FD402',
    confidence: 1.0,
    reasoning: 'Deterministic build.gradle parse',
  ),
  'FD403': const AnalyzerConfidence(
    code: 'FD403',
    confidence: 1.0,
    reasoning: 'Deterministic build.gradle plugin parse',
  ),
  'FD404': const AnalyzerConfidence(
    code: 'FD404',
    confidence: 1.0,
    reasoning: 'Deterministic minSdkVersion parse',
  ),
  'FD405': const AnalyzerConfidence(
    code: 'FD405',
    confidence: 1.0,
    reasoning: 'Deterministic compileSdkVersion parse',
  ),
  'FD406': const AnalyzerConfidence(
    code: 'FD406',
    confidence: 1.0,
    reasoning: 'Deterministic targetSdkVersion parse',
  ),
  'FD407': const AnalyzerConfidence(
    code: 'FD407',
    confidence: 0.95,
    reasoning: 'Play services version — minor parse ambiguity',
  ),
  'FD408': const AnalyzerConfidence(
    code: 'FD408',
    confidence: 0.85,
    reasoning: 'Build config recommendation — heuristic',
  ),
  'FD409': const AnalyzerConfidence(
    code: 'FD409',
    confidence: 1.0,
    reasoning: 'Deterministic filesystem check',
  ),
  'FD410': const AnalyzerConfidence(
    code: 'FD410',
    confidence: 0.90,
    reasoning: 'AndroidX detection — build.gradle parse',
  ),
  // iOS Analyzer
  'FD501': const AnalyzerConfidence(
    code: 'FD501',
    confidence: 1.0,
    reasoning: 'Deterministic filesystem check',
  ),
  'FD502': const AnalyzerConfidence(
    code: 'FD502',
    confidence: 0.95,
    reasoning: 'Podfile parse — minor edge cases',
  ),
  'FD503': const AnalyzerConfidence(
    code: 'FD503',
    confidence: 0.85,
    reasoning: 'Bundle ID comparison across files',
  ),
  'FD504': const AnalyzerConfidence(
    code: 'FD504',
    confidence: 0.95,
    reasoning: 'Xcode project target parse',
  ),
  'FD505': const AnalyzerConfidence(
    code: 'FD505',
    confidence: 0.95,
    reasoning: 'iOS version parse from Podfile',
  ),
  'FD506': const AnalyzerConfidence(
    code: 'FD506',
    confidence: 0.85,
    reasoning: 'Swift/ObjC bridging detection',
  ),
  'FD507': const AnalyzerConfidence(
    code: 'FD507',
    confidence: 0.90,
    reasoning: 'Plist background mode parse',
  ),
  'FD508': const AnalyzerConfidence(
    code: 'FD508',
    confidence: 0.95,
    reasoning: 'Signing capability detection',
  ),
  'FD509': const AnalyzerConfidence(
    code: 'FD509',
    confidence: 0.95,
    reasoning: 'Platform version in Podfile',
  ),
  'FD510': const AnalyzerConfidence(
    code: 'FD510',
    confidence: 0.85,
    reasoning: 'Push capability detection',
  ),
  'FD511': const AnalyzerConfidence(
    code: 'FD511',
    confidence: 0.90,
    reasoning: 'ATS plist configuration',
  ),
  'FD512': const AnalyzerConfidence(
    code: 'FD512',
    confidence: 0.90,
    reasoning: 'Delegate proxy plist detection',
  ),
  // FCM Analyzer
  'FD600': const AnalyzerConfidence(
    code: 'FD600',
    confidence: 1.0,
    reasoning: 'Deterministic dependency check',
  ),
  'FD601': const AnalyzerConfidence(
    code: 'FD601',
    confidence: 0.85,
    reasoning: 'Dart code pattern match — false positive risk from comments',
  ),
  'FD602': const AnalyzerConfidence(
    code: 'FD602',
    confidence: 0.85,
    reasoning: 'Permission code pattern — may miss dynamic permission flows',
  ),
  'FD603': const AnalyzerConfidence(
    code: 'FD603',
    confidence: 0.85,
    reasoning: 'Background handler pattern — may miss named function refs',
  ),
  'FD604': const AnalyzerConfidence(
    code: 'FD604',
    confidence: 0.90,
    reasoning: 'Plist delegate proxy flag',
  ),
  'FD605': const AnalyzerConfidence(
    code: 'FD605',
    confidence: 0.85,
    reasoning: 'Token refresh pattern — may miss wrapped calls',
  ),
  // Crashlytics Analyzer
  'FD700': const AnalyzerConfidence(
    code: 'FD700',
    confidence: 1.0,
    reasoning: 'Deterministic dependency check',
  ),
  'FD701': const AnalyzerConfidence(
    code: 'FD701',
    confidence: 0.95,
    reasoning: 'Crashlytics init pattern match',
  ),
  'FD702': const AnalyzerConfidence(
    code: 'FD702',
    confidence: 0.85,
    reasoning: 'Error reporting pattern — heuristic',
  ),
  'FD703': const AnalyzerConfidence(
    code: 'FD703',
    confidence: 0.80,
    reasoning: 'Catch block analysis — complex coverage',
  ),
  'FD704': const AnalyzerConfidence(
    code: 'FD704',
    confidence: 0.90,
    reasoning: 'NDK build.gradle detection',
  ),
  'FD705': const AnalyzerConfidence(
    code: 'FD705',
    confidence: 0.90,
    reasoning: 'Debug disable pattern detection',
  ),
  'FD706': const AnalyzerConfidence(
    code: 'FD706',
    confidence: 0.80,
    reasoning: 'Test crash path — heuristic',
  ),
  'FD707': const AnalyzerConfidence(
    code: 'FD707',
    confidence: 0.90,
    reasoning: 'Upload symbols build.gradle detection',
  ),
  'FD708': const AnalyzerConfidence(
    code: 'FD708',
    confidence: 0.80,
    reasoning: 'User ID pattern — heuristic',
  ),
  'FD709': const AnalyzerConfidence(
    code: 'FD709',
    confidence: 0.90,
    reasoning: 'SDK version comparison — minor edge cases',
  ),
};