| GistBackend | 1334 | 592 | 1926 | 4314 | 69.2% | | 274 | 572 | 47.9% | |
| GistBackend.Controllers.GistsController | 40 | 48 | 88 | 199 | 45.4% | | 9 | 38 | 23.6% | |
| GistBackend.Exceptions.DatabaseOperationException | 1 | 0 | 1 | 3 | 100% | | 0 | 0 | | |
| GistBackend.Exceptions.ExternalServiceException | 0 | 4 | 4 | 12 | 0% | | 0 | 0 | | |
| GistBackend.Exceptions.ExtractingEntryTextException | 0 | 1 | 1 | 3 | 0% | | 0 | 0 | | |
| GistBackend.Exceptions.FeedNotFoundException | 1 | 0 | 1 | 3 | 100% | | 0 | 0 | | |
| GistBackend.Exceptions.ParsingFeedException | 0 | 1 | 1 | 3 | 0% | | 0 | 0 | | |
| GistBackend.Exceptions.UnexpectedMessagesException | 0 | 1 | 1 | 3 | 0% | | 0 | 0 | | |
| GistBackend.Handlers.AIHandler.AIHandler | 10 | 21 | 31 | 87 | 32.2% | | 2 | 10 | 20% | |
| GistBackend.Handlers.AIHandler.AIHandlerOptions | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.AIHandler.EmbeddingClientHandler | 0 | 13 | 13 | 36 | 0% | | 0 | 4 | 0% | |
| GistBackend.Handlers.AIHandler.EmbeddingClientHandlerOptions | 2 | 1 | 3 | 8 | 66.6% | | 0 | 0 | | |
| GistBackend.Handlers.AIHandler.RecapRequest | 0 | 1 | 1 | 87 | 0% | | 0 | 0 | | |
| GistBackend.Handlers.AIHandler.SummarizeRequest | 0 | 1 | 1 | 87 | 0% | | 0 | 0 | | |
| GistBackend.Handlers.AIHandler.SummaryForRecap | 0 | 1 | 1 | 87 | 0% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.ChromaDbHandler | 166 | 15 | 181 | 322 | 91.7% | | 53 | 72 | 73.6% | |
| GistBackend.Handlers.ChromaDbHandler.ChromaDbHandlerOptions | 7 | 0 | 7 | 12 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.Collection | 3 | 1 | 4 | 6 | 75% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.CollectionDefinition | 2 | 0 | 2 | 15 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.Document | 5 | 0 | 5 | 7 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.Metadata | 5 | 0 | 5 | 7 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.MetadataConfiguration | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.ChromaDbHandler.QueryResponse | 5 | 0 | 5 | 7 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.DateTimeHandler | 1 | 0 | 1 | 11 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.MariaDbHandler.DatabaseRetryExtensions | 8 | 4 | 12 | 29 | 66.6% | | 0 | 2 | 0% | |
| GistBackend.Handlers.MariaDbHandler.MariaDbHandler | 403 | 91 | 494 | 939 | 81.5% | | 64 | 134 | 47.7% | |
| GistBackend.Handlers.MariaDbHandler.MariaDbHandlerOptions | 15 | 1 | 16 | 29 | 93.7% | | 3 | 6 | 50% | |
| GistBackend.Handlers.MariaDbHandler.TransactionHandle | 7 | 0 | 7 | 16 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.MariaDbHandler.UriTypeHandler | 2 | 0 | 2 | 13 | 100% | | 3 | 6 | 50% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.ArsTechnicaTechnologyLab | 1 | 14 | 15 | 39 | 6.6% | | 0 | 6 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.BleepingComputer | 1 | 19 | 20 | 47 | 5% | | 0 | 8 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.DarkReading | 0 | 21 | 21 | 57 | 0% | | 0 | 10 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.GDATASecurityBlogEnglish | 0 | 13 | 13 | 37 | 0% | | 0 | 4 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.GDATASecurityBlogGerman | 0 | 13 | 13 | 36 | 0% | | 0 | 4 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.GolemSecurity | 1 | 21 | 22 | 54 | 4.5% | | 0 | 10 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.HeiseSecurity | 0 | 16 | 16 | 43 | 0% | | 0 | 8 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.KrebsOnSecurity | 0 | 13 | 13 | 36 | 0% | | 0 | 4 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.SecurityInsiderNews | 0 | 30 | 30 | 63 | 0% | | 0 | 8 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.T3N | 1 | 22 | 23 | 55 | 4.3% | | 0 | 8 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.TheRecord | 0 | 16 | 16 | 43 | 0% | | 0 | 8 | 0% | |
| GistBackend.Handlers.RssFeedHandler.Feeds.TheVerge | 0 | 13 | 13 | 37 | 0% | | 0 | 6 | 0% | |
| GistBackend.Handlers.RssFeedHandler.RssFeedHandler | 16 | 0 | 16 | 31 | 100% | | 0 | 0 | | |
| GistBackend.Handlers.TelegramBotClientHandler.TelegramBotClientHandler | 0 | 15 | 15 | 44 | 0% | | 0 | 6 | 0% | |
| GistBackend.Handlers.TelegramBotClientHandler.TelegramBotClientHandlerOptions | 0 | 1 | 1 | 6 | 0% | | 0 | 0 | | |
| GistBackend.Handlers.WebCrawlHandler.WebCrawlHandler | 0 | 19 | 19 | 42 | 0% | | 0 | 6 | 0% | |
| GistBackend.Handlers.WebCrawlHandler.WebCrawlHandlerOptions | 0 | 1 | 1 | 6 | 0% | | 0 | 0 | | |
| GistBackend.Program | 18 | 0 | 18 | 31 | 100% | | 0 | 0 | | |
| GistBackend.Services.CleanupService | 66 | 9 | 75 | 139 | 88% | | 24 | 34 | 70.5% | |
| GistBackend.Services.CleanupServiceOptions | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| GistBackend.Services.GistService | 96 | 27 | 123 | 227 | 78% | | 33 | 52 | 63.4% | |
| GistBackend.Services.RecapService | 42 | 1 | 43 | 88 | 97.6% | | 17 | 22 | 77.2% | |
| GistBackend.Services.TelegramService | 85 | 10 | 95 | 185 | 89.4% | | 24 | 38 | 63.1% | |
| GistBackend.Services.TelegramServiceOptions | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| GistBackend.StartUp | 75 | 10 | 85 | 132 | 88.2% | | 4 | 4 | 100% | |
| GistBackend.Types.Chat | 4 | 0 | 4 | 9 | 100% | | 0 | 0 | | |
| GistBackend.Types.ConstructedGist | 45 | 0 | 45 | 72 | 100% | | 0 | 0 | | |
| GistBackend.Types.DeserializedRecap | 0 | 1 | 1 | 21 | 0% | | 0 | 0 | | |
| GistBackend.Types.DeserializedRecapSection | 0 | 1 | 1 | 21 | 0% | | 0 | 0 | | |
| GistBackend.Types.DisabledGist | 14 | 0 | 14 | 22 | 100% | | 0 | 0 | | |
| GistBackend.Types.FetchResponse | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| GistBackend.Types.Gist | 34 | 0 | 34 | 49 | 100% | | 0 | 0 | | |
| GistBackend.Types.LanguageExtensions | 1 | 0 | 1 | 12 | 100% | | 2 | 2 | 100% | |
| GistBackend.Types.RecapAIResponse | 4 | 0 | 4 | 21 | 100% | | 0 | 0 | | |
| GistBackend.Types.RecapSection | 1 | 0 | 1 | 21 | 100% | | 0 | 0 | | |
| GistBackend.Types.RecapTypeExtensions | 5 | 1 | 6 | 20 | 83.3% | | 3 | 4 | 75% | |
| GistBackend.Types.RelatedGistInfo | 0 | 1 | 1 | 21 | 0% | | 0 | 0 | | |
| GistBackend.Types.RssEntry | 10 | 0 | 10 | 12 | 100% | | 0 | 0 | | |
| GistBackend.Types.RssFeed | 33 | 7 | 40 | 69 | 82.5% | | 5 | 10 | 50% | |
| GistBackend.Types.RssFeedInfo | 8 | 0 | 8 | 14 | 100% | | 0 | 0 | | |
| GistBackend.Types.SerializedRecap | 1 | 0 | 1 | 21 | 100% | | 0 | 0 | | |
| GistBackend.Types.SimilarDocument | 4 | 0 | 4 | 6 | 100% | | 0 | 0 | | |
| GistBackend.Types.SimilarGistWithFeed | 4 | 0 | 4 | 9 | 100% | | 0 | 0 | | |
| GistBackend.Types.Summary | 9 | 0 | 9 | 15 | 100% | | 0 | 0 | | |
| GistBackend.Types.SummaryAIResponse | 6 | 0 | 6 | 8 | 100% | | 0 | 0 | | |
| GistBackend.Types.TranslationAIResponse | 0 | 4 | 4 | 6 | 0% | | 0 | 0 | | |
| GistBackend.Utils.DateTimeExtensions | 1 | 0 | 1 | 7 | 100% | | 0 | 0 | | |
| GistBackend.Utils.EnumerableExtensions | 8 | 1 | 9 | 26 | 88.8% | | 5 | 6 | 83.3% | |
| GistBackend.Utils.GistDebouncer | 22 | 0 | 22 | 51 | 100% | | 12 | 12 | 100% | |
| GistBackend.Utils.LogEvents | 0 | 57 | 57 | 76 | 0% | | 0 | 0 | | |
| GistBackend.Utils.RssFeedUtils | 0 | 1 | 1 | 12 | 0% | | 0 | 0 | | |
| GistBackend.Utils.SelfReportingStopwatch | 6 | 0 | 6 | 15 | 100% | | 0 | 0 | | |
| GistBackend.Utils.SerializerDefaults | 4 | 0 | 4 | 11 | 100% | | 0 | 0 | | |
| GistBackend.Utils.ServiceProviderExtensions | 0 | 6 | 6 | 21 | 0% | | 0 | 0 | | |
| GistBackend.Utils.ServiceUtils | 4 | 3 | 7 | 24 | 57.1% | | 3 | 6 | 50% | |
| GistBackend.Utils.SyndicationItemExtensions | 11 | 0 | 11 | 37 | 100% | | 7 | 10 | 70% | |
| GistBackend.Utils.SyndicationPersonExtensions | 5 | 0 | 5 | 37 | 100% | | 1 | 4 | 25% | |
| GistBackend.TestUtilities | 178 | 1 | 179 | 293 | 99.4% | | 37 | 50 | 74% | |
| TestUtilities.RandomExtensions | 11 | 0 | 11 | 31 | 100% | | 7 | 8 | 87.5% | |
| TestUtilities.SyndicationFeedExtensions | 12 | 0 | 12 | 23 | 100% | | 0 | 0 | | |
| TestUtilities.TestData | 123 | 1 | 124 | 186 | 99.1% | | 20 | 32 | 62.5% | |
| TestUtilities.TestFeed | 14 | 0 | 14 | 23 | 100% | | 0 | 0 | | |
| TestUtilities.TestFeedData | 18 | 0 | 18 | 30 | 100% | | 10 | 10 | 100% | |