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:
+11
-11
@@ -46,7 +46,7 @@ public class AuditLogRepository : IAuditLogRepository
|
||||
throw new ArgumentNullException(nameof(evt));
|
||||
}
|
||||
|
||||
// C5 (Task 2.5): write the 10 canonical columns DIRECTLY — no Decompose.
|
||||
// Write the 10 canonical columns DIRECTLY — no Decompose.
|
||||
// The five queryability columns (Kind/Status/SourceSiteId/ExecutionId/
|
||||
// ParentExecutionId) plus IngestedAtUtc are PERSISTED computed columns on
|
||||
// dbo.AuditLog; SQL Server derives them from DetailsJson at INSERT, so they
|
||||
@@ -109,7 +109,7 @@ VALUES
|
||||
throw new ArgumentNullException(nameof(paging));
|
||||
}
|
||||
|
||||
// C5 (Task 2.5): the filter predicates bind to the canonical columns and the
|
||||
// The filter predicates bind to the canonical columns and the
|
||||
// persisted computed columns directly — Channel→Category, Kind/Status/
|
||||
// SourceSiteId/ExecutionId/ParentExecutionId are computed columns. The
|
||||
// materialized rows are projected to the canonical record by reading the 10
|
||||
@@ -202,7 +202,7 @@ VALUES
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// C5 (Task 2.5): build the canonical <see cref="AuditEvent"/> DIRECTLY from the
|
||||
/// Build the canonical <see cref="AuditEvent"/> DIRECTLY from the
|
||||
/// 10 canonical columns of a materialized <see cref="AuditLogRow"/> read back from
|
||||
/// <c>dbo.AuditLog</c> — no 24-column <c>Recompose</c>, because the table now holds
|
||||
/// the canonical shape (every ScadaBridge domain field already lives in
|
||||
@@ -236,7 +236,7 @@ VALUES
|
||||
|
||||
// ISO 8601 in UTC — SQL Server's datetime2 literal parser accepts this
|
||||
// unambiguously and the value is round-trip-safe across SET DATEFORMAT
|
||||
// settings. CD-021: use datetime2(7) precision (.fffffff) so a future
|
||||
// settings. Use datetime2(7) precision (.fffffff) so a future
|
||||
// non-midnight or sub-second boundary doesn't silently round to the
|
||||
// wrong partition (today the migration only seeds at T00:00:00 exactly,
|
||||
// but the format string is on the boundary value's own contract — match
|
||||
@@ -264,7 +264,7 @@ VALUES
|
||||
DROP INDEX UX_AuditLog_EventId ON dbo.AuditLog;
|
||||
|
||||
-- 2. Staging table on [PRIMARY] (non-partitioned) with column shapes
|
||||
-- byte-identical to the C5 dbo.AuditLog — INCLUDING the persisted
|
||||
-- byte-identical to the dbo.AuditLog — INCLUDING the persisted
|
||||
-- computed columns, whose definitions must match EXACTLY (same
|
||||
-- expression text + PERSISTED) or ALTER TABLE ... SWITCH PARTITION
|
||||
-- rejects the operation with msg 4904/4948. The ordinal order also
|
||||
@@ -389,7 +389,7 @@ VALUES
|
||||
|
||||
var thresholdUtc = DateTime.SpecifyKind(threshold.ToUniversalTime(), DateTimeKind.Utc);
|
||||
|
||||
// M5.5 (T3) per-channel retention override purge. This is the ONLY DELETE
|
||||
// Per-channel retention override purge. This is the ONLY DELETE
|
||||
// against dbo.AuditLog in the codebase and it runs on the purge/maintenance
|
||||
// path, NOT the append-only writer role (which has INSERT + SELECT only — see
|
||||
// the DENY UPDATE/DENY DELETE grants in CollapseAuditLogToCanonical). The
|
||||
@@ -407,7 +407,7 @@ VALUES
|
||||
// single narrow exemption the append-only CI guard (AuditLogAppendOnlyGuardTests)
|
||||
// recognizes; any other UPDATE/DELETE targeting AuditLog still trips the guard.
|
||||
const string deleteBatchSql =
|
||||
"DELETE TOP (@batch) FROM dbo.AuditLog WHERE Category = @channel AND OccurredAtUtc < @threshold;"; // AUDIT-PURGE-ALLOWED: per-channel retention override (M5.5 T3), maintenance path
|
||||
"DELETE TOP (@batch) FROM dbo.AuditLog WHERE Category = @channel AND OccurredAtUtc < @threshold;"; // AUDIT-PURGE-ALLOWED: per-channel retention override, maintenance path
|
||||
|
||||
long totalDeleted = 0;
|
||||
|
||||
@@ -726,7 +726,7 @@ VALUES
|
||||
SELECT ParentExecutionId FROM Chain
|
||||
WHERE ParentExecutionId IS NOT NULL
|
||||
)
|
||||
-- C5 (Task 2.5): ExecutionId / ParentExecutionId / SourceSiteId
|
||||
-- ExecutionId / ParentExecutionId / SourceSiteId
|
||||
-- are persisted computed columns (same names); Channel is now the
|
||||
-- canonical Category column (Category = channel name, so the
|
||||
-- Channels aggregate still yields channel names); SourceInstanceId
|
||||
@@ -828,10 +828,10 @@ VALUES
|
||||
|
||||
var beforeUtc = DateTime.SpecifyKind(before.ToUniversalTime(), DateTimeKind.Utc);
|
||||
|
||||
// M5.6 (T5) SourceNode sentinel backfill. This is the ONE sanctioned UPDATE
|
||||
// SourceNode sentinel backfill. This is the ONE sanctioned UPDATE
|
||||
// against dbo.AuditLog in the codebase. It touches ONLY rows where
|
||||
// SourceNode IS NULL AND OccurredAtUtc < @before — rows that pre-date the
|
||||
// M5.6 feature and whose node-of-origin is UNKNOWABLE. The sentinel (default
|
||||
// SourceNode feature and whose node-of-origin is UNKNOWABLE. The sentinel (default
|
||||
// "unknown") makes that explicit. ExecutionId/ParentExecutionId are PERSISTED
|
||||
// COMPUTED columns derived from DetailsJson — mutating DetailsJson is forbidden
|
||||
// under the append-only invariant, so those stay NULL on pre-feature rows.
|
||||
@@ -849,7 +849,7 @@ VALUES
|
||||
// single narrow exemption the append-only CI guard (AuditLogAppendOnlyGuardTests)
|
||||
// recognises for an UPDATE; any other UPDATE targeting AuditLog still trips the guard.
|
||||
const string updateBatchSql =
|
||||
"UPDATE TOP (@batch) dbo.AuditLog SET SourceNode = @sentinel WHERE SourceNode IS NULL AND OccurredAtUtc < @before;"; // AUDIT-PURGE-ALLOWED: SourceNode sentinel backfill (M5.6 T5), maintenance path
|
||||
"UPDATE TOP (@batch) dbo.AuditLog SET SourceNode = @sentinel WHERE SourceNode IS NULL AND OccurredAtUtc < @before;"; // AUDIT-PURGE-ALLOWED: SourceNode sentinel backfill, maintenance path
|
||||
|
||||
long totalUpdated = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user