Open a stage run and seat its panel
What It Does
Opening a stage freezes the settings needed by that run and creates its initial work. Reviewer resolution can produce a short panel; unsupported external rosters can produce an empty one.
The Flow
When Something Fails
Abort the triggering transaction if opening fails. No partial run is retained. Reject unsupported rule kinds; unavailable external rosters resolve to an empty pool. An empty pool can leave an open run below its required panel size. Abort assignment persistence with the opening transaction. Insufficient eligible reviewers leave vacant seats for staff. Abort the opening transaction when stage-specific handling fails. No partial stage-specific result is committed. Persist handled action refusals; propagate unexpected failures through the opening transaction. Handled follow-up failures remain available for administrative resolution.
Open Design Questions
Database uniqueness protects one open run and one live seat per reviewer. Subsequent runs receive the next stage run number. Opening shares the triggering command transaction and application lock. Roster lookups and new-run writes occur within that boundary.