fix(mesh-phase5): telemetry hub — plain Dictionary under gate, concurrency stress test, priming/eviction notes

Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
Joseph Doherty
2026-07-23 15:30:24 -04:00
parent 8e5090edf3
commit 7bdb6d00ec
3 changed files with 95 additions and 4 deletions
@@ -75,6 +75,13 @@ public interface ITelemetryLocalHub
/// <see cref="TelemetryItem.Health"/>, then all cached <see cref="TelemetryItem.Resilience"/>),
/// then live deltas — with no delta lost across the attach boundary. Dispose to detach.
/// </summary>
/// <param name="boundedCapacity">Per-subscriber channel capacity (must be positive).</param>
/// <param name="boundedCapacity">
/// Per-subscriber channel capacity (must be positive). The snapshot prelude is written into this
/// same bounded/DropOldest channel before <see cref="Subscribe"/> returns, so
/// <paramref name="boundedCapacity"/> should comfortably exceed this node's live driver-instance +
/// (instance, host) count — otherwise the earliest cached snapshots are silently evicted during
/// priming before the reader ever drains them. The node-local cache holds only THIS node's
/// instances (a handful), so a normal large capacity leaves ample headroom.
/// </param>
ITelemetrySubscription Subscribe(int boundedCapacity);
}