{"path":"NexusReader.Application/Abstractions/Services/IEpubMetadataExtractor.cs","purpose":"Defines an application-layer abstraction for extracting metadata from an EPUB stream, returning a Result-wrapped LocalEpubMetadata asynchronously.","classification":{"role":"service","layer":"application","confidence":0.8,"evidence":["Service naming pattern","Application/service path heuristic","Namespace: NexusReader.Application.Abstractions.Services","Public interface named IEpubMetadataExtractor used to extract EPUB metadata","References FluentResults and a LocalEpubMetadata result type"]},"className":"IEpubMetadataExtractor","methods":[{"name":"ExtractMetadataAsync","line":9,"endLine":10,"signature":"(epubStream: Stream) -> Task>","purpose":"Asynchronously extracts metadata from the provided EPUB stream and returns it wrapped in a FluentResults Result.","calls":[],"actions":[]}],"types":[],"serviceRegistrations":[],"startupActions":[],"dependencies":["FluentResults (NuGet/namespace)","NexusReader.Application.Queries.Reader (namespace containing LocalEpubMetadata)","System.IO (Stream)"],"patterns":["Service Interface","Dependency Inversion"],"domainConcepts":["Epub","Metadata"],"keyDetails":"Interface exposes a single async method returning Task>; implementation responsibilities include stream parsing and error/result handling via FluentResults.","orchestrationMethods":[],"typedContracts":[],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"878d9a601b0bd9cc8c9adf63050c9eb5ba3050028ed89f190e45f896f3cddf94","sourceByteSize":274,"analyzedAt":"2026-05-23T16:19:00.585Z","technology":"dotnet"}}