Purpose
agent-device Host will use a local Simlock daemon to supply managed devices.
Host owns network access, user identity, sessions, automation, artifacts, and supervision. Simlock owns device allocation, capacity, lifecycle, health, and cleanup.
Host uses the Simlock Unix socket. Simlock does not need a new public network API.
ADR 0021 defines this boundary.
Required work
Platform rules
- iOS creates a new simulator identity for each Host lease. Simlock deletes the simulator after release, expiry, or recovery-driven lease termination.
- Android can reuse an emulator identity. Simlock must check the clean state after Host installs an execution fence.
- Host keeps the managed execution claim for an Android identity during its full pool lifetime, including idle and reclaim states. Host clears the claim only after Simlock proves that the identity was removed.
Related work
Completion conditions
- One local connection can control concurrent leases up to the configured capacity.
- A retry or process restart cannot create a duplicate lease.
- Simlock is the only owner of capacity and managed-device lifecycle.
- Simlock rejects an incompatible client before a mutation starts.
- Maintenance stays active after a restart.
- Cleanup cannot change a foreign device.
- A reusable Android identity cannot become unclaimed between leases or during reclaim.
Purpose
agent-device Host will use a local Simlock daemon to supply managed devices.
Host owns network access, user identity, sessions, automation, artifacts, and supervision. Simlock owns device allocation, capacity, lifecycle, health, and cleanup.
Host uses the Simlock Unix socket. Simlock does not need a new public network API.
ADR 0021 defines this boundary.
Required work
Platform rules
Related work
Completion conditions