docs: complete XML-doc coverage and strip internal tracking IDs from code comments
ci / java (push) Successful in 5m51s
ci / portable (push) Successful in 6m43s

Resolve all CommentChecker findings across the gateway server, worker, tests,
and .NET client (314 -> 0 real issues): add missing <returns>/<summary>/<param>
on public and test members, convert Stream/interface overrides to <inheritdoc/>,
and remove internal task/issue tracking IDs (SEC-*, IPC-*, WRK-*, GWC-*, TST-*,
Client.Dotnet-*) from shipped code documentation while preserving the design
rationale prose. Shipped comments should not carry internal bookkeeping, and
complete XML docs keep the analyzer/TreatWarningsAsErrors gate and generated API
docs clean. The 6 remaining flags are heuristic false positives (MD5, UTC-4,
capacity-1, near-1601) left intact so real documentation is not corrupted.

Claude-Session: https://claude.ai/code/session_01DMXXvNuPekkkrTEyPNxEkW
This commit is contained in:
Joseph Doherty
2026-07-10 06:15:47 -04:00
parent abb0930359
commit b86c6bb47f
74 changed files with 393 additions and 298 deletions
@@ -310,7 +310,7 @@ public sealed class WorkerFrameProtocolTests
/// <summary>
/// Verifies that under concurrent writers every frame receives a distinct, gap-free sequence in
/// strictly increasing on-wire order — the sequence is stamped by the writer at write time, so the
/// wire order and the stamped sequence always agree (WRK-04).
/// wire order and the stamped sequence always agree.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
@@ -339,7 +339,7 @@ public sealed class WorkerFrameProtocolTests
/// <summary>
/// Verifies that when a control frame and an event frame are both queued behind an in-progress
/// write, the draining lock-holder writes the control frame first even though the event was queued
/// earlier (WRK-07).
/// earlier.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
@@ -373,7 +373,7 @@ public sealed class WorkerFrameProtocolTests
Assert.Equal(WorkerEnvelope.BodyOneofCase.WorkerEvent, frame3.BodyCase);
}
/// <summary>Verifies a zero negotiated frame maximum keeps the constructor default (IPC-02).</summary>
/// <summary>Verifies a zero negotiated frame maximum keeps the constructor default.</summary>
[Fact]
public void AdoptNegotiatedMaxMessageBytes_WithZero_KeepsDefault()
{
@@ -383,7 +383,7 @@ public sealed class WorkerFrameProtocolTests
Assert.Equal(original, options.MaxMessageBytes);
}
/// <summary>Verifies an in-range negotiated frame maximum is adopted (IPC-02).</summary>
/// <summary>Verifies an in-range negotiated frame maximum is adopted.</summary>
[Fact]
public void AdoptNegotiatedMaxMessageBytes_WithInRangeValue_Adopts()
{
@@ -392,7 +392,7 @@ public sealed class WorkerFrameProtocolTests
Assert.Equal(4 * 1024 * 1024, options.MaxMessageBytes);
}
/// <summary>Verifies a negotiated frame maximum above the worker ceiling is rejected (IPC-02).</summary>
/// <summary>Verifies a negotiated frame maximum above the worker ceiling is rejected.</summary>
[Fact]
public void AdoptNegotiatedMaxMessageBytes_AboveCeiling_Throws()
{
@@ -452,10 +452,13 @@ public sealed class WorkerFrameProtocolTests
new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
private int _writeCount;
/// <summary>Gets a task that completes once the first <see cref="WriteAsync"/> call has started blocking.</summary>
public Task FirstWriteStarted => _firstWriteStarted.Task;
/// <summary>Releases the first blocked write so it can complete.</summary>
public void ReleaseFirstWrite() => _release.Release();
/// <inheritdoc />
public override async Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
{
if (Interlocked.Increment(ref _writeCount) == 1)
@@ -467,6 +470,7 @@ public sealed class WorkerFrameProtocolTests
await base.WriteAsync(buffer, offset, count, cancellationToken);
}
/// <inheritdoc />
protected override void Dispose(bool disposing)
{
if (disposing)
@@ -452,7 +452,7 @@ public sealed class WorkerPipeSessionTests
/// <summary>
/// Verifies that a DrainEvents control command with <c>max_events = 0</c> is bounded by the
/// worker rather than draining the entire queue into one reply frame: the session passes a
/// capped, non-zero maximum to the runtime session (IPC-04).
/// capped, non-zero maximum to the runtime session.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
@@ -743,7 +743,7 @@ public sealed class WorkerPipeSessionTests
}
/// <summary>
/// WRK-01 regression: a long in-flight STA command that keeps pumping
/// Regression test: a long in-flight STA command that keeps pumping
/// must NOT self-fault as <c>StaHung</c>, and its reply must still be
/// delivered. The real fix makes <c>StaRuntime.PumpPendingMessages</c>
/// refresh <c>LastActivityUtc</c> on every wait iteration, so a healthy
@@ -92,7 +92,7 @@ public sealed class StaRuntimeTests
/// the first <c>OnDataChange</c>) invokes the pump step on every wait
/// iteration while it legitimately holds the STA thread; refreshing
/// activity here keeps the watchdog from mistaking a busy STA for a hung
/// one (WRK-01). The runtime is deliberately left unstarted so the only
/// one. The runtime is deliberately left unstarted so the only
/// source of activity is the pump call under test, not the idle loop.
/// </summary>
[Fact]
@@ -128,7 +128,7 @@ internal sealed class FakeRuntimeSession : IWorkerRuntimeSession
/// <summary>
/// Records the <c>maxEvents</c> argument of the most recent non-suppressed
/// <see cref="DrainEvents"/> call — i.e. the effective cap the session passed for an explicit
/// DrainEvents control command. Lets a test assert the worker bounds the drain (IPC-04) rather
/// DrainEvents control command. Lets a test assert the worker bounds the drain rather
/// than forwarding the client's raw <c>max_events = 0</c>.
/// </summary>
public uint? LastDrainMaxEvents { get; private set; }