多段フローの上限判定は新規開始だけを止め、予約済み処理の完了を許可する
テスト
設計判断
UI設計
判断
運用
複数段階で一つの成果物を完成させるフローでは、中間状態を容量へ計上して新規開始を抑止する必要がある。一方、現在の総数が上限かどうかだけで全操作を一律に無効化すると、上限到達前に開始して容量を予約済みの処理まで完了不能になる。
上限判定は「新しい単位を増やす操作」と「予約済みの単位を完成させる操作」に分ける。最初の段階で残容量を確認して枠を予約し、中間状態も総数へ含める。後続段階は新しい単位を増やさないため、総数が上限と等しくても実行を許可する。完了後にさらに新規開始しようとした場合だけ上限で止め、途中キャンセル時は予約枠を解放する。
検証では、上限直前から新規開始できること、中間状態を加えて上限へ達した後も後続段階を完了できること、完了後の新規開始は無効になること、キャンセル後は枠が戻ることを境界ケースとして固定する。