65e0d3d672
Part A: Move executionRunId assignment from enqueueWakeup() to claimQueuedRun() — lazy locking prevents stale locks on queued runs. Part B: Clear executionRunId when assigneeAgentId changes in issues.ts line 759, matching existing checkoutRunId clear behavior. Part C: Add staleness detection at checkout path. Fixes: 4 confirmed incidents where stale executionRunId caused 409 checkout conflicts on new and reassigned issues.