docs(code): honest rationales — Akka restart semantics, per-key shards, EF literal inlining; retire or annotate orphaned members

This commit is contained in:
Joseph Doherty
2026-08-16 05:33:33 -04:00
parent dbc9223206
commit b9e9df4081
11 changed files with 133 additions and 58 deletions
@@ -13,7 +13,16 @@ public interface IHistorizationOutbox : IDisposable
/// <summary>Lifetime count of entries dropped because an append would have exceeded capacity.</summary>
long DroppedCount { get; }
/// <summary>Appends <paramref name="entry"/> to the tail of the durable buffer.</summary>
/// <summary>
/// Appends <paramref name="entry"/> to the tail of the durable buffer.
/// <para>
/// <b>Retained for tests and direct callers; production appends only through
/// <see cref="AppendBatchAsync"/>.</b> The recorder coalesces a driver burst into one group
/// commit, so this single-entry form has no production call site — it is kept as the
/// one-entry expression of the same contract (and is what <see cref="AppendBatchAsync"/>'s
/// durability window is described against), not as a deprecated path.
/// </para>
/// </summary>
/// <param name="entry">The value record to buffer.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
@@ -5,9 +5,11 @@ namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;
/// because a <c>HistorianTagname</c> override makes them diverge:
/// <list type="bullet">
/// <item>
/// <see cref="MuxRef"/> — the driver-published reference the per-node dependency mux fans its
/// <c>DependencyValueChanged</c> by (the tag's driver-side <c>FullName</c>). The recorder
/// registers mux interest and matches incoming values by THIS.
/// <see cref="MuxRef"/> — the driver-published reference the per-node dependency mux fans values
/// by (the tag's driver-side <c>FullName</c>); in production those arrive as a
/// <c>DependencyValueBatch</c> per driver burst, with the per-value <c>DependencyValueChanged</c>
/// retained for direct senders and tests. The recorder registers mux interest and matches
/// incoming values by THIS.
/// </item>
/// <item>
/// <see cref="HistorianName"/> — the resolved historian tag name the value is written under (a