Fuaran.UI.Telemetry.Drift 0.18.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Fuaran.UI.Telemetry.Drift --version 0.18.0
                    
NuGet\Install-Package Fuaran.UI.Telemetry.Drift -Version 0.18.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fuaran.UI.Telemetry.Drift" Version="0.18.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fuaran.UI.Telemetry.Drift" Version="0.18.0" />
                    
Directory.Packages.props
<PackageReference Include="Fuaran.UI.Telemetry.Drift" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fuaran.UI.Telemetry.Drift --version 0.18.0
                    
#r "nuget: Fuaran.UI.Telemetry.Drift, 0.18.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fuaran.UI.Telemetry.Drift@0.18.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fuaran.UI.Telemetry.Drift&version=0.18.0
                    
Install as a Cake Addin
#tool nuget:?package=Fuaran.UI.Telemetry.Drift&version=0.18.0
                    
Install as a Cake Tool

Fuaran.UI.Telemetry.Drift

Drift detector for Fuaran.UI.Telemetry.Abstractions OpApplyTelemetry records.

Computes per-OpKind aggregate metrics (success rate, p50/p95 latency, top decoder-rejection reasons, top NodeNotFound NodeIds) and flags week-on-week success-rate regressions whose drop exceeds an operator-tunable threshold (default 10pp).

Two op-apply surfaces:

  • Fuaran.UI.Telemetry.Drift.Aggregates.compute — group records by OpKind, compute the per-kind aggregate.
  • Fuaran.UI.Telemetry.Drift.Detect.run — given a baseline window and a current window, emit one DriftFinding per OpKind (Regression / NoRegression / InsufficientData).

Defaults live in Fuaran.UI.Telemetry.Drift.Defaults; operators override per-deployment by passing a configured DriftThresholds record to Detect.run.

Style drift (StyleDrift, Phase 151)

The resolved-style twin of the op-apply detector: it catches visual regressions the way Detect.run catches behavioural ones. StyleDrift.detect takes a baseline and a current window of StyleObservation (the values Fuaran.UI.StyleObserver's IStyleObserver.Subscribe already emits) and returns a StyleDriftReport:

  • Introduced(NodeId, flag-kind) violations present in the current window and absent in the baseline (a render that added a ContrastBelowAA / UsageBudgetExceeded / … flag). This is the regression set.
  • Cleared — violations present in the baseline and gone in the current window (a fix).
  • WeightedSeverity — the introduced violations summed by the violated invariant's Invariant.Weight (Phase 145); manifest-free flags weight at the default 1.0.
  • StyleDrift.regressionDetected report — a CI-gate predicate (true iff at least one violation was introduced).
  • StyleDrift.formatReport report — a one-line summary in the manifest's own vocabulary (introduced 2 style violation(s) across 2 node(s) (… worst: UsageBudgetExceeded brand (budget 10.0%, observed 22.0%) on n1)).

This is the Chromatic / Percy / Applitools visual-regression idea made semantic and deterministic: the diff is a set comparison keyed on (NodeId, StyleFlag.kind), not screenshot pixels — reproducible, cheap, CI-gateable, and reported in declared-invariant terms rather than "these pixels changed". It does not introduce a new sink: the observations are the ones the observer already emits (FGP 5 — reuse the existing emission path).

Console entry point — dotnet run --project src/Fuaran.UI.Telemetry.Drift — prints a wiring guide and a synthetic 100-record demonstration. Cron-friendly scheduling lives in the host's deployment toolchain (each host wires it against its own observability backend).

Apache-2.0 licensed — see the repo LICENSE.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.46.0 0 8/28/2026
0.39.0 35 8/27/2026
0.35.0 78 8/24/2026
0.32.0 74 8/23/2026
0.31.0 85 8/21/2026
0.30.0 91 8/21/2026
0.29.0 84 8/19/2026
0.28.0 89 8/18/2026
0.27.0 92 8/18/2026
0.26.0 84 8/18/2026
0.18.0 96 8/10/2026
0.15.0 88 8/9/2026
0.12.0 105 7/31/2026
0.11.0 98 7/30/2026
0.10.0 99 7/29/2026
0.6.0 99 7/27/2026
0.4.0 104 7/26/2026
0.3.0 107 7/24/2026