docs(comments): strip internal task/milestone/bundle bookkeeping from code comments
Remove project bookkeeping citations from shipped code comments across the solution: hyphenated task IDs (WP-14, StoreAndForward-025), milestone/task/ issue refs (M3, Task 4, Audit Log #23, #21), Bundle X task-bundle labels, and C/D/K/S/T phase labels. Comment text only — no code logic, string/log literals, or XML-doc structure changed. Genuine descriptions are preserved (only the citation is stripped), and technical lookalikes are retained (UTF-8, SHA-256, T00:00:00, M365, UTC-5, pre-C4/pre-C5 schema versions). Flagged by the new CommentChecker TaskReferenceInComment / TrackingReferenceInComment checks plus targeted grep passes; full solution builds clean, append-only guard tests pass.
This commit is contained in:
@@ -7,7 +7,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Default <see cref="IAlarmSummaryService"/> implementation (M7 T13). Resolves
|
||||
/// Default <see cref="IAlarmSummaryService"/> implementation. Resolves
|
||||
/// the site's Enabled instances, fans out one debug-snapshot fetch per instance
|
||||
/// through the injected <see cref="IInstanceSnapshotClient"/> (capped at eight
|
||||
/// concurrent fetches), and flattens every snapshot's alarm states into rows.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Pure helper for the inbound-API-key re-arch (C3) on the API-method form. The approval
|
||||
/// Pure helper for the inbound-API-key re-arch on the API-method form. The approval
|
||||
/// relationship moved from <c>ApiMethod.ApprovedApiKeyIds</c> (a CSV on the method) onto
|
||||
/// per-key method-scopes managed through <c>IInboundApiKeyAdmin</c>. When an operator edits
|
||||
/// the "Approved API Keys" list for one method, we must reconcile that method's NAME into (or
|
||||
|
||||
@@ -6,14 +6,14 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Flattened, typed view of a canonical <see cref="ZB.MOM.WW.Audit.AuditEvent"/> for the
|
||||
/// Central UI audit pages. C3 (Task 2.5) made the canonical record the seam type — the
|
||||
/// Central UI audit pages. The canonical record is the seam type — the
|
||||
/// query service decomposes it into this view (via <see cref="AuditRowProjection"/>) so the
|
||||
/// existing razor bindings (<c>row.Channel</c>, <c>Event.Status</c>, <c>evt.RequestSummary</c>,
|
||||
/// …) keep working against typed properties rather than parsing <c>DetailsJson</c> inline.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This is presentation-only: it carries the same field surface the bespoke
|
||||
/// <c>Commons.Entities.Audit.AuditEvent</c> exposed before C3. <c>ForwardState</c> is always
|
||||
/// <c>Commons.Entities.Audit.AuditEvent</c> exposed previously. <c>ForwardState</c> is always
|
||||
/// null on the central read path (it is site-storage-only and not carried on canonical rows).
|
||||
/// </remarks>
|
||||
public sealed record AuditEventView
|
||||
|
||||
@@ -6,7 +6,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Types.Audit;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Streaming CSV exporter for the Audit Log page (#23 M7-T14 / Bundle F).
|
||||
/// Streaming CSV exporter for the Audit Log page.
|
||||
///
|
||||
/// <para>
|
||||
/// The exporter iterates <see cref="IAuditLogRepository.QueryAsync"/> page by page
|
||||
@@ -140,7 +140,7 @@ public sealed class AuditLogExportService : IAuditLogExportService
|
||||
var last = page[^1];
|
||||
cursor = new AuditLogPaging(
|
||||
PageSize: pageSize,
|
||||
// C3: canonical OccurredAtUtc is a DateTimeOffset; the keyset
|
||||
// Canonical OccurredAtUtc is a DateTimeOffset; the keyset
|
||||
// cursor column is a UTC DateTime.
|
||||
AfterOccurredAtUtc: last.OccurredAtUtc.UtcDateTime,
|
||||
AfterEventId: last.EventId);
|
||||
|
||||
@@ -9,11 +9,11 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
/// <summary>
|
||||
/// Default <see cref="IAuditLogQueryService"/> implementation — a thin pass-through
|
||||
/// to <see cref="IAuditLogRepository.QueryAsync"/>. Default page size is 100 (the
|
||||
/// AuditResultsGrid default for #23 M7).
|
||||
/// AuditResultsGrid default).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>
|
||||
/// #23 M7 (Bundle H follow-up): each query opens its OWN DI scope and resolves a
|
||||
/// Each query opens its OWN DI scope and resolves a
|
||||
/// fresh <see cref="IAuditLogRepository"/> — and therefore a fresh
|
||||
/// <c>ScadaBridgeDbContext</c> — rather than sharing the scoped Blazor-circuit
|
||||
/// context. Without this, the Audit Log page's query-string auto-load
|
||||
@@ -31,13 +31,13 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
/// </remarks>
|
||||
public sealed class AuditLogQueryService : IAuditLogQueryService
|
||||
{
|
||||
// M7 Bundle E (T13): trailing window for the Health dashboard's Audit KPI tiles.
|
||||
// Trailing window for the Health dashboard's Audit KPI tiles.
|
||||
// Hard-coded here rather than configurable because the requirement
|
||||
// (Component-AuditLog.md §"Health & KPIs") fixes "rows/min over the last hour"
|
||||
// and "% errors over the last hour" as the KPI definition.
|
||||
private static readonly TimeSpan KpiWindow = TimeSpan.FromHours(1);
|
||||
|
||||
// Audit Log Node filter (Task 15): the distinct-source-nodes lookup powers
|
||||
// Audit Log Node filter: the distinct-source-nodes lookup powers
|
||||
// the filter dropdown population. A 60s cache keeps rendering the filter
|
||||
// bar cheap — node membership changes (failover, scaling) surface within
|
||||
// a minute, which is acceptable for a filter affordance.
|
||||
@@ -100,7 +100,7 @@ public sealed class AuditLogQueryService : IAuditLogQueryService
|
||||
ArgumentNullException.ThrowIfNull(filter);
|
||||
var effective = paging ?? new AuditLogPaging(DefaultPageSize);
|
||||
|
||||
// C3 (Task 2.5): the repository seam returns canonical records; decompose
|
||||
// The repository seam returns canonical records; decompose
|
||||
// each into a flat AuditEventView so the audit pages keep binding to typed
|
||||
// properties.
|
||||
// Test-seam ctor: use the injected repository directly.
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
/// <summary>
|
||||
/// Default <see cref="ICertManagementService"/> implementation — a thin facade over
|
||||
/// the three <see cref="CommunicationService"/> cert-trust relay methods that enforces
|
||||
/// the CentralUI-side role trust boundary (Decision D7: Trust + Remove require
|
||||
/// the CentralUI-side role trust boundary (Trust + Remove require
|
||||
/// <c>Administrator</c>, List requires <c>Designer</c>), and translates transport
|
||||
/// exceptions into a typed <see cref="CertTrustResult"/>.
|
||||
/// </summary>
|
||||
@@ -45,7 +45,7 @@ public sealed class CertManagementService : ICertManagementService
|
||||
string thumbprint,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
// D7: trusting a server certificate mutates every site node's PKI store, so
|
||||
// Trusting a server certificate mutates every site node's PKI store, so
|
||||
// it is an Administrator-only action. The site does not enforce envelope-level
|
||||
// roles, so this check must happen here before any cross-cluster traffic.
|
||||
if (!await HasRoleAsync(Roles.Administrator))
|
||||
@@ -81,7 +81,7 @@ public sealed class CertManagementService : ICertManagementService
|
||||
string siteIdentifier,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
// D7: listing trusted certs is read-only, so the lower Designer bar applies
|
||||
// Listing trusted certs is read-only, so the lower Designer bar applies
|
||||
// (an Administrator also satisfies this because admins hold every role claim
|
||||
// by convention). Same CentralUI-side guard rationale as TrustAsync.
|
||||
if (!await HasRoleAsync(Roles.Designer))
|
||||
@@ -114,7 +114,7 @@ public sealed class CertManagementService : ICertManagementService
|
||||
string thumbprint,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
// D7: removing trust mutates every site node's PKI store, so it is an
|
||||
// Removing trust mutates every site node's PKI store, so it is an
|
||||
// Administrator-only action — same gate as TrustAsync.
|
||||
if (!await HasRoleAsync(Roles.Administrator))
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Read-only operator service that aggregates the current alarm picture across
|
||||
/// all Enabled instances of a single site (M7 T13 — Operator Alarm Summary).
|
||||
/// all Enabled instances of a single site (Operator Alarm Summary).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>
|
||||
|
||||
@@ -4,8 +4,8 @@ using ZB.MOM.WW.ScadaBridge.Commons.Types.Audit;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI facade over <see cref="ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories.IAuditLogRepository"/>
|
||||
/// (#23 M7-T3). The Audit Log page's results grid talks to this service rather than
|
||||
/// CentralUI facade over <see cref="ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories.IAuditLogRepository"/>.
|
||||
/// The Audit Log page's results grid talks to this service rather than
|
||||
/// the repository directly so tests can substitute a fake without spinning up EF
|
||||
/// Core, and so a future caching / shaping layer (e.g. server-side CSV streaming)
|
||||
/// can hang off the same seam.
|
||||
@@ -21,7 +21,7 @@ public interface IAuditLogQueryService
|
||||
/// back as the cursor for the next page.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// C3 (Task 2.5): the repository seam returns the canonical
|
||||
/// The repository seam returns the canonical
|
||||
/// <c>ZB.MOM.WW.Audit.AuditEvent</c>; this facade decomposes each row into a flat
|
||||
/// <see cref="AuditEventView"/> so the audit pages keep binding to typed properties.
|
||||
/// </remarks>
|
||||
@@ -38,7 +38,7 @@ public interface IAuditLogQueryService
|
||||
int DefaultPageSize { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Audit Log (#23) M7 Bundle E (T13) — returns the point-in-time KPI snapshot
|
||||
/// Returns the point-in-time KPI snapshot
|
||||
/// the Health dashboard's Audit tiles render. Composes:
|
||||
/// <list type="bullet">
|
||||
/// <item><c>TotalEventsLastHour</c> + <c>ErrorEventsLastHour</c> from
|
||||
@@ -62,7 +62,7 @@ public interface IAuditLogQueryService
|
||||
Task<AuditLogKpiSnapshot> GetKpiSnapshotAsync(CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Audit Log ParentExecutionId feature (Task 10) — returns the full
|
||||
/// Audit Log ParentExecutionId feature — returns the full
|
||||
/// execution chain containing <paramref name="executionId"/> as a flat list
|
||||
/// of <see cref="ExecutionTreeNode"/>, delegating to
|
||||
/// <see cref="ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories.IAuditLogRepository.GetExecutionTreeAsync"/>.
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI facade over the central-to-site OPC UA server-certificate trust
|
||||
/// commands (T17 / D6). Backs the "Trust certificate" affordance on the OPC UA
|
||||
/// commands. Backs the "Trust certificate" affordance on the OPC UA
|
||||
/// endpoint editor and the dedicated connection-certificates management page: it
|
||||
/// forwards <see cref="TrustServerCertCommand"/> / <see cref="ListServerCertsCommand"/>
|
||||
/// / <see cref="RemoveServerCertCommand"/> to the owning site via
|
||||
@@ -15,7 +15,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
/// The service is the trust boundary for the cert-management capability: site-side
|
||||
/// actors do not unwrap the central trust envelope, so the role check MUST run here
|
||||
/// before any cross-cluster traffic is generated (mirrors <see cref="IBrowseService"/>
|
||||
/// and <see cref="IEndpointVerificationService"/>). Per Decision D7: Trust + Remove
|
||||
/// and <see cref="IEndpointVerificationService"/>). Trust + Remove
|
||||
/// require the <c>Administrator</c> role; List requires the <c>Designer</c> role.
|
||||
/// Transport failures (timeouts, unreachable sites) are translated into a typed
|
||||
/// <see cref="CertTrustResult"/> so callers can render an inline outcome rather than
|
||||
|
||||
@@ -3,7 +3,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// M9-T25: CentralUI facade that projects the per-site health reports' name-keyed
|
||||
/// CentralUI facade that projects the per-site health reports' name-keyed
|
||||
/// connection statuses onto a connection-id → <see cref="ConnectionHealth"/> map for
|
||||
/// the design DataConnections page. Reuses the existing health transport — the
|
||||
/// <see cref="ZB.MOM.WW.ScadaBridge.HealthMonitoring.ICentralHealthAggregator"/>'s
|
||||
|
||||
@@ -21,7 +21,7 @@ public record DataConnectionMoveResult(bool Success, string? Error)
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI facade over the move-data-connection management command (M9-T24b). It
|
||||
/// CentralUI facade over the move-data-connection management command. It
|
||||
/// dispatches the strongly-typed <c>MoveDataConnectionCommand</c> to the central
|
||||
/// <c>ManagementActor</c> through the in-process <c>ManagementActorHolder</c> seam —
|
||||
/// the SAME Ask path the HTTP <c>/management</c> endpoint uses — so the server remains
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
/// <summary>
|
||||
/// CentralUI facade over
|
||||
/// <see cref="ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories.IKpiHistoryRepository"/>
|
||||
/// (M6 "KPI History & Trends", K11). The reusable trend chart talks to this
|
||||
/// ("KPI History & Trends"). The reusable trend chart talks to this
|
||||
/// service rather than the repository directly so tests can substitute a fake
|
||||
/// without spinning up EF Core, and so the bucketing / downsampling step lives in
|
||||
/// one place rather than being re-implemented per page.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI read-accessor over the named JSON-Schema library (M9-T32c) for surfaces
|
||||
/// CentralUI read-accessor over the named JSON-Schema library for surfaces
|
||||
/// that need to RESOLVE <c>{"$ref":"lib:Name"}</c> pointers — chiefly the schema-driven
|
||||
/// value-entry forms (T30). It exposes the library as a name → schema-JSON map (and the
|
||||
/// value-entry forms. It exposes the library as a name → schema-JSON map (and the
|
||||
/// equivalent single-name lookup) so the value form can plug the resolved schema text
|
||||
/// into <c>InboundApiSchema.Parse(json, name => query.Resolve(name))</c> exactly the
|
||||
/// way the deploy-time / runtime resolvers do.
|
||||
|
||||
@@ -24,7 +24,7 @@ public record SchemaLibraryActionResult(bool Success, string? Error)
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI facade over the schema-library CRUD management commands (M9-T32c). Every
|
||||
/// CentralUI facade over the schema-library CRUD management commands. Every
|
||||
/// mutation (<c>CreateSharedSchemaCommand</c> / <c>UpdateSharedSchemaCommand</c> /
|
||||
/// <c>DeleteSharedSchemaCommand</c>) and the list query is dispatched to the central
|
||||
/// <c>ManagementActor</c> through the in-process <c>ManagementActorHolder</c> seam — the
|
||||
|
||||
@@ -25,8 +25,8 @@ public record SecuredWriteActionResult(bool Success, SecuredWriteDto? Dto, strin
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CentralUI facade over the two-person ("secured") write management commands
|
||||
/// (M7 OPC UA / MxGateway UX, Task T14b — page C5). It dispatches the strongly-typed
|
||||
/// CentralUI facade over the two-person ("secured") write management commands.
|
||||
/// It dispatches the strongly-typed
|
||||
/// <c>SubmitSecuredWriteCommand</c> / <c>ApproveSecuredWriteCommand</c> /
|
||||
/// <c>RejectSecuredWriteCommand</c> / <c>ListSecuredWritesCommand</c> to the central
|
||||
/// <c>ManagementActor</c> through the in-process <c>ManagementActorHolder</c> seam —
|
||||
|
||||
@@ -3,8 +3,8 @@ using ZB.MOM.WW.ScadaBridge.Commons.Messages.Management;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Read-only CentralUI facade over the template-inheritance resolve query
|
||||
/// (M9-T26b). Dispatches the <see cref="GetResolvedTemplateMembersCommand"/> to
|
||||
/// Read-only CentralUI facade over the template-inheritance resolve query.
|
||||
/// Dispatches the <see cref="GetResolvedTemplateMembersCommand"/> to
|
||||
/// the central <c>ManagementActor</c> through the in-process
|
||||
/// <c>ManagementActorHolder</c> seam — the SAME Ask path the HTTP
|
||||
/// <c>/management</c> endpoint uses — and returns the freshly-resolved
|
||||
|
||||
@@ -7,7 +7,7 @@ using ZB.MOM.WW.ScadaBridge.KpiHistory;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Default <see cref="IKpiHistoryQueryService"/> implementation (M6 K11) — fetches
|
||||
/// Default <see cref="IKpiHistoryQueryService"/> implementation — fetches
|
||||
/// the raw series via <see cref="IKpiHistoryRepository.GetRawSeriesAsync"/> and
|
||||
/// reduces it with <see cref="KpiSeriesBucketer.Bucket"/> to at most the requested
|
||||
/// (or configured-default) number of points.
|
||||
|
||||
@@ -4,7 +4,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Default <see cref="ISchemaLibraryQueryService"/> implementation (M9-T32c). Reads the
|
||||
/// Default <see cref="ISchemaLibraryQueryService"/> implementation. Reads the
|
||||
/// named JSON-Schema library directly from <see cref="ISharedSchemaRepository"/> over a
|
||||
/// fresh DI scope per query — mirroring <c>AuditLogQueryService</c> /
|
||||
/// <c>KpiHistoryQueryService</c> so a value form's auto-load never races other reads on
|
||||
|
||||
Reference in New Issue
Block a user