docs: add XML doc comments across src + Sister Projects section in CLAUDE.md

Bulk CommentChecker pass: fills in <param>/<inheritdoc> tags on public
APIs across all 23 src/ projects so the doc-coverage gate is green. Also
adds a Sister Projects section to CLAUDE.md pointing at the MxAccess
Gateway and OtOpcUa sibling repos, and gitignores local credential
captures (*login*.txt) and the wonder-app-vd03 deploy/ artifacts.
This commit is contained in:
Joseph Doherty
2026-05-28 01:55:24 -04:00
parent 6731845473
commit 1eb6e972b0
381 changed files with 5788 additions and 532 deletions
@@ -22,6 +22,12 @@ public class DatabaseGateway : IDatabaseGateway
private readonly StoreAndForwardService? _storeAndForward;
private readonly ILogger<DatabaseGateway> _logger;
/// <summary>
/// Initializes a new instance of <see cref="DatabaseGateway"/>.
/// </summary>
/// <param name="repository">Repository for resolving database connection definitions.</param>
/// <param name="logger">Logger for diagnostics.</param>
/// <param name="storeAndForward">Optional store-and-forward service for cached writes; null disables buffering.</param>
public DatabaseGateway(
IExternalSystemRepository repository,
ILogger<DatabaseGateway> logger,
@@ -32,10 +38,7 @@ public class DatabaseGateway : IDatabaseGateway
_storeAndForward = storeAndForward;
}
/// <summary>
/// Returns an open SqlConnection from the named database connection definition.
/// Connection pooling is managed by the underlying ADO.NET provider.
/// </summary>
/// <inheritdoc />
public async Task<DbConnection> GetConnectionAsync(
string connectionName,
CancellationToken cancellationToken = default)
@@ -66,18 +69,11 @@ public class DatabaseGateway : IDatabaseGateway
/// Creates the underlying ADO.NET connection for a connection string. Virtual so
/// tests can substitute a connection whose <c>OpenAsync</c> fails.
/// </summary>
/// <param name="connectionString">The ADO.NET connection string.</param>
internal virtual DbConnection CreateConnection(string connectionString) =>
new SqlConnection(connectionString);
/// <summary>
/// Submits a SQL write to the store-and-forward engine for reliable delivery.
/// </summary>
/// <param name="trackedOperationId">
/// Audit Log #23 (M3): used as the S&amp;F message id so the retry loop can
/// recover it via <c>StoreAndForwardMessage.Id</c> and emit per-attempt /
/// terminal cached-write telemetry (Tasks E4/E5). Null preserves the
/// pre-M3 behaviour (S&amp;F mints a random GUID).
/// </param>
/// <inheritdoc />
public async Task CachedWriteAsync(
string connectionName,
string sql,
@@ -147,6 +143,8 @@ public class DatabaseGateway : IDatabaseGateway
/// success, false if the connection no longer exists (the message is parked);
/// throws on any execution error so the engine retries.
/// </summary>
/// <param name="message">The buffered store-and-forward message to deliver.</param>
/// <param name="cancellationToken">Cancellation token for the delivery operation.</param>
public async Task<bool> DeliverBufferedAsync(
StoreAndForwardMessage message, CancellationToken cancellationToken = default)
{