docs: complete XML doc comments via fixdocs (2757 to 131 findings)

Add missing <returns>/<param>/<summary>/<typeparam> tags and clean up
misused inheritdoc across 481 files so the documented API surface is
complete. Documentation-only (zero code lines changed). The 131 remaining
findings are inheritdoc-style warnings deliberately left to preserve
hand-written implementation rationale (plan-decision notes, race-condition
explanations).
This commit is contained in:
Joseph Doherty
2026-06-03 12:34:34 -04:00
parent c6d9b20d9f
commit bd6c0b4d3d
481 changed files with 2550 additions and 1668 deletions
@@ -33,6 +33,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
};
/// <summary>Verifies that reading a snapshot on first boot with no existing snapshot throws.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task FirstBoot_NoSnapshot_ReadThrows()
{
@@ -43,6 +44,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that sealed snapshots can be read back correctly.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task SealThenRead_RoundTrips()
{
@@ -58,6 +60,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that sealed files are marked read-only on disk.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task SealedFile_IsReadOnly_OnDisk()
{
@@ -71,6 +74,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that the current generation pointer advances when a new generation is sealed.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task SealingTwoGenerations_PointerAdvances_ToLatest()
{
@@ -84,6 +88,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that prior generation files are preserved after a new seal.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task PriorGenerationFile_Survives_AfterNewSeal()
{
@@ -97,6 +102,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that reading a corrupt sealed file fails safely.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task CorruptSealedFile_ReadFailsClosed()
{
@@ -113,6 +119,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that reading with a missing sealed file fails safely.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task MissingSealedFile_ReadFailsClosed()
{
@@ -129,6 +136,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that reading with a corrupt pointer file fails safely.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task CorruptPointerFile_ReadFailsClosed()
{
@@ -143,6 +151,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that sealing the same generation twice is idempotent.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task SealSameGenerationTwice_IsIdempotent()
{
@@ -155,6 +164,7 @@ public sealed class GenerationSealedCacheTests : IDisposable
}
/// <summary>Verifies that independent clusters do not interfere with each other.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task IndependentClusters_DoNotInterfere()
{