Skip to content

[Benchmark]: Measure governance request lifecycle #76

Description

@rian-be

Summary

Benchmark the governance request lifecycle so pending, approved, rejected, expired, and cancelled transitions stay visible over time.

Goal

Measure the overhead of request lifecycle transitions that govern how a mutation request moves through pending and terminal states.

Problem

Governance already models request lifecycle states and transitions, but that path is not benchmarked as a dedicated runtime surface.

Without a benchmark for request lifecycle behavior, changes in submission, transition handling, expiration, cancellation, or terminal state recording can quietly add overhead without being visible in runtime measurements.

Scope

  • Benchmark submitting governance requests into pending state
  • Benchmark transitioning requests through approval-related lifecycle states
  • Benchmark expiring pending requests
  • Benchmark cancelling pending requests
  • Keep the benchmark focused on request lifecycle behavior rather than approval or execution internals
  • Reuse existing governance benchmark helpers where they already exist
  • Make scenario names explicit about the lifecycle transition being measured

Design Expectations

  • The benchmark should measure real request lifecycle behavior rather than a toy loop.
  • Pending and terminal transitions should remain visible where possible.
  • Helper code should stay local to the benchmark project.
  • Scenario names should make the lifecycle path obvious.

Suggested Measurements

  • request submission to pending state
  • request approval-related transition
  • pending request expiration
  • pending request cancellation

Acceptance Criteria

  • Request lifecycle is benchmarked as a distinct governance scenario
  • Pending transition cost is visible in the benchmark results
  • Terminal lifecycle transition cost is visible in the benchmark results
  • The benchmark remains centered on governance runtime behavior

Non-Goals

  • This issue does not change governance runtime behavior
  • This issue does not add provider-specific persistence benchmarks
  • This issue does not optimize lifecycle transitions prematurely
  • This issue does not add full integration or load testing

Notes

This issue is a child of the governance benchmark umbrella #73.

Metadata

Metadata

Assignees

Labels

benchmarkBenchmark coverage and performance measurement changes

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions