feature: verified macOS install and launchd service lifecycle
Open
@huang195 is already working on this.
Since Sep 10, 2026.
enhancement
high priority
- Dominant language
- Go
- Stars
- 13
- Forks
- 40
- Avg merge
- 12h 17m
- Merged PRs (30d)
- 156
Description
Feature Description
The install path is the first thing anyone touches and the easiest place to lose a user. macOS
is its own code path — launchd, plist rendering, launchctl bootstrap — and it is verified ad
hoc today on whatever machine the author had.
Proposed Solution
- Fresh install via
curl | shon a machine that has never run Cortex, arm64 and amd64 - Upgrade over an older install: service restarted, config preserved
- Uninstall leaves no launchd registration, no
~/.cortex, no modified agent settings - Re-running install is idempotent
- Service survives logout/login and a crash
-
abctl service status | start | stop | restartaccurate in every state -
stoptolerates the proxy's ~15s drain — returning before the port is released makes
the nextstartfail - Plist rendering safe for
$HOMEand--configpaths containing XML metacharacters
Additional Context
Part of the Cortex v0.9.0 release. Gates exit criterion 1 (install works cold). Automated by
the macOS release smoke test.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.