AitherADK v2.44.0
Fixed — adk enroll silently registered devices into the WRONG TENANT
adk enroll succeeded without an identity and bound the device to the tenant "personal" instead of the caller's workspace.
_extract_tenant_slug() falls back to "personal" when ~/.aither/auth.json is absent, so enrolling a fresh machine reported success while registering it somewhere the owner cannot see. Nothing failed, nothing warned — the endpoint simply never appeared in their workspace.
It bites hardest on unattended installs — phones, headless VMs, cloud images — exactly the machines nobody watches closely enough to notice.
The fix
cmd_enroll now refuses when no identity is present, and names both ways to supply one:
adk login # browser flow
adk login --api-key <key> # headless / phone / VM
AITHER_NODE_TOKEN still counts as an identity, so token-based fleet enrolment is unaffected.
Verified
- Run with an empty
HOME: refuses, exit 1 - 381 tests pass, 5 skipped; ruff clean
- Published sdist checked by hand:
adk/cli.py:3665contains the guard
Found while building a one-command self-host installer for Android's Linux terminal — by running the installer rather than reasoning about it.