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
@@ -8,10 +8,13 @@ internal static class ConfigLoader
private const string ApiKeyEnvVar = "SCADABRIDGE_API_KEY";
/// <summary>Deserialize the <c>appsettings.json</c> text via the source-gen context.</summary>
/// <param name="jsonText">The raw JSON text of <c>appsettings.json</c>.</param>
/// <returns>The deserialized <see cref="NotifierConfig"/>, or a default instance if deserialization yields <c>null</c>.</returns>
public static NotifierConfig Load(string jsonText) =>
JsonSerializer.Deserialize(jsonText, NotifierJsonContext.Default.NotifierConfig) ?? new NotifierConfig();
/// <summary>Read and parse the <c>appsettings.json</c> sitting next to the executable.</summary>
/// <returns>The deserialized <see cref="NotifierConfig"/>.</returns>
public static NotifierConfig LoadFromDefaultFile()
{
var path = Path.Combine(AppContext.BaseDirectory, "appsettings.json");
@@ -19,6 +22,8 @@ internal static class ConfigLoader
}
/// <summary>Split a comma-separated base-URL list into trimmed, non-empty entries.</summary>
/// <param name="baseUrls">The comma-separated base-URL list, or <c>null</c>/empty.</param>
/// <returns>The trimmed, non-empty base URLs; an empty array if none.</returns>
public static string[] SplitBaseUrls(string? baseUrls)
{
if (string.IsNullOrWhiteSpace(baseUrls))
@@ -30,6 +35,8 @@ internal static class ConfigLoader
}
/// <summary>Resolve the API key from <c>SCADABRIDGE_API_KEY</c>; null/whitespace → null. Env accessor is injected for testability.</summary>
/// <param name="envGet">Accessor used to read an environment variable by name.</param>
/// <returns>The resolved API key, or <c>null</c> if unset/whitespace.</returns>
public static string? ResolveApiKey(Func<string, string?> envGet)
{
var key = envGet(ApiKeyEnvVar);