Minos.NET.Recording 1.11.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Minos.NET.Recording --version 1.11.0
                    
NuGet\Install-Package Minos.NET.Recording -Version 1.11.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="Minos.NET.Recording" Version="1.11.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Minos.NET.Recording" Version="1.11.0" />
                    
Directory.Packages.props
<PackageReference Include="Minos.NET.Recording" />
                    
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 Minos.NET.Recording --version 1.11.0
                    
#r "nuget: Minos.NET.Recording, 1.11.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 Minos.NET.Recording@1.11.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=Minos.NET.Recording&version=1.11.0
                    
Install as a Cake Addin
#tool nuget:?package=Minos.NET.Recording&version=1.11.0
                    
Install as a Cake Tool

Minos.NET.Recording

A decision recorder for Minos.NET: one pipeline stage writes a record of every decision, with its question set, state, answers and usage, to a JSONL file or a sink of your own. Outcomes are attached to a record later by its decision id, and records are erased by a key you choose. The stage never delays or fails a decision, runs your redaction before anything is kept, and never puts the state, an id or a key in a log, a trace or a metric. Native AOT-compatible.

dotnet add package Minos.NET.Recording
using Minos;
using Minos.Recording;

await using var sink = new JsonlDecisionRecordSink("decisions.jsonl");
await using var recorder = new DecisionRecorder(sink);

// Outermost, so one decision is one record.
using var recorded = client.AsBuilder().UseRecording(recorder).Build();

using (var scope = DecisionRecording.Begin(erasureKey: customerId))
{
    var answers = await recorded.EvaluateAsync<Triage>(message);
    await recorder.AddOutcomeAsync(
        scope.DecisionId!,
        DecisionOutcome.Signal("mailer", DateTimeOffset.UtcNow, "complained"));
}

// Completes after the sink has erased the customer's records, or throws RecordingException.
await recorder.EraseAsync(customerId);

await foreach (var decision in DecisionRecordFile.ReadAsync("decisions.jsonl", CancellationToken.None))
{
    Console.WriteLine($"{decision.Record.DecisionId}: {decision.Outcomes.Count} outcomes");
}

Shadow mode runs a candidate provider beside the primary in the background, without changing the primary's result, and keeps its answers in the decision's record. UseRecording(new ShadowOptions(candidate, dailyCap: 500), recorder) turns it on; ShadowReport in Minos.NET.Evaluation and minos shadow-report then compare the two:

// The candidate must not record its own decisions. Share one ShadowOptions per candidate, so its cap is shared.
var shadow = new ShadowOptions(localClient, dailyCap: 500);
using var shadowed = client.AsBuilder().UseRecording(shadow, recorder).Build();

For a candidate that is a client registered in the container, UseShadowRecording(provider => provider.GetRequiredService<ShadowOptions>()) creates the options from the container, and takes the recorder from it too. Register the ShadowOptions as a singleton, so its cap is shared.

Documentation: Recording decisions. Source and issues: github.com/MarcelRoozekrans/Minos.NET. Licensed under the MIT 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 (1)

Showing the top 1 NuGet packages that depend on Minos.NET.Recording:

Package Downloads
Minos.NET.Evaluation

Labelled decision datasets for Minos.NET: a versioned JSONL format that pairs each item's state and questions with the expected answers, a loader that reports every problem with its line number, a runner that sends the items through any IDecisionClient and keeps the results in a file, and a calibration report built from them. Native AOT-compatible.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.13.1 53 11/12/2026
1.12.0 400 11/8/2026
1.11.2 153 11/7/2026
1.11.1 119 11/7/2026
1.11.0 122 11/6/2026
1.10.0 170 11/5/2026
1.9.0 168 11/4/2026
1.8.1 126 11/1/2026
1.8.0 118 10/31/2026
1.7.1 130 10/31/2026
1.7.0 113 10/30/2026
1.6.0 111 10/28/2026
1.5.0 105 10/28/2026
1.4.2 99 10/26/2026
1.4.1 110 10/25/2026
1.4.0 106 10/23/2026
1.3.0 1,813 10/23/2026