v0.21.0
thevoiceguy/siphon-aiv0.21.0Jul 1, 2026by github-actions[bot]
Upgrading?
AI Summary
This release introduces observability completeness with a runnable Prometheus and Grafana stack, including 16 recording rules and 12 alerting rules for monitoring daemon metrics. It also adds an anti-drift CI check to ensure shipped artifacts match emitted metrics.
Key Highlights
- Dashboards & alerts as code (Prometheus + Grafana stack)
- 16 recording rules (per-route rates, latency, packet loss)
- 12 alerting rules (target down, high reject rate, spool backlog)
- Anti-drift CI check for observability artifacts
New Features
- Runnable observability stack in examples/observability/
- Observability anti-drift CI check script
- Concrete operations documentation (docs/OPERATIONS.md)
Full Release Notes
### Added - **Dashboards & alerts as code** (P1 "Observability completeness"; first sub-item of the theme). A runnable Prometheus + Grafana stack under [`examples/observability/`](examples/observability/) — the consumer artifacts for the metrics the daemon already emits, no daemon code. Ships a reference scrape config, **16 recording rules** (per-route call rates, INVITE reject ratio, latency percentiles for WS-connect / SDP-negotiate / call-duration / RTP-RTT / packet-loss / room-tick-lag, webhook delivery success ratio, registration state), **12 alerting rules** (target/ registration down, high reject rate, dead air, slow WS connect, high RTP RTT / packet loss, spool backlog, delivery failing, admission flooding, sip-auth brute force, drain forced), and **two provisioned Grafana dashboards** (Fleet Overview + Call Quality). `docker compose -f examples/observability/compose.yaml up` stands the whole stack up. - **Observability anti-drift CI check.** `scripts/check-observability-metrics.py` (new `observability artifacts` CI job) asserts every `siphon_ai_*` metric referenced in the shipped rules/dashboards is actually emitted by the daemon, and `promtool check config` validates the PromQL — so a metric rename can't ship silently-broken artifacts (same spirit as the version gate). ### Changed - **`docs/OPERATIONS.md` made concrete.** The §11.8 "ten questions" now carry the worked PromQL and the covering dashboard/alert for each metrics- answerable one, plus a symptom → dashboard table. `docs/DEPLOY.md`'s metrics section points to the shipped stack. (Prometheus/Grafana for the aggregate; Homer for the individual call.) --- **Artifacts** - Static musl binaries for `x86_64` and `aarch64` (`.tar.gz`). - Debian packages (`.deb`) for `amd64` and `arm64` — `apt install ./siphon-ai_*_amd64.deb`. - `SHA256SUMS` — verify with `sha256sum -c SHA256SUMS`. - `*-sbom.cdx.json` — CycloneDX SBOM. - `SHA256SUMS.cosign.bundle` — cosign keyless signature over the checksums. - Container: `ghcr.io/thevoiceguy/siphon-ai:v0.21.0` (multi-arch, cosign-signed). Verify the checksums signature: ``` cosign verify-blob --bundle SHA256SUMS.cosign.bundle \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ --certificate-identity-regexp 'release.yml@' SHA256SUMS ```
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one