docs(src): add missing XML docs and strip tracking-ID comments

Sweep of 203 source files resolving CommentChecker findings: add
<summary>/<param>/<returns>/<inheritdoc> where missing, and remove
resolved task/issue tracking markers (Tests-NNN, Worker-NNN, Server-NNN,
Task N) from code comments. Comment/doc-only — no logic changes.
Server+Tests build clean under TreatWarningsAsErrors.
This commit is contained in:
Joseph Doherty
2026-07-07 14:09:49 -04:00
parent 8914472706
commit fca978de07
203 changed files with 1834 additions and 1383 deletions
@@ -35,6 +35,7 @@ public sealed class DashboardGroupRoleMapperTests
/// <summary>Verifies full-DN match, leading-RDN fallback, case-insensitivity, and unmapped → empty.</summary>
/// <param name="ldapGroup">The LDAP group name or distinguished name.</param>
/// <param name="expectedRole">The expected role or null if no match.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
[Theory]
[InlineData("GwAdmin", DashboardRoles.Admin)]
[InlineData("gwadmin", DashboardRoles.Admin)]
@@ -61,6 +62,7 @@ public sealed class DashboardGroupRoleMapperTests
}
/// <summary>Verifies that admin and viewer roles are both emitted when both groups are present.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task MapAsync_AdminPlusViewer_BothRolesEmitted()
{
@@ -75,6 +77,7 @@ public sealed class DashboardGroupRoleMapperTests
}
/// <summary>Verifies that an empty GroupToRole map yields no roles.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task MapAsync_EmptyMapping_ReturnsNoRoles()
{
@@ -86,12 +89,13 @@ public sealed class DashboardGroupRoleMapperTests
}
/// <summary>
/// Task 1.7 (canonical roles): an LDAP user in the admin group must resolve
/// Canonical roles: an LDAP user in the admin group must resolve
/// to the canonical role value <c>"Administrator"</c> (not the legacy
/// <c>"Admin"</c>), and the reader group to <c>"Viewer"</c>. Asserted with
/// string LITERALS — independent of <see cref="DashboardRoles"/> — so a
/// regression on the constant's value is caught here.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task MapAsync_AdminGroup_ResolvesToCanonicalAdministratorValue()
{
@@ -105,7 +109,7 @@ public sealed class DashboardGroupRoleMapperTests
}
/// <summary>
/// Task 1.7: the canonical admin value (<c>"Administrator"</c>) passes the
/// The canonical admin value (<c>"Administrator"</c>) passes the
/// admin-only gate while a <c>"Viewer"</c> fails it — asserted with literals,
/// proving enforcement is bound to the new value and the legacy <c>"Admin"</c>
/// string is no longer what authorizes admin actions.
@@ -124,6 +128,7 @@ public sealed class DashboardGroupRoleMapperTests
/// Verifies the extracted shared helper is the single source of truth: it
/// produces the same roles the mapper does for the same inputs.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task SharedHelper_MatchesMapperOutput()
{