One scan, one action
When a step offers exactly one choice, the scan runs it directly: the item that just arrived is claimed and its form is on screen.
The situation
At a busy bench the only sensible thing to do with an arriving item is start work on it. A screen with one button is a wasted tap, repeated hundreds of times a shift.
The recipe
Give the present step a single confirm-less choice and set autoSelectSingle: true.
{ "query": { "roles": ["assembly"], "status": "pending", "availability": "available" }, "verb": "present", "autoSelectSingle": true, "choices": [ { "label": "Start", "verb": "claim-show-detail", "requireActingIdentity": true, "params": { "durationMinutes": 30 } } ]}The associate scans the item. It is claimed for 30 minutes, attributed to them, and the station navigates to its detail page: the same form every operator uses to resolve, reject or conclude the item.
The guarantee
An unsatisfied identity requirement never auto-fires as the wrong actor. With no badge primed, the scan stops at the badge screen, and once a badge primes the pending action completes on its own. The claim itself is atomic: of two benches scanning the same item, one wins and the other gets conflict. See Scan codes.
Related patterns
The physical world
Facts above, choices below
One lifelong code serves many intents: the station states what is true about the row and offers the actions that fit.
The physical world
A badge attributes, never grants
A badge scan mints a short-lived acting grant; every act then runs as the badged person under their own live RBAC.
The physical world
Station login, badge at submit
A shared device signs in read-only; anyone edits the form, and the badge is asked for once, at the submit that changes the record.
