ModularityKit.Mutator.Governance
1.5.0
See the version list below for details.
dotnet add package ModularityKit.Mutator.Governance --version 1.5.0
NuGet\Install-Package ModularityKit.Mutator.Governance -Version 1.5.0
<PackageReference Include="ModularityKit.Mutator.Governance" Version="1.5.0" />
<PackageVersion Include="ModularityKit.Mutator.Governance" Version="1.5.0" />
<PackageReference Include="ModularityKit.Mutator.Governance" />
paket add ModularityKit.Mutator.Governance --version 1.5.0
#r "nuget: ModularityKit.Mutator.Governance, 1.5.0"
#:package ModularityKit.Mutator.Governance@1.5.0
#addin nuget:?package=ModularityKit.Mutator.Governance&version=1.5.0
#tool nuget:?package=ModularityKit.Mutator.Governance&version=1.5.0
Quick start
using ModularityKit.Mutator.Abstractions.Core;
using ModularityKit.Mutator.Abstractions.Requests;
using ModularityKit.Mutator.Governance.Abstractions.Storage;
using ModularityKit.Mutator.Governance.Runtime.Storage;
var store = new InMemoryMutationRequestStore();
var request = MutationRequestFactory.PendingApproval(
stateId: "tenant-42:roles",
stateType: "IamRoleState",
mutationType: "GrantRoleMutation",
intent: new MutationIntent
{
OperationName = "GrantRole",
Category = "Security",
Description = "Grant elevated role to tenant operator"
},
context: MutationContext.User("requester-1", "Requester One", "Incident escalation"),
expectedStateVersion: "v10",
approvalRequirements:
[
MutationApprovalRequirement.SingleActorStep("security-lead"),
MutationApprovalRequirement.SingleActorStep("platform-owner")
]);
var persisted = await store.Create(request);
Console.WriteLine($"{persisted.RequestId} -> {persisted.Status}");
Primary APIs
Requests
MutationRequestMutationRequestFactoryMutationRequestDecisionMutationRequestStatusPendingMutationReason
Storage
IMutationRequestStoreInMemoryMutationRequestStore
Lifecycle
IMutationRequestLifecycleManagerMutationRequestLifecycleManager
Approval
IMutationRequestApprovalWorkflowManagerMutationRequestApprovalWorkflowManagerMutationApprovalRequirement
Queries
IMutationRequestQueryStoreMutationRequestQueryMutationApprovalQueryMutationRequestDecisionQueryMutationApprovalViewMutationRequestDecisionView
Resolution
IMutationRequestVersionResolverIMutationRequestVersionResolutionManagerMutationRequestVersionResolutionMutationRequestVersionResolutionOutcomeVersionedRequestResolutionStrategy
Execution
IGovernanceExecutionManagerGovernanceExecutionManagerGovernedExecutionResult<TState>
Package structure
The project is organized by governance concern:
Abstractions/Requestsfor request models, decisions, and factory methodsAbstractions/Storagefor persistence contractsAbstractions/Approvalfor approval requirements and workflow contractsAbstractions/Resolutionfor stale-version handling and resolution outcomesAbstractions/Executionfor governed execution contracts and resultsRuntimefor lifecycle, approval, resolution, execution, and in-memory storage servicesAbstractions/Exceptionsfor governance-specific failures
Examples
Runnable examples live under Examples/Governance:
Relationship to the core package
ModularityKit.Mutator owns mutation execution, policy evaluation, audit, history, side effects, and metrics.
ModularityKit.Mutator.Governance owns the request lifecycle around that execution: approvals, pending states, request storage, stale-version resolution, and terminal governance decisions.
It also owns the query-oriented read side for governed requests, approval work, and decision history.
Current scope
Included today:
- request modeling and decision history
- approval requirements and workflow execution
- optimistic concurrency in request storage
- version-aware resolution before execution
- governed execution orchestration
- in-memory support for local runtime scenarios
Not included yet:
- production persistence providers such as EF Core or PostgreSQL
- reporting/query stores for operational governance views
- compensation or retry orchestration
- external approval system integrations
| Product | Versions 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. |
-
net10.0
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ModularityKit.Mutator.Governance:
| Package | Downloads |
|---|---|
|
ModularityKit.Mutator.Governance.Redis
Redis provider for ModularityKit.Mutator.Governance. |
GitHub repositories
This package is not used by any popular GitHub repositories.