{
  "version": 1,
  "fileId": "file:veuxa3:ebookrepository-cs",
  "fingerprint": "u5v6o6",
  "path": "NexusReader.Infrastructure/Persistence/EbookRepository.cs",
  "absolutePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Persistence/EbookRepository.cs",
  "shortLabel": "EbookRepository",
  "longLabel": "NexusReader.Infrastructure/Persistence/EbookRepository.cs",
  "purpose": "EF Core implementation of the IEbookRepository providing data access for Ebook and Author entities; contains search, add and save operations with provider-specific behavior for case-insensitive author lookup.",
  "classification": {
    "role": "repository",
    "layer": "infrastructure",
    "confidence": 0.85,
    "evidence": [
      "Repository naming pattern",
      "Namespace NexusReader.Infrastructure.Persistence",
      "Implements IEbookRepository and uses AppDbContext",
      "Performs Add and Save operations against DbContext"
    ]
  },
  "className": "EbookRepository",
  "domainConcepts": [
    "Author",
    "Ebook"
  ],
  "patterns": [
    "Repository"
  ],
  "keyDetails": "Uses provider-aware case-insensitive matching (Postgres ILike vs ToLower fallback). Newly added ebooks are explicitly marked IsReadyForReading = false before being added to the context.",
  "coverage": {
    "symbolCount": 7,
    "executableSymbolCount": 5,
    "executableSymbolsWithControlFlowCount": 5,
    "groundedEdgeCount": 11,
    "unresolvedReferenceCount": 7,
    "controlFlowFragmentCount": 5,
    "unresolvedJumpCount": 5,
    "unsupportedConstructCount": 0,
    "controlFlowCoverage": 1,
    "requiredDiagramCount": 2,
    "generatedDiagramCount": 6,
    "missingRequiredDiagramCount": 0
  }
}