Ship a LaunchAgent for the menu-bar face !31

merged merged by cmc on 2026-09-04 17:40 UTC · krz/ambient-companions:docs/menubar-login into main

cmc

Found while actually adding the app to Login Items: macOS stores a bookmark and resolves it to /opt/homebrew/Cellar/ambient-companions/1.2.0/menubar-pet.app. That path disappears at the first brew cleanup after an upgrade and the login item then fails silently.

launchd stores the path as a string and follows the opt symlink each launch, so upgrades are invisible. No KeepAlive — the menu has a Quit item and quitting must stick.

This reverses a decision in the menubar-pet design, which argued Login Items was the mechanism people already know. That reasoning assumed Login Items worked; it does not survive an upgrade.

Verified: the agent loads, runs one instance through the opt path, quitting is not undone, and kickstart brings it back as login would.

Closes #20