AI Slop Code Risk Monitor

rmcrackan/Libation

SlopCodeMonitor badge for rmcrackan/Libation Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Libation: Liberate your Library

3.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for rmcrackan/Libation, a C# project with 6,390 GitHub stars. SynthScan examined 131,592 lines of code across 818 source files, recording 154 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 3.8 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.8
Adjusted Signal
3.8
Raw Pattern Score
100%
Time Factor
2026-10-27
Last Push
6.4K
Stars
C#
Language
131.6K
Lines of Code
818
Files
154
Pattern Hits
2026-10-31
Scan Date
0.04
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 86 finding(s).

Hallucinated Dependency & Supply Chain Risk 14.1/100 · LOW

Are imports declared and package/API names verified? 68 finding(s).

Agent Over-Engineering Ratio 0.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 0 finding(s).

PR Review Velocity Impact 14.7/100 · LOW

Which changes need focused human review? 154 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 28HIGH 1MEDIUM 4LOW 121

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 154 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators28 hits · 355 pts
SeverityFileLineSnippetContext
CRITICALSource/LibationSearchEngine/SearchEngine.cs80 { FieldType.Number, lb => lb.Book.UserDefinedItem.Rating.OverallRating.ToLuceneString(), "UserRating", "MyRating" },CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3083 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection()CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3089 RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection(CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3095 KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3101 OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatoCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3153 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtectiCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3160 RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtectCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3167 KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3174 OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OpeCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3232 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtectiCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3239 RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtectCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3246 KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs3253 OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OpeCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5637 WidevinePsshData = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WiCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5643 WebmKeyId = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyIdCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5649 ExistingLicense = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExiCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5655 InitData = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData()CODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5681 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData subBuildCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5690 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId subBuilder = neCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5699 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense subBuildeCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5708 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData subBuilder = newCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5736 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData subBuildCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5745 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId subBuilder = neCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5754 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense subBuildeCODE
CRITICAL⚡Source/AudibleUtilities/Widevine/LicenseProtocol.cs5763 global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData subBuilder = newCODE
CRITICALSource/AudibleUtilities/Widevine/LicenseProtocol.cs4323 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtectiCODE
CRITICALSource/AudibleUtilities/Widevine/LicenseProtocol.cs4356 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtCODE
CRITICALSource/AudibleUtilities/Widevine/LicenseProtocol.cs4390 RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtCODE
Over-Commented Block81 hits · 79 pts
SeverityFileLineSnippetContext
LOW…ests/LibationUiBase.Tests/ProcessQueueDispatchTests.cs41 /// A book with no processables attached, so <c>IncludesBookDownload</c> is false and the dailyCOMMENT
LOW…/_Tests/FileManager.Tests/BackgroundFileSystemTests.cs181 }COMMENT
LOWSource/DtoImporterService/BookImporter.cs161COMMENT
LOWSource/DtoImporterService/BookImporter.cs181 /// Brings a book's supplement into line with what this scan says about it.COMMENT
LOWSource/DtoImporterService/_InternalsVisible.cs1// ApplicationServices.Tests rather than a DtoImporterService.Tests of its own: this project has no testCOMMENT
LOWSource/FileLiberator/DownloadPdf.cs21 /// A supplement is delivered through a content license, the same request the audiobook download makes, soCOMMENT
LOWSource/FileLiberator/DownloadPdf.cs201 /// <summary>COMMENT
LOWSource/FileLiberator/ILicensedDownload.cs1namespace FileLiberator;COMMENT
LOWSource/FileLiberator/DownloadDecryptBook.cs621 // Preserve the fields we have without inventing values for this optional metadata export.COMMENT
LOWSource/LoadByOS/LinuxConfigApp/runasroot.sh1#!/bin/shCOMMENT
LOWSource/LoadByOS/LinuxConfigApp/runasroot.sh21# General Public License for more details.COMMENT
LOWSource/LibationSearchEngine/SearchEngine.cs201 }COMMENT
LOWSource/LibationSearchEngine/SearchEngine.cs221 /// True when Lucene cannot read the index and the only cure is deleting it and rebuilding from the database.COMMENT
LOWSource/LibationSearchEngine/SearchEngine.cs421COMMENT
LOWSource/ApplicationServices/TrashBinSearch.cs1using DataLayer;COMMENT
LOWSource/ApplicationServices/SearchEngineCommands.cs41 }COMMENT
LOWSource/LibationFileManager/PreLoggingCrashLog.cs21 /// <summary>COMMENT
LOWSource/LibationFileManager/LibationFiles.cs161 /// <description>%AppData%\Libation</description>COMMENT
LOW…ibationFileManager/Configuration.PersistentSettings.cs461 /// survive being opened on a two-core laptop or in a container and come back intact, rather thanCOMMENT
LOWSource/LibationFileManager/StartupLog.cs21/// Nothing here names a Serilog type, which is the point. Libation's releases are ReadyToRun, so aCOMMENT
LOWSource/LibationFileManager/InstallUpgradeManager.cs21 /// the backed-up files back cannot return the install to a single version.COMMENT
LOWSource/LibationFileManager/InstallUpgradeManager.cs501 }COMMENT
LOWSource/LibationFileManager/EssentialFileValidator.cs21 /// Default retry total duration (ms) when checking that a file is available after creation.COMMENT
LOWSource/LibationFileManager/StartupAssemblyBootstrap.cs21 /// Call after <see cref="RecoverFromIncompleteUpgradeIfNeeded"/> and before <c>Task.Run</c> loads the library.COMMENT
LOWSource/LibationFileManager/StartupAssemblyBootstrap.cs221 public static bool IsInstallFolderAssemblyLoadFailure(Exception ex) =>COMMENT
LOWSource/LibationFileManager/Configuration.Logging.cs21COMMENT
LOWSource/LibationFileManager/Configuration.Logging.cs101 // output example: 2019-11-26 08:48:40.224 -05:00 [DBG] (at LibationWinForms.Program.init()) Begin LibaCOMMENT
LOWSource/LibationFileManager/DailyDownloadLimit.cs21 public static readonly TimeSpan Window = TimeSpan.FromHours(24);COMMENT
LOWSource/LibationFileManager/StartupRecoveryNotice.cs1namespace LibationFileManager;COMMENT
LOWSource/LibationFileManager/InstallRelauncher.cs1using System;COMMENT
LOWSource/LibationFileManager/InstallRelauncher.cs21 /// would otherwise mean every launch rolls back and offers to restart again. One relaunch, then.COMMENT
LOWSource/FileManager/FileUtility.cs281 onIncomplete);COMMENT
LOWSource/FileManager/LongPath.cs101 {COMMENT
LOW…ger/NamingTemplate/ConditionalTagCollection[TClass].cs41 AddPropertyTag(new ConditionalTag(templateTag, Options, expr));COMMENT
LOW…anager/NamingTemplate/PropertyTagCollection[TClass].cs41 /// and a formatting string and returns the value the formatted string. If <c>null</c>, use the defaultCOMMENT
LOW…anager/NamingTemplate/PropertyTagCollection[TClass].cs61 /// </summary>COMMENT
LOW…anager/NamingTemplate/PropertyTagCollection[TClass].cs81 /// <param name="preFormatter">A Func used for first filtering and formatting. The result might be a <see cref="string"COMMENT
LOWSource/FileManager/NamingTemplate/CompareCondition.cs221 }COMMENT
LOWSource/LibationWinForms/Form1.cs21 FormClosing += Form1_FormClosing;COMMENT
LOW…ce/LibationWinForms/ProcessQueue/VirtualFlowControl.cs81 /// </summary>COMMENT
LOW…ce/LibationWinForms/ProcessQueue/VirtualFlowControl.cs101 /// The total height, including margins, of the repeated <see cref="ProcessBookControl"/>COMMENT
LOW…urce/LibationWinForms/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWSource/LibationWinForms/Dialogs/AccountsDialog.cs201 && !row.Cells[COL_Marketplaces].ReadOnly)COMMENT
LOWSource/AudibleUtilities/AccountSummary.cs1namespace AudibleUtilities;COMMENT
LOWSource/AudibleUtilities/Account.cs101 /// <para>COMMENT
LOWSource/AudibleUtilities/MarketplaceProbe.cs41/// </para>COMMENT
LOWSource/AudibleUtilities/Extensions.cs21 .FirstOrDefault(end => end.HasValue && end.Value.Year is not (2099 or 9999) && end.Value.LocalDateTime >= DateTime.COMMENT
LOWSource/AudibleUtilities/Widevine/Cdm.cs21 Content = 2,COMMENT
LOWSource/AudibleUtilities/Widevine/LicenseProtocol.cs301[pbr::OriginalName("PLATFORM_UNVERIFIED")] PlatformUnverified = 0,COMMENT
LOWSource/AudibleUtilities/Widevine/LicenseProtocol.cs3281 /// <summary>COMMENT
LOWSource/AudibleUtilities/Widevine/LicenseProtocol.cs3301 /// <summary>COMMENT
LOWSource/AudibleUtilities/Widevine/LicenseProtocol.cs3321 /// The key material and crypto operations must be performed within aCOMMENT
LOWSource/LibationCli/Program.cs41 static async Task Main(string[] args)COMMENT
LOWSource/LibationCli/Options/_ProcessableOptionsBase.cs81 return strProc;COMMENT
LOWSource/LibationCli/Options/_ProcessableOptionsBase.cs101 /// </summary>COMMENT
LOWSource/DataLayer/LibationContext.cs1using DataLayer.Configurations;COMMENT
LOWSource/DataLayer/LibationContextFactory.cs41COMMENT
LOWSource/DataLayer/Configurations/LibraryBookConfig.cs1using Microsoft.EntityFrameworkCore;COMMENT
LOWSource/DataLayer/EfClasses/UserDefinedItem.cs21}COMMENT
LOWSource/DataLayer/EfClasses/UserDefinedItem.cs101COMMENT
21 more matches not shown…
Fake / Example Data40 hits · 46 pts
SeverityFileLineSnippetContext
LOW…rce/_Tests/LibationUiBase.Tests/MarketplacesUiTests.cs92 var account = new Account("user@example.com")CODE
LOW…rce/_Tests/LibationUiBase.Tests/MarketplacesUiTests.cs108 var account = new Account("user@example.com")CODE
LOW…ibleUtilities.Tests/IdentityTokenStorageWiringTests.cs290 ["AccountId"] = "user@example.com",CODE
LOW⚡…ibleUtilities.Tests/FindAuthenticationRequiredTests.cs18 var auth = new AuthenticationRequiredException(new Account("user@example.com"));CODE
LOW⚡…ibleUtilities.Tests/FindAuthenticationRequiredTests.cs26 var auth = new AuthenticationRequiredException(new Account("user@example.com"), "need login");CODE
LOW⚡…ibleUtilities.Tests/FindAuthenticationRequiredTests.cs36 var auth = new AuthenticationRequiredException(new Account("user@example.com"), "need login");CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs32 return new Account("user@example.com") { AccountName = "Jade", IdentityTokens = identity };CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs41 => AccountCredentialStatus.LooksLikeMissingCredentials(new Account("user@example.com")).Should().BeTrue();CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs47 var account = new Account("user@example.com") { IdentityTokens = new Identity(Localization.Get("us")) };CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs58 => AccountCredentialStatus.FormatAccountLabel(new Account("user@example.com") { AccountName = "Jade" })CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs63 => AccountCredentialStatus.FormatAccountLabel(new Account("user@example.com"))CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs64 .Should().Be("'user@example.com'");CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs69 => AccountCredentialStatus.FormatAccountLabel(new Account("user@example.com") { AccountName = "USER@example.com" })CODE
LOW⚡…AudibleUtilities.Tests/AccountCredentialStatusTests.cs70 .Should().Be("'user@example.com'");CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs662 settings.GetAccount("user@example.com", "us").Should().BeSameAs(account);CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs663 settings.GetAccount("user@example.com", "ca").Should().BeSameAs(account);CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs664 settings.GetAccount("user@example.com", "uk").Should().BeNull();CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs731 settings.GetAccountClaimingMarketplace("user@example.com", "ca").Should().BeSameAs(ca);CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs732 settings.GetAccountClaimingMarketplace("user@example.com", "ca", excluding: ca).Should().BeNull();CODE
LOW⚡Source/_Tests/AudibleUtilities.Tests/AccountTests.cs733 settings.GetAccountClaimingMarketplace("user@example.com", "us").Should().BeNull();CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs560 private static Account registeredIn(string localeName, string accountId = "user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs744 settings.Add(new Account("user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs773 var account = new Account("user@example.com") { IdentityTokens = new Identity(Localization.Get("ca")) };CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs834 var account = new Account("user@example.com") { IdentityTokens = new Identity(Localization.Get("ca")) };CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs853 var account = new Account("user@example.com") { IdentityTokens = new Identity(Localization.Get("ca")) };CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs857 .Should().Be(AudibleApiStorage.GetIdentityTokensJsonPath("user@example.com", "canada"));CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1004 settings.Add(new Account("user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1027 settings.Add(new Account("user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1041 account.AccountId.Should().Be("user@example.com");CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1061 p.AccountsSettings.Add(new Account("user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1094 settings.Add(new Account("user@example.com") { AccountName = "Main" });CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1122 var account = new Account("user@example.com")CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1147 "AccountId": "user@example.com",CODE
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1162 loaded.Accounts[0].AccountId.Should().Be("user@example.com");STRING
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1182 var account = settings.Upsert("user@example.com", "us");STRING
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1189 Assert.IsFalse(messages.Any(m => m.Contains("user@example.com", StringComparison.Ordinal)));STRING
LOWSource/_Tests/AudibleUtilities.Tests/AccountTests.cs1207 settings.Add(new Account("user@example.com") { IdentityTokens = new Identity(Localization.Get("us")) });STRING
LOW…/_Tests/AudibleUtilities.Tests/Mkb79AuthExportTests.cs79 var account = new Account("user@example.com")CODE
LOW…urce/_Tests/FileManager.Tests/CommonFormattersTests.cs22 var testObj = new TestClass { Author = "John Doe", Title = "Test Book" };CODE
LOW…urce/_Tests/FileManager.Tests/CommonFormattersTests.cs101 var testObj = new TestClass { Author = "John Doe", Title = "Test Book" };CODE
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMSource/AppScaffolding/LibationScaffolding.cs250 // To use that way, SerilogTextWriter needs to be more robust and tested. Esp the Write() methods.COMMENT
MEDIUMSource/AudibleUtilities/Widevine/Device.cs72 /// Absolutely nobody anywhere should use this RSASSA-PSS implementation in anything where they care about security at COMMENT
MEDIUMSource/LibationCli/Options/_OptionsBase.cs265 //preserve for settings which utilize white space (e.g. Replacements)COMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…urce/LibationWinForms/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMSource/LoadByOS/LinuxConfigApp/runasroot.sh10# This file is part of VirtualBox base platform packages, asCOMMENT