You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The operation ID makes repeated calls safe after an uncertain response. Activation confirmation is idempotent for the same identity and generation. A stale generation or different identity fails without mutation.
Every reusable warm identity also uses the shared ManagedIdentityStatus lookup and removal acknowledgement from #72. This includes an identity that never receives a lease.
Capacity rules
Apply the limit to each platform managed limit.
Apply the limit to each platform running limit.
Apply the limit to the global running limit.
Keep one cold-demand slot free in each applicable limit.
Keep managed-device capacity charged until deletion completes.
Keep running capacity charged until shutdown or deletion completes.
Let cold demand remove the least recently used warm device.
Do not bypass the lease queue when capacity becomes free.
The effective target must satisfy the configured fraction and the cold-demand reservation in every applicable dimension. A capacity of 1 permits no warm device. A capacity of 3 with the default fraction permits at most 1.
Convergence rules
Start convergence after startup recovery completes.
Start convergence after grant, release, deletion, or catalog change.
Do not grant a device that fails health or cleanup.
For a reusable identity, return awaiting-external-fence before it can become ready.
Count the identity as ready only after Host installs or reattaches its pool-lifetime execution claim and confirms the exact generation.
Keep the identity reserved and capacity-bearing while confirmation is pending.
Persist removing and removed identity status when cold demand, health recovery, or maintenance removes a warm identity.
Keep removed status queryable across restart until Host acknowledges the exact generation.
Return settled only when Simlock reaches the effective target.
Return blocked with a typed reason when Simlock cannot reach the target.
While a maintenance epoch is active, reject non-epoch convergence and activation with MAINTENANCE_EPOCH_ACTIVE.
Part of #70. See ADR 0021.
Purpose
Create ready devices before the first lease request.
The current warm pool keeps some released devices ready. It does not create devices to reach a configured target.
Simlock must remain the only owner of warm capacity and admission.
Configuration
Use these defaults:
target: 0disables proactive work. A Host installation can settarget: 1.Client API
The operation ID makes repeated calls safe after an uncertain response. Activation confirmation is idempotent for the same identity and generation. A stale generation or different identity fails without mutation.
Every reusable warm identity also uses the shared
ManagedIdentityStatuslookup and removal acknowledgement from #72. This includes an identity that never receives a lease.Capacity rules
The effective target must satisfy the configured fraction and the cold-demand reservation in every applicable dimension. A capacity of 1 permits no warm device. A capacity of 3 with the default fraction permits at most 1.
Convergence rules
awaiting-external-fencebefore it can become ready.removingandremovedidentity status when cold demand, health recovery, or maintenance removes a warm identity.removedstatus queryable across restart until Host acknowledges the exact generation.settledonly when Simlock reaches the effective target.blockedwith a typed reason when Simlock cannot reach the target.MAINTENANCE_EPOCH_ACTIVE.Completion conditions
Depends on #71, #72, #74, and #75.