Skip to content

[Task]: Add governance request query API #8

Description

@rian-be

Summary

Add a governance query API so mutation requests, pending approvals, and governance metadata can be retrieved as operational data instead of existing only as stored records.

Goal

Make governance request data usable for real workflows such as listing pending approvals, reviewing high-risk requests, and filtering request history by governance dimensions.

Scope

What should be implemented?

  • Define query contracts for governed mutation requests
  • Support listing pending requests
  • Support filtering by PendingMutationReason
  • Support filtering by request status
  • Support filtering by actor, category, and time range
  • Support filtering by tags, governance metadata, and estimated blast radius
  • Support approval-oriented views such as recent approvals and pending approval queues
  • Keep query abstractions storage-agnostic so later providers can implement them consistently

Acceptance Criteria

  • Governance exposes a query-oriented abstraction, not only point lookup by request id
  • Pending requests can be listed without custom store-specific logic
  • Query surface supports governance metadata and risk-oriented filtering
  • Approval-oriented request views are explicitly supported
  • Query contracts are suitable for future persistence providers
  • The implementation remains in ModularityKit.Mutator.Governance and does not bloat the core runtime API

Notes

Persistence without queryability is only storage. The governance layer becomes operational once request data can be filtered and listed in ways that match approval and review workflows.

This should align with the Governance Data direction in the roadmap.

Related ADRs:

  • ADR-020: Governance MutationRequest Model
  • ADR-021: Governance Pending Mutation Lifecycle
  • ADR-022: Governance Request Decisions and Storage

Metadata

Metadata

Assignees

Labels

No labels
No labels
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions