Summary
Implement a first-class pending mutation lifecycle in ModularityKit.Mutator.Governance so governed mutation requests can exist as deferred runtime objects rather than only immediate execution attempts.
Goal
Make pending execution a durable lifecycle in governance, so requests can wait for approval, external checks, scheduling, dependencies, or quota without being reduced to a terminal mutation result.
Scope
What should be implemented?
Acceptance Criteria
Notes
This issue is the runtime realization of ADR-021.
Approval is only one kind of pending flow. The lifecycle must also leave room for:
- external checks
- scheduling
- dependency waits
- quota holds
- manual review
The current runtime covers the generic pending lifecycle and leaves approval-specific workflow behavior for the next issue.
Related ADRs:
- ADR-020: Governance MutationRequest Model
- ADR-021: Governance Pending Mutation Lifecycle
- ADR-022: Governance Request Decisions and Storage
- ADR-024: Governance Runtime Pending Request Handling
Summary
Implement a first-class pending mutation lifecycle in
ModularityKit.Mutator.Governanceso governed mutation requests can exist as deferred runtime objects rather than only immediate execution attempts.Goal
Make pending execution a durable lifecycle in governance, so requests can wait for approval, external checks, scheduling, dependencies, or quota without being reduced to a terminal mutation result.
Scope
What should be implemented?
MutationRequestStatus.PendingPendingMutationReasonPending,Approved,Rejected,Canceled,Expired,Superseded, andExecutedMutationRequestDecisionAcceptance Criteria
ModularityKit.Mutator.GovernanceNotes
This issue is the runtime realization of ADR-021.
Approval is only one kind of pending flow. The lifecycle must also leave room for:
The current runtime covers the generic pending lifecycle and leaves approval-specific workflow behavior for the next issue.
Related ADRs: