docs(xml): fill missing XML doc comments + strip task-tracking refs across src (fixdocs)

Add missing <summary>/<param>/<returns>/<typeparam> tags and switch
interface implementations to <inheritdoc/> across 106 files; strip
project bookkeeping identifiers (Task NN, #05-TNN, PLAN-04, StoreAndForward-0NN)
from shipped code comments while preserving the descriptive rationale.
Comment-only: zero code-logic lines changed; solution builds 0/0.

Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
Joseph Doherty
2026-07-10 08:23:56 -04:00
parent 75007b9edd
commit 5a878b78d4
106 changed files with 580 additions and 180 deletions
@@ -93,8 +93,8 @@ public class SiteCallAuditActor : ReceiveActor
private readonly ILogger<SiteCallAuditActor> _logger;
/// <summary>
/// Central direct-write audit sink for operator Retry/Discard relay actions
/// (Task 14). Null when no writer is registered (minimal hosts / most unit
/// Central direct-write audit sink for operator Retry/Discard relay actions.
/// Null when no writer is registered (minimal hosts / most unit
/// tests) — in that case the relay emits no audit row and never reads the
/// <c>SiteCalls</c> mirror, preserving the "central touches no mirror row on
/// the relay path" behaviour. When present, a successful relay emits ONE
@@ -133,7 +133,7 @@ public class SiteCallAuditActor : ReceiveActor
/// <summary>
/// Per-site reconciliation watermark — the composite
/// <c>(UpdatedAtUtc, TrackedOperationId)</c> keyset of the highest row seen
/// for that site on a previous tick (Task 16). The next tick asks for rows
/// for that site on a previous tick. The next tick asks for rows
/// strictly greater than this pair, so a burst sharing one exact
/// <see cref="SiteCall.UpdatedAtUtc"/> drains via the id tiebreak rather than
/// pinning the timestamp forever; idempotent monotonic
@@ -147,7 +147,7 @@ public class SiteCallAuditActor : ReceiveActor
private readonly Dictionary<string, (DateTime Since, string? AfterId)> _reconciliationCursors = new();
/// <summary>
/// Per-site "pinned" latch (Task 16) — <c>true</c> once a site's composite
/// Per-site "pinned" latch — <c>true</c> once a site's composite
/// cursor stopped advancing while the site still reported
/// <c>MoreAvailable=true</c> (in practice only a legacy site that ignores the
/// <c>after_id</c> keyset field). Tracks the latch so only <em>transitions</em>
@@ -191,6 +191,7 @@ public class SiteCallAuditActor : ReceiveActor
/// <param name="repository">Concrete repository instance to use for all messages.</param>
/// <param name="logger">Logger for diagnostics and error reporting.</param>
/// <param name="options">Optional configuration overrides; production defaults apply when null.</param>
/// <param name="auditWriter">Optional central direct-write audit sink for operator relay actions; null disables the relay audit row.</param>
public SiteCallAuditActor(
ISiteCallAuditRepository repository,
ILogger<SiteCallAuditActor> logger,
@@ -283,7 +284,7 @@ public class SiteCallAuditActor : ReceiveActor
_options = options;
_logger = logger;
// Central direct-write audit sink for operator relay actions (Task 14).
// Central direct-write audit sink for operator relay actions.
// Resolved once from the root provider — ICentralAuditWriter is a central
// singleton (registered by AuditLog). Null-safe: a host that omits it just
// relays without emitting the operator-identity row.
@@ -599,7 +600,7 @@ public class SiteCallAuditActor : ReceiveActor
/// not the source of truth, so a slow site simply lags rather than corrupts.
/// </para>
/// <para>
/// <b>Composite keyset cursor (Task 16).</b> The cursor is the
/// <b>Composite keyset cursor.</b> The cursor is the
/// <c>(UpdatedAtUtc, TrackedOperationId)</c> pair of the maximum row seen, and
/// the pull asks for rows strictly greater than it. The boundary row is NOT
/// re-pulled (unlike the prior inclusive-timestamp cursor), and — critically —
@@ -607,7 +608,7 @@ public class SiteCallAuditActor : ReceiveActor
/// rows sharing one exact <see cref="SiteCall.UpdatedAtUtc"/> now drains via the
/// id tiebreak instead of pinning the timestamp forever. The idempotent monotonic
/// upsert still dedupes any overlap. Matches the composite keyset the site's
/// <c>ReadChangedSinceAsync</c> honours (Task 15).
/// <c>ReadChangedSinceAsync</c> honours.
/// </para>
/// <para>
/// <b>Consumes <see cref="PullSiteCallsResponse.MoreAvailable"/>
@@ -616,8 +617,8 @@ public class SiteCallAuditActor : ReceiveActor
/// <see cref="MaxReconciliationPagesPerTick"/> so a misbehaving site can never
/// spin the dispatcher. Each page advances the in-flight composite cursor. If a
/// page fails to advance the cursor yet the site still reports more available,
/// the site is NOT honouring the <c>after_id</c> keyset (a legacy pre-Task-15
/// site): continuing would re-pull the identical window forever, so the loop
/// the site is NOT honouring the <c>after_id</c> keyset (a legacy site that
/// predates the composite keyset): continuing would re-pull the identical window forever, so the loop
/// latches the site as <em>pinned</em> and publishes
/// <see cref="SiteCallReconciliationPinnedChanged"/> on the EventStream — the
/// dead-end becomes a health-observable condition rather than a silent log line.
@@ -1111,7 +1112,7 @@ public class SiteCallAuditActor : ReceiveActor
/// <summary>
/// Awaits the site's ack for a Retry relay, maps it onto the response, and —
/// on an <see cref="SiteCallRelayOutcome.Applied"/> outcome with an audit sink
/// present — emits ONE best-effort operator-identity audit row (Task 14). The
/// present — emits ONE best-effort operator-identity audit row. The
/// relay outcome is authoritative; the audit write never changes it.
/// </summary>
private async Task<RetrySiteCallResponse> RelayRetryAsync(RetrySiteCallRequest request, SiteEnvelope envelope)
@@ -1167,7 +1168,7 @@ public class SiteCallAuditActor : ReceiveActor
/// <summary>
/// Awaits the site's ack for a Discard relay, maps it onto the response, and —
/// on an <see cref="SiteCallRelayOutcome.Applied"/> outcome with an audit sink
/// present — emits ONE best-effort operator-identity audit row (Task 14).
/// present — emits ONE best-effort operator-identity audit row.
/// </summary>
private async Task<DiscardSiteCallResponse> RelayDiscardAsync(DiscardSiteCallRequest request, SiteEnvelope envelope)
{