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
@@ -34,6 +34,7 @@ public sealed class GalaxyDriverInfrastructureTests
}
/// <summary>Verifies that memory footprint is nonzero after subscriptions are active.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task GetMemoryFootprint_IsNonZeroAfterSubscribe()
{
@@ -48,6 +49,7 @@ public sealed class GalaxyDriverInfrastructureTests
}
/// <summary>Verifies that memory footprint decreases after unsubscribing.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task GetMemoryFootprint_DecreasesAfterUnsubscribe()
{
@@ -67,6 +69,7 @@ public sealed class GalaxyDriverInfrastructureTests
// ===== Driver.Galaxy-007 regression: Dispose cancels the dispose CTS =====
/// <summary>Verifies that Dispose sets disposed flag and blocks further capability calls.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task Dispose_SetsDisposedFlag_BlockingFurtherCapabilityCalls()
{
@@ -81,6 +84,7 @@ public sealed class GalaxyDriverInfrastructureTests
}
/// <summary>Verifies that DisposeAsync can be awaited without deadlock.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task DisposeAsync_CanBeAwaitedWithoutDeadlock()
{
@@ -93,6 +97,7 @@ public sealed class GalaxyDriverInfrastructureTests
// ===== Driver.Galaxy-013 regression: ReplayOnSessionLost gates the replay step =====
/// <summary>Verifies that ReplayOnSessionLost=false skips resubscription on reconnect.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task ReplayOnSessionLost_False_SkipsResubscribeBulk()
{
@@ -123,6 +128,7 @@ public sealed class GalaxyDriverInfrastructureTests
}
/// <summary>Verifies that ReplayOnSessionLost=true runs resubscription on reconnect.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task ReplayOnSessionLost_True_RunsResubscribeBulk()
{
@@ -152,10 +158,7 @@ public sealed class GalaxyDriverInfrastructureTests
/// <summary>Gets the count of subscription calls.</summary>
public int SubscribeCalls;
/// <summary>Subscribes to multiple tags and counts the call.</summary>
/// <param name="fullReferences">List of tag addresses to subscribe to.</param>
/// <param name="bufferedUpdateIntervalMs">Buffered update interval in milliseconds.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public Task<IReadOnlyList<SubscribeResult>> SubscribeBulkAsync(
IReadOnlyList<string> fullReferences, int bufferedUpdateIntervalMs, CancellationToken cancellationToken)
{
@@ -169,14 +172,11 @@ public sealed class GalaxyDriverInfrastructureTests
return Task.FromResult<IReadOnlyList<SubscribeResult>>(results);
}
/// <summary>Unsubscribes from multiple tags.</summary>
/// <param name="itemHandles">List of subscription handles to unsubscribe.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public Task UnsubscribeBulkAsync(IReadOnlyList<int> itemHandles, CancellationToken cancellationToken)
=> Task.CompletedTask;
/// <summary>Streams subscription events.</summary>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public IAsyncEnumerable<MxEvent> StreamEventsAsync(CancellationToken cancellationToken)
=> _stream.Reader.ReadAllAsync(cancellationToken);
}
@@ -184,6 +184,7 @@ public sealed class GalaxyDriverInfrastructureTests
// ===== Driver.Galaxy-013 regression: ReinitializeAsync rejects unsupported reapply =====
/// <summary>Verifies that ReinitializeAsync rejects non-equivalent config changes.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task ReinitializeAsync_RejectsNonEquivalentConfigChange()
{
@@ -203,6 +204,7 @@ public sealed class GalaxyDriverInfrastructureTests
}
/// <summary>Verifies that ReinitializeAsync accepts equivalent config.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task ReinitializeAsync_AcceptsEquivalentConfig()
{
@@ -227,10 +229,7 @@ public sealed class GalaxyDriverInfrastructureTests
{
private readonly Channel<MxEvent> _stream = Channel.CreateUnbounded<MxEvent>();
/// <summary>Subscribes to multiple tags (no-op).</summary>
/// <param name="fullReferences">List of tag addresses to subscribe to.</param>
/// <param name="bufferedUpdateIntervalMs">Buffered update interval in milliseconds.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public Task<IReadOnlyList<SubscribeResult>> SubscribeBulkAsync(
IReadOnlyList<string> fullReferences, int bufferedUpdateIntervalMs, CancellationToken cancellationToken)
{
@@ -243,14 +242,11 @@ public sealed class GalaxyDriverInfrastructureTests
return Task.FromResult<IReadOnlyList<SubscribeResult>>(results);
}
/// <summary>Unsubscribes from multiple tags (no-op).</summary>
/// <param name="itemHandles">List of subscription handles to unsubscribe.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public Task UnsubscribeBulkAsync(IReadOnlyList<int> itemHandles, CancellationToken cancellationToken)
=> Task.CompletedTask;
/// <summary>Streams subscription events (no-op).</summary>
/// <param name="cancellationToken">Cancellation token.</param>
/// <inheritdoc />
public IAsyncEnumerable<MxEvent> StreamEventsAsync(CancellationToken cancellationToken)
=> _stream.Reader.ReadAllAsync(cancellationToken);
}