v0.29.0

thevoiceguy/siphon-aiv0.29.0Jul 10, 2026by github-actions[bot]

Upgrading?

AI Summary

Introduces a protocol conformance testkit to validate WebSocket protocol v1 implementation and adds CI coverage for the Node.js echo server.

Key Highlights

  • New `siphon-ai-testkit` binary for WS protocol v1 validation.
  • Scripted TOML scenarios for validating wire types and frame sizing.
  • CI job now runs conformance tests against both Python and Node echo servers.
  • Enforces §5.7 close semantics and unknown-event tolerance.

New Features

  • Protocol conformance testkit
  • Conformance CI job

Full Release Notes

### Added

- **Protocol conformance testkit — `siphon-ai-testkit`** (P1 "Protocol
  SDKs & machine-readable schemas", final release — the theme is
  complete). A new `crates/protocol-testkit` binary that plays the
  *daemon's* side of WS protocol v1 against any candidate server — no
  SIP, no RTP, no daemon needed. Scripted calls from TOML scenarios
  (five bundled: `basic-echo`, `dtmf`, `recording-controls`,
  `hangup-semantics`, `keepalive`; `--scenario-dir` adds your own) with
  every server message validated against `schemas/siphon-ai.v1.json`
  **and** the daemon's real wire types, exact 20 ms frame sizing and
  real-time pacing asserted, §5.7 close semantics enforced (bare close
  mid-call is a violation; server `hangup` is honored daemon-style),
  unknown-event tolerance probed, and WS keepalive checked. Exit code 0
  iff conformant plus a JSON report (`--report`) — *"conformant with
  protocol v1"* is now a claim any third-party server's CI can gate on.
  See `docs/CONFORMANCE.md`.
- **`conformance` CI job** — every PR now runs the full scenario set
  against **both** SDK echo servers (`echo-ws-server-python`,
  `echo-ws-server-node`) — the first CI coverage for the Node echo
  server, closing the theme's last verification gap.

The WS protocol stays **v1**; the daemon binary is unchanged (the
testkit's one new dependency, the `jsonschema` validator, is
test-tooling only).

---

**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.29.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