Skip to content

Feat: Strengthen governance runtime concurrency and resolution#14

Merged
rian-be merged 1 commit into
mainfrom
develop
Jun 22, 2026
Merged

Feat: Strengthen governance runtime concurrency and resolution#14
rian-be merged 1 commit into
mainfrom
develop

Conversation

@rian-be

@rian-be rian-be commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Strengthen governance runtime semantics around request concurrency and version aware resolution.

Added

  • optimistic concurrency revision support for governed mutation requests
  • explicit governance storage contract with Create(...) and TryStore(..., expectedRevision)
  • MutationRequestAlreadyExistsException for duplicate request creation attempts
  • MutationRequestConcurrencyException for stale lifecycle and resolution writes
  • persisted version resolution path through IMutationRequestVersionResolutionManager
  • MutationRequestVersionResolutionManager.ResolveAndStore(...)
  • expanded resolution runtime helpers for version evaluation and state composition
  • governance regression coverage for stale lifecycle transitions, guarded storage updates, and persisted resolution outcomes

Changed

  • governance lifecycle transitions now persist through compare and swap semantics instead of blind save flow
  • in-memory governance storage now rejects duplicate creates and stale revision writes
  • version-aware governance resolution can now run through a canonical persisted runtime path instead of relying only on in-memory caller handling
  • governance examples now show persisted resolution usage in addition to pure evaluator usage

Result

Governance runtime now has explicit optimistic concurrency semantics for request lifecycle and storage, and version-aware resolution outcomes can be persisted through a canonical runtime path. Stale transitions no longer succeed silently, and version resolution decisions are no longer easy to lose through caller misuse.

Testing

  • dotnet build src/ModularityKit.Mutator.Governance.csproj -c Release
  • dotnet test Tests/ModularityKit.Mutator.Governance.Tests/ModularityKit.Mutator.Governance.Tests.csproj -c Release
  • dotnet build Examples/Governance/VersionedResolution/VersionedResolution.csproj -c Release

Linked Issues

Checklist

  • lifecycle transitions reject stale concurrent writes
  • governance storage uses explicit create and guarded update semantics
  • version resolution has a persisted runtime path
  • examples and tests cover the new governance runtime behavior

@github-actions github-actions Bot added examples Runnable examples and sample apps tests Test coverage and test changes labels Jun 22, 2026
@rian-be rian-be merged commit 71fc021 into main Jun 22, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

examples Runnable examples and sample apps tests Test coverage and test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task]: Persist governance version resolution outcomes through runtime

1 participant