Skip to content

Refine governance runtime and request lifecycle#48

Merged
rian-be merged 17 commits into
mainfrom
develop
Jun 30, 2026
Merged

Refine governance runtime and request lifecycle#48
rian-be merged 17 commits into
mainfrom
develop

Conversation

@rian-be

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

Copy link
Copy Markdown
Contributor

Summary

This PR expands the governance runtime by introducing governed execution abstractions, refining the request model, and restructuring lifecycle handling. It also improves the internal testing infrastructure and updates the examples to reflect the new API.

Highlights

Governed execution

  • Add governed execution abstraction models.
  • Refine the governance execution runtime.
  • Document runtime resolution helpers.
  • Document the governed execution compensation model.

Request model

  • Refine governance request abstractions.
  • Introduce a dedicated MutationRequest.Lifecycle object.
  • Move lifecycle related properties into the lifecycle model to improve cohesion and simplify the public API.

Testing

  • Reorganize shared runtime test fixtures.
  • Reorganize governance and Redis provider test fixtures for focused scenarios.
  • Extract Redis-specific keyspace and serializer support where it reduces repetition.
  • Extract reusable runtime policy test support.
  • Extract strongly typed side-effect test payloads.

Examples

  • Update governance examples to use the new request model and lifecycle structure.

Why

As the governance layer continues to evolve, the original request model became increasingly difficult to extend. Grouping lifecycle information into a dedicated object provides a cleaner API while making future governance capabilities easier to implement.

This refactoring also prepares the runtime for richer execution scenarios by:

  • separating execution concerns from request representation,
  • improving the organization of lifecycle state,
  • reducing duplication across the test suite,
  • documenting the execution and compensation model,
  • providing clearer extension points for future governance providers.

Breaking Changes

MutationRequest has been updated.

Lifecycle related members are now exposed through the Lifecycle object instead of being located directly on the request.

Examples and tests have been updated accordingly.

Closes

@rian-be rian-be self-assigned this Jun 30, 2026
@github-actions github-actions Bot added documentation Documentation updates and additions architecture Design, structure, and API-shape changes examples Runnable examples and sample apps tests Test coverage and test changes labels Jun 30, 2026
@rian-be rian-be merged commit 89ba695 into main Jun 30, 2026
10 of 12 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 documentation Documentation updates and additions examples Runnable examples and sample apps tests Test coverage and test changes

Projects

None yet

1 participant