## Context PRD: [`docs/PRD.md`](../blob/main/docs/PRD.md) §§5, 6.1, 8. Devices/pairings sit under each project; remote control needs a registered worker device. ## Goal Register and list devices so a CLI worker (or other client) can identify itself before attach / job claim. ## Out of scope - Push notifications / MDM - Hardware attestation - Full pairing UX (QR, etc.) ## API (sketch — implementer may refine) | Method | Path | Behavior | |--------|------|----------| | PUT | `/v1/orgs/{org}/projects/{project}/devices/{device_id}` | Upsert device JSON + CAS | | GET | `/v1/orgs/{org}/projects/{project}/devices/{device_id}` | Fetch + ETag | | GET | `/v1/orgs/{org}/projects/{project}/devices` | List devices for project (stable order) | Fields: `id`, `org_id`, `project_id`, `label`, `worker_kind` (e.g. `cli`), `last_seen_at`, timestamps. ## Acceptance criteria - [ ] Upsert + get + list against memory Store - [ ] Tenant isolation via keys + auth - [ ] `make check` green ## Dependencies Auth on serve path; key helpers already have device keys. ## How to hand to Aixgo Code Apply **`ax:go`** after M1 wiring + desired-state (or parallel with attach if coordinated).
Activity