# RunScoreSummary

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.runscoresummary/
> Summary: RunScoreSummary: The result of IRunScoreStore.SummarizeAsync.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

The result of [IRunScoreStore.SummarizeAsync](/api/tracon.irunscorestore/#Tracon_IRunScoreStore_SummarizeAsync_Tracon_RunScoreQuery_System_Threading_CancellationToken_).

```csharp
public sealed record RunScoreSummary : IEquatable<RunScoreSummary>
```

<dl class="api-relations"><dt>Inheritance</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ← <a href="/api/tracon.runscoresummary/">RunScoreSummary</a></dd><dt>Implements</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable&lt;RunScoreSummary&gt;</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Remarks

Every list is empty, never [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null), when nothing matches the filter.

## Constructors

### <a id="Tracon_RunScoreSummary__ctor"></a> RunScoreSummary\(\)

```csharp
public RunScoreSummary()
```

## Properties

### <a id="Tracon_RunScoreSummary_ByAgent"></a> ByAgent

The breakdown by the agent that produced the scored run.

```csharp
public IReadOnlyList<RunScoreAggregate> ByAgent { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[RunScoreAggregate](/api/tracon.runscoreaggregate/)\>

### <a id="Tracon_RunScoreSummary_ByAuthor"></a> ByAuthor

The breakdown by author. Scores with no author (an identity-less setup) are excluded.

```csharp
public IReadOnlyList<RunScoreAggregate> ByAuthor { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[RunScoreAggregate](/api/tracon.runscoreaggregate/)\>

### <a id="Tracon_RunScoreSummary_ByName"></a> ByName

The breakdown by score name — the primary breakdown, always populated.

```csharp
public required IReadOnlyList<RunScoreAggregate> ByName { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[RunScoreAggregate](/api/tracon.runscoreaggregate/)\>

### <a id="Tracon_RunScoreSummary_BySource"></a> BySource

The breakdown by source (`human`, `api`, `judge:{name}`).

```csharp
public IReadOnlyList<RunScoreAggregate> BySource { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[RunScoreAggregate](/api/tracon.runscoreaggregate/)\>

### <a id="Tracon_RunScoreSummary_Series"></a> Series

The trend series, one entry per time bucket. Empty when
`Bucket` ([RunScoreQuery](/api/tracon.runscorequery/)) was not given. Buckets with no matching
score are not included — this is a sparse series, not a filled one.

```csharp
public IReadOnlyList<RunScoreBucketAggregate> Series { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[RunScoreBucketAggregate](/api/tracon.runscorebucketaggregate/)\>

## Methods

### <a id="Tracon_RunScoreSummary_Equals_System_Object_"></a> Equals\(object?\)

```csharp
public override bool Equals(object? obj)
```

#### Parameters

`obj` [object](https://learn.microsoft.com/dotnet/api/system.object)?

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_RunScoreSummary_Equals_Tracon_RunScoreSummary_"></a> Equals\(RunScoreSummary?\)

```csharp
public bool Equals(RunScoreSummary? other)
```

#### Parameters

`other` [RunScoreSummary](/api/tracon.runscoresummary/)?

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_RunScoreSummary_GetHashCode"></a> GetHashCode\(\)

```csharp
public override int GetHashCode()
```

#### Returns

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_RunScoreSummary_ToString"></a> ToString\(\)

```csharp
public override string ToString()
```

#### Returns

 [string](https://learn.microsoft.com/dotnet/api/system.string)

## Operators

### <a id="Tracon_RunScoreSummary_op_Equality_Tracon_RunScoreSummary_Tracon_RunScoreSummary_"></a> operator ==\(RunScoreSummary?, RunScoreSummary?\)

```csharp
public static bool operator ==(RunScoreSummary? left, RunScoreSummary? right)
```

#### Parameters

`left` [RunScoreSummary](/api/tracon.runscoresummary/)?

`right` [RunScoreSummary](/api/tracon.runscoresummary/)?

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="Tracon_RunScoreSummary_op_Inequality_Tracon_RunScoreSummary_Tracon_RunScoreSummary_"></a> operator \!=\(RunScoreSummary?, RunScoreSummary?\)

```csharp
public static bool operator !=(RunScoreSummary? left, RunScoreSummary? right)
```

#### Parameters

`left` [RunScoreSummary](/api/tracon.runscoresummary/)?

`right` [RunScoreSummary](/api/tracon.runscoresummary/)?

#### Returns

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)
