Skip to content

Feat: Add governance runtime foundations and examples#9

Merged
rian-be merged 5 commits into
mainfrom
develop
Jun 22, 2026
Merged

Feat: Add governance runtime foundations and examples#9
rian-be merged 5 commits into
mainfrom
develop

Conversation

@rian-be

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

Copy link
Copy Markdown
Contributor

Summary

Add the first runtime foundations for ModularityKit.Mutator.Governance, including version aware request resolution, pending request lifecycle handling, governance-specific examples, and release automation for the governance package.

Added

  • Governance request version resolution abstractions and runtime resolver support
  • Governance pending request lifecycle manager with explicit request transitions and decision history
  • Governance request exceptions for missing requests and invalid lifecycle transitions
  • Runnable governance examples for:
    • request lifecycle handling
    • versioned request resolution
  • ADRs for:
    • runtime pending request handling
    • approval workflow direction
    • request query API direction
  • Release workflow support for publishing both core and governance packages

Changed

  • Governance source now uses folder aligned namespaces under Abstractions/* and Runtime/*
  • Governance runtime is split into Lifecycle, Resolution, and Storage
  • Existing examples are now organized under Examples/Core
  • Examples index and solution layout now distinguish core examples from governance examples
  • Release workflows now publish combined package artifacts for core and governance

Result

ModularityKit.Mutator.Governance now has concrete runtime seam instead of only request models. Governed requests can be stored, resolved against state version drift, moved through pending lifecycle transitions, and explored through runnable examples. The release pipeline also publishes both NuGet packages consistently.

Testing

  • dotnet build src/ModularityKit.Mutator.Governance.csproj -c Release
  • dotnet build Examples/Governance/RequestLifecycle/RequestLifecycle.csproj -c Release
  • dotnet build Examples/Governance/VersionedResolution/VersionedResolution.csproj -c Release
  • dotnet build ModularityKit.Mutator.slnx -c Release

Linked Issues

Checklist

  • Governance runtime foundations stay inside ModularityKit.Mutator.Governance
  • Core and governance examples are separated clearly
  • Governance package release flow publishes alongside the core package
  • ADR coverage exists for implemented and next step governance decisions

rian-be added 5 commits June 22, 2026 15:29
Added

- Version-aware request resolution abstractions for expected state version handling
- Runtime resolver support for stale request outcomes across reject, revalidate, and renewed-approval flows
- Runnable governance example for versioned resolution behavior

Changed

- Governance request decisions now capture stale resolution outcomes explicitly
- Governance package namespace configuration now resolves folder-based namespaces without duplicate Governance segments

Result

Governed requests now resolve against the current state version through explicit runtime semantics instead of silent execution on drifted state. Stale requests produce documented outcomes and append decision history that explains the chosen path.
Added

- Runtime lifecycle manager support for governed mutation requests across pending, approval, cancellation, expiration, superseding, and execution transitions
- Governance-specific request exceptions for missing requests and invalid lifecycle transitions
- Runnable governance request lifecycle example covering pending queries, approval, cancellation, and expiration sweeps

Changed

- Request storage contracts now expose pending lookups by state and reason
- Example projects are now split between Core and Governance so governance samples live under their own path
- Governance runtime storage now follows the same folder-based structure as the rest of src

Result

Governed requests now exist as first-class deferred runtime objects instead of only immediate execution attempts. Pending request flows can be stored, listed, transitioned, and documented through decision history, with dedicated examples showing how the lifecycle behaves in practice.
Added

- ADR-025 for approval-driven governance request handling
- ADR index entry for the approval workflow decision

Result

The governance roadmap now has an explicit architectural decision for approval-specific runtime behavior, separate from the generic pending lifecycle and versioned request resolution work.
Added

- ADR-026 for storage-agnostic governance request queries
- ADR index entry for governance query capabilities

Result

The governance architecture now has an explicit decision for operational request querying so future providers can implement one consistent query surface for pending queues, request history, and governance metadata filters.
Added

- Packaging workflow support for both ModularityKit.Mutator and ModularityKit.Mutator.Governance
- Shared artifact naming for release and attestation workflows

Changed

- Release workflows now restore the solution before packing packages
- Release-drafter and attestation download the combined package artifact instead of only the core nupkg

Result

Release automation now publishes both NuGet packages consistently so core and governance assets flow through the same artifact, attestation, and draft-release pipeline.
@github-actions github-actions Bot added documentation Documentation updates and additions architecture Design, structure, and API-shape changes examples Runnable examples and sample apps ci CI/CD and repository automation changes labels Jun 22, 2026
@rian-be rian-be merged commit 2c53e29 into main Jun 22, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

architecture Design, structure, and API-shape changes ci CI/CD and repository automation changes documentation Documentation updates and additions examples Runnable examples and sample apps

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task]: Implement governance pending mutation lifecycle [Task]: Define governance versioned request resolution

1 participant