v0.8.0 — Voice, Brain Orb, and enterprise identity
Released: 2026-07-08 · Tag: v0.8.0 · Previous: v0.7.0
Diff: v0.7.0...v0.8.0
▶ Watch the release tour — a video walkthrough of this release.
The headline of this release: agents can now speak — outbound voice replies land
across Telegram, Slack, and WhatsApp — and Cornelius-class agents get the Brain
Orb, a self-rendering 3D mind page with live voice, knowledge-base search, and
capture-to-graph writes. On the platform side, v0.8.0 ships the enterprise
identity layer (2FA/TOTP, SSO, operator Access tab, fleet-wide permissions
matrix) and a substantial security & reliability hardening pass.
110 issues across both trackers — the largest Trinity release to date. Full
grouped notes: docs/releases/0.8.0.md.
🗣️ Outbound voice across channels — the theme
Agents reply with real spoken voice notes, not just text (ElevenLabs TTS, per-agent
voice + toggle, graceful text fallback):
- Telegram — voice replies via
sendVoice(OGG/Opus) - Slack — inline audio clips via the Files upload flow
- WhatsApp —
audio/oggvoice notes over the Twilio media path
Configure per agent under Settings → Voice replies (requires a platform
ELEVENLABS_API_KEY).
🧠 Brain Orb — the self-rendering mind page
A capability-gated 3D knowledge-graph page for second-brain agents: static render,
live scope mount/unmount, a client-held Gemini Live voice tile (browser ↔ Google
directly — Trinity only mints a locked ephemeral token), read-only KB search, and
owner-gated capture/link writes with the full write → re-export → refetch loop.
Fresh installs auto-seed a default Cornelius agent so the orb renders
out-of-the-box, and fork-to-own creation copies the template into the user's own
repo at agent creation.
🔐 Enterprise identity & access
- Two-factor authentication (2FA/TOTP) — mandatory for admins, optional for users
- SSO (SAML/OIDC) for enterprise identity providers
- Access tab — manage which Trinity operators can reach an agent, active vs pending
- Fleet-wide agent-to-agent permissions matrix in Settings (caller × target grid)
- Client roster — see external channel users (Telegram/WhatsApp) per agent
- Client Portal (first slice) — configurable exposure for an external-client web surface over public links
🛡️ Security hardening
- #187 JWT tokens are revoked on logout (Redis
jtiblacklist) — an exfiltrated 7-day token now dies with the session - #186 Enumeration-uniform 404s — agent/user existence can no longer be probed via differential responses
- #267 Credential encryption-key rotation — online dual-key decrypt + re-wrap runbook
- #1353 23 Dependabot alerts remediated on the default branch
- Webhooks: optional per-schedule HMAC signature auth, pre-auth rate limit, body cap, soft-deleted-agent guard
- CodeQL-driven hardening: repo-URL hostname parsing, Brain Orb XSS + vendored three.js alerts, path-containment guard at the file write/unlink sink
⚙️ Reliability
- #1085 Correlated-failure / thundering-herd controls — jitter, re-delivery caps, shared-cause pause on the async callback path
- #1084 Effect-scoped idempotency keys — outbound side effects (messages, calls, payments, shares) dedup at the sink
- #1401 Structured recovery trace injected into re-delivered executions
- #1463 / #1464 Circuit-breaker false-opens on busy agents fixed; fleet monitoring no longer double-probes under multi-worker
- #1472 Stale
next_run_atsilently skipping cron fires — root-fixed plus a new canary invariant (E-06)
🔁 Agent loops get guardrails
- #1155 Hard cost budget (
max_cost_usd) - #1156 Wall-clock deadline (
max_duration_seconds) - #1157 Doom-loop detection — stop after K identical responses (default on for new loops)
🖥️ UI
- #1112 Chat + Session unified into one Chat tab with a session-mode toggle (continuity by default)
- Grid dashboard — magnetic tile canvas as a third fleet view alongside Graph/Timeline
- Guided onboarding — streamlined first-run setup wizard (setup token removed) + purpose-picked first agent
- #1416 / #1418 Trinity branding + per-route browser tab titles
- #1266 Skeleton loading states for Dashboard & timeline
- Sharing tab reframed around external-client channel sharing; costs display in one standardized format across the UI
- Slack channel identity + proactive group messaging — agents see who/where and can post proactively into bound channels
- Gacrux added to the Gemini Live voice picker
🧰 Ecosystem — Abilities toolkit
The abilities plugin marketplace moved alongside this release:
/add-orchestrator(agent-dev, new) — turn any agent into a system-aware orchestrator:/discover-agentsscans repos for Trinity specs into a fleet map,/compose-systemturns the map into a Trinity SystemManifest and deploys it,/orchestrateroutes, fans out, and runs ephemeral agents over Trinity MCP — plus fleet reconciliation and an ownership matrix.- Trinity report publishing scaffolded into new agents (create-agent) — agents generated by the wizards ship ready to publish structured reports to the new dashboard surface.
/trinity:syncsafety fix — local changes are stashed, never blanket-discarded.- Long-running-task rule (playbook authoring) — jobs longer than ~10 minutes must decouple from headless runs to OS-level cron/sidecar with a done-marker; onboarding and playbook templates now teach the correct shape.
/plugin marketplace add abilityai/abilities
Upgrade notes
- 2FA is mandatory for admin accounts once the enterprise module is entitled — admins are prompted to enroll TOTP on next login.
- First-time setup changed: no setup token; the wizard requires an admin email. Deploy the first-run window behind a tunnel/VPN until setup completes.
- Re-login after upgrade (JWT secret rotates on backend restart); reconnect MCP clients (
/mcp). - Carried from v0.7.0: PostgreSQL is the recommended production backend (SQLite EOS 2026-09-01 — migration guide).
Full notes (all 110 issues, grouped): docs/releases/0.8.0.md
Contributors: Eugene Vyborov, Claude Code, dependabot


