Skip to content

Host integration: use Simlock as the local device allocator #70

Description

@thymikee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions