{
  "item_type": "subsection",
  "chapter_id": "analysis-guide",
  "subsection_id": "analyzer-types",
  "subsection_title": "Analyzer Types",
  "subsection_file": "book/src/analysis-guide/analyzer-types.md",
  "feature_mappings": [],
  "drift_detected": true,
  "severity": "medium",
  "quality_assessment": "Documentation is well-structured and accurate in describing Rust-only support (per spec 191), but contains outdated source line references that no longer match the current codebase",
  "issues": [
    {
      "type": "outdated_information",
      "severity": "medium",
      "section": "Overview",
      "description": "Source reference 'src/core/mod.rs:376-377' is incorrect. The Language enum and Rust-only support documentation is at different lines.",
      "current_content": "**Source**: As documented in src/core/mod.rs:376-377 and src/core/injection.rs:198-200",
      "should_be": "**Source**: Language enum at src/core/mod.rs:416-421, AnalyzerFactory at src/core/injection.rs:190-203",
      "fix_suggestion": "Update source reference to use correct line numbers",
      "source_reference": "src/core/mod.rs:416-421"
    },
    {
      "type": "outdated_information",
      "severity": "medium",
      "section": "Language Support > Supported: Rust Only",
      "description": "Source reference 'src/core/mod.rs:386-391' for Language detection from_path function is incorrect. The actual from_path function is at lines 435-440.",
      "current_content": "**Language Detection** (src/core/mod.rs:386-391)",
      "should_be": "**Language Detection** (src/core/mod.rs:435-440)",
      "fix_suggestion": "Update line reference from 386-391 to 435-440",
      "source_reference": "src/core/mod.rs:435-440"
    },
    {
      "type": "outdated_information",
      "severity": "medium",
      "section": "Language Support > Supported: Rust Only",
      "description": "Source reference 'src/core/mod.rs:368-372' for Language enum is incorrect. The actual Language enum is at lines 416-421.",
      "current_content": "The `Language` enum (src/core/mod.rs:368-372)",
      "should_be": "The `Language` enum (src/core/mod.rs:416-421)",
      "fix_suggestion": "Update line reference from 368-372 to 416-421",
      "source_reference": "src/core/mod.rs:416-421"
    },
    {
      "type": "outdated_information",
      "severity": "low",
      "section": "File Filtering Behavior",
      "description": "Source reference 'src/core/mod.rs:375-391' is outdated. The actual implementation spans lines 423-440.",
      "current_content": "**Source**: Language detection implemented in src/core/mod.rs:375-391",
      "should_be": "**Source**: Language detection implemented in src/core/mod.rs:423-440",
      "fix_suggestion": "Update line reference from 375-391 to 423-440",
      "source_reference": "src/core/mod.rs:423-440"
    },
    {
      "type": "outdated_information",
      "severity": "low",
      "section": "Extensibility > Analyzer Trait",
      "description": "Source reference 'src/analyzers/mod.rs:39-43' is slightly off. The actual Analyzer trait is at lines 40-44.",
      "current_content": "(src/analyzers/mod.rs:39-43)",
      "should_be": "(src/analyzers/mod.rs:40-44)",
      "fix_suggestion": "Update line reference from 39-43 to 40-44",
      "source_reference": "src/analyzers/mod.rs:40-44"
    },
    {
      "type": "outdated_information",
      "severity": "low",
      "section": "Extensibility > Adding Language Support (Future)",
      "description": "Multiple line references in the 'Adding Language Support' steps are outdated",
      "current_content": "References to lines 368-372, 375-384, 196-201",
      "should_be": "Language enum at 416-421, from_extension at 423-433, AnalyzerFactory at 190-203",
      "fix_suggestion": "Update all line references in this section to match current source code locations",
      "source_reference": "src/core/mod.rs, src/core/injection.rs"
    }
  ],
  "positive_aspects": [
    "Accurate and clear description of Rust-only analysis focus per specification 191",
    "Correctly explains Python as an 'Architectural placeholder, not supported'",
    "Clear explanation of the Analyzer trait interface and its purpose",
    "Good code examples showing Language enum and from_path implementation that match actual code",
    "Comprehensive coverage of semantic function classification categories",
    "Well-organized extensibility section for future language additions",
    "Valid internal links to related documentation (overview.md, complexity-metrics.md, risk-scoring.md)",
    "Clear usage examples demonstrating debtmap CLI commands",
    "Helpful note distinguishing between two Analyzer traits in the codebase"
  ],
  "improvement_suggestions": [
    "Update all source line references to match current codebase (approximately 48-line offset shift)",
    "Consider removing line number references in favor of function/type names only, as line numbers drift frequently",
    "Add note about the core/types.rs Language enum which also exists alongside core/mod.rs version"
  ],
  "cross_references": [
    "overview",
    "complexity-metrics",
    "risk-scoring"
  ],
  "metadata": {
    "analyzed_at": "2025-12-27T08:40:00Z",
    "feature_inventory": ".prodigy/book-analysis/features.json",
    "topics_covered": [
      "Supported languages",
      "Language detection",
      "Analyzer capabilities",
      "Semantic classification",
      "Extensibility"
    ],
    "validation_focus": "Check analyzer type documentation is current",
    "internal_links_validated": true,
    "all_internal_links_valid": true,
    "previous_report_obsolete": true,
    "previous_issues_resolved": [
      "Python/JavaScript/TypeScript references - documentation now correctly states Rust-only",
      "Contradictory 'Unsupported Languages' section - documentation now consistent"
    ]
  }
}
