-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMutationRequestVersionResolution.cs
More file actions
34 lines (28 loc) · 1.16 KB
/
Copy pathMutationRequestVersionResolution.cs
File metadata and controls
34 lines (28 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using ModularityKit.Mutator.Governance.Abstractions.Requests.Model;
namespace ModularityKit.Mutator.Governance.Abstractions.Resolution.Model;
/// <summary>
/// Represents the result of resolving a mutation request against the current state version.
/// </summary>
public sealed record MutationRequestVersionResolution
{
/// <summary>
/// Updated mutation request after version-aware resolution.
/// </summary>
public MutationRequest Request { get; init; } = null!;
/// <summary>
/// Outcome selected by the governance runtime after comparing expected and current versions.
/// </summary>
public MutationRequestVersionResolutionOutcome Outcome { get; init; }
/// <summary>
/// Expected version captured on the request before resolution.
/// </summary>
public string? ExpectedStateVersion { get; init; }
/// <summary>
/// Current version observed at resolution time.
/// </summary>
public string CurrentStateVersion { get; init; } = string.Empty;
/// <summary>
/// Indicates whether the current version differs from the original expected version.
/// </summary>
public bool IsStale { get; init; }
}