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
@@ -51,6 +51,7 @@ public sealed class GalaxyBrowseSessionTests
/// <summary>Each session must publish a distinct <see cref="GalaxyBrowseSession.Token"/>
/// so the AdminUI registry can disambiguate concurrent browse sessions against the
/// same driver config.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Token_is_unique_per_session()
{
@@ -63,6 +64,7 @@ public sealed class GalaxyBrowseSessionTests
/// <summary><see cref="GalaxyBrowseSession.LastUsedUtc"/> is primed to the
/// construction time so the registry reaper has a sensible baseline before the
/// first Root/Expand/Attributes call lands.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task LastUsedUtc_is_initialized_at_construction()
{
@@ -79,6 +81,7 @@ public sealed class GalaxyBrowseSessionTests
/// registry's reaper may race a client-initiated close, so the second call must
/// no-op rather than throw <see cref="ObjectDisposedException"/> or hit the
/// already-disposed gRPC channel.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task DisposeAsync_is_idempotent()
{
@@ -91,6 +94,7 @@ public sealed class GalaxyBrowseSessionTests
/// <summary>After disposal, any <see cref="GalaxyBrowseSession.ExpandAsync"/> call
/// must surface <see cref="ObjectDisposedException"/> — not a downstream channel
/// fault — so the AdminUI sees a clean "session closed" signal.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task ExpandAsync_after_dispose_throws_ObjectDisposedException()
{
@@ -104,6 +108,7 @@ public sealed class GalaxyBrowseSessionTests
/// hasn't been seen by a prior Root/Expand call — the cache is the source of
/// truth, and silently returning [] would mask AdminUI bugs that browse with a
/// stale path.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task ExpandAsync_unknown_tag_throws_ArgumentException()
{
@@ -23,6 +23,7 @@ public sealed class GalaxyDriverBrowserTests
/// <summary>An empty Gateway.Endpoint must fail fast with a clear, endpoint-mentioning
/// message rather than surfacing a downstream gRPC URI parse error.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task OpenAsync_with_empty_endpoint_throws_InvalidOperationException()
{
@@ -34,6 +35,7 @@ public sealed class GalaxyDriverBrowserTests
/// <summary>An empty MxAccess.ClientName must fail fast — refused so the gateway
/// side doesn't see anonymous browse sessions during triage.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task OpenAsync_with_empty_clientName_throws_InvalidOperationException()
{
@@ -45,6 +47,7 @@ public sealed class GalaxyDriverBrowserTests
/// <summary>A JSON literal that deserializes to null must fail fast with a
/// "deserialized to null" message — never a downstream NRE.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task OpenAsync_with_null_json_throws_InvalidOperationException()
{