Portable workflow tasks now enforce the persisted cooperative cancellation cleanup deadline before lease renewal and command acceptance. At expiry, the engine cancels the original run, revokes open work and preserves one terminal cancellation linked to the original request.
Valid cleanup before the deadline and existing ordinary timeout behavior are preserved. The stable service /cancel operation remains terminal. This patch does not introduce a service cooperative request operation or advertise SDK cleanup support.
Qualified with the full source database, unit coverage, replay corpus and Laravel upgrade matrix. Published package verification runs on this exact tag. Server's pinned-image delivery is tracked separately in Server #286.
Fix and evidence: Workflow #595.