Install this release:
bash <(curl -fsSL https://raw.githubusercontent.com/llmsyscore/llm-systems-manager/main/tools/installer/install.sh) --ref v1.0.11The installer verifies llm-systems-manager-v1.0.11.tar.gz.sha256 before deploying anything.
This release consolidates and supersedes v1.0.8–v1.0.10 (published and replaced the same day while the Homebrew restart/InfluxDB work was hardened; those releases have been removed). Everything below is new since v1.0.7.
Homebrew install — fixed end to end (#437, #440, #442, #444, #447)
- Admin-tab restarts work under brew. The manager detects it runs from a Homebrew keg and restarts via process-exit instead of the sudoers systemctl grant (fixes the HTTP 500 "not permitted by sudoers"); the alarm-engine restart button now appears when the AE keg is installed, and restarts it via its management API (#437/#438).
- Self-restarts actually respawn. Homebrew's generated systemd units are
Restart=on-failure, which excludes SIGTERM — so the old SIGTERM-self restart left services dead. The alarm engine hard-exits1on a requested restart (#442/#443) and caps its graceful shutdown at 10s so stops no longer hang on the manager's alarm WebSocket (#440/#441). The agent restarts via a programmatic uvicorn shutdown followed by exit1, preserving its metric-drain/child-cleanup shutdown work — brew-installed agents can now be restarted from the admin tab and complete self-updates; a genuine startup failure now exits3instead of masquerading as a clean stop (#444/#449). The agent's first-TLS auto-restart is covered too. - InfluxDB setup is automated — and targets the right InfluxDB. Two real-world traps fixed: the
influxCLI ships in the separateinfluxdb-cliformula, and Homebrew's plaininfluxdbformula is now InfluxDB 3.x, which has no v2 API and never answers the v2 health endpoint this stack needs. Docs and caveats now saybrew install influxdb@2 influxdb-cli, and the newllm-systems-influx-setupcommand (installed by the manager formula) starts theinfluxdb@2service, onboards it, creates thealarm_engine_metrics+alarm_engine_metrics_rollupbuckets with read/write scoped tokens, and writes them (plus the operator token) into[influxdb.tokens]— secrets never touch process argv (#437, #447/#448). The helper waits up to 120s with progress, bails out early with full diagnostics (service state + influxd log tail) if the service errors, gives a targeted message when only the v3 formula is installed, and is idempotent. - Tap-side cleanups (llmsyscore/homebrew-tap): deduplicated caveats, dev/CI files pruned from the kegs (matching the deb/rpm payload), and the agent formula seeds the full example config with
AGENT_OSset per platform instead of a one-line stub.
Release engineering
- Artifact-gated releases (#445/#446, #450/#451). The release pipeline now runs the full brew control-plane e2e — install, health, the alarm-engine self-restart, and real InfluxDB@2 provisioning via
llm-systems-influx-setup— against the just-built tarball on macOS and Linux, and only publishes (release, deb/rpm, ghcr images) when it passes. This release is the first published through the gate. Aworkflow_dispatchdry-run mode tests any tag without publishing. - Tap auto-bump fixed (llmsyscore/homebrew-tap#4, #6): the 6-hourly bump workflow now opens a PR via a GitHub-signed API commit instead of pushing to the protected
main(which the ruleset rejected on every real release). - CI now exercises the InfluxDB provisioning chain end to end — buckets created, tokens written to the TOML, permissions kept 0600, idempotent re-run (#447, homebrew-tap#5).
Component versions
| Component | Version |
|---|---|
| Manager | v2026.07.19-1 |
| Alarm engine | v2026.07.19-3 |
| Agent | v2026.07.19-2 |