github Vexa-ai/vexa v0.12.3
Vexa 0.12.3 — first witnessed release

9 hours ago

Vexa v0.12.3 — the first release to pass a live human witness. Same delivery machinery as
0.12.1, now with a batch of real features and the witness fixes that batch's own release pass
surfaced. Proven on what we name; the gaps are named too.

Witnessed value

A human joined a real Google Meet on a fresh self-host deploy of these published images, admitted
the bot, and spoke — and the live transcript rendered in the terminal, speaker-attributed, and
sustained
through continuous speech (local CPU whisper). That is the core promise, witnessed —
not inferred from green CI. (Owner witness, 2026-07-13.)

What's in it

  • Setup wizard now ends with a working bot (#504) — the documented UI STT path actually spawns
    a transcribing bot; the top fresh-install complaint (#502).
  • Gateway edge protection (#555) — per-IP throttle, auto-ban, static blocklist; on by default
    with generous limits. Opt out with GUARD_ENABLED=false.
  • Install runs the artifacts we proved (#569/#572) — make all now pulls the published,
    release-validated images (services, workers, agent, bot) instead of building from source; no more
    local build shadowing a published :v012. make dev is the from-source contributor path.
  • Apple Silicon (#558) — arm64 images published (best-effort; not yet CI-validated — see below).
  • Governance made real (#559/#563) — the validation ladder, the per-PR autonomous value leg
    (pr-value), and the two human choke points (merge card + release witness). This release is the
    first run of that witness in anger.

The witness fixes (this batch's release pass caught its own bugs)

  • #586 — live transcript stream was blank on lite: agent-api couldn't reach meeting-api to
    authorize the SSE feed (missing VEXA_MEETING_API_URL). Fixed; and CPU STT default → small.
  • #587 — REST transcript timestamps were corrupted to the year 2083 (double-counted epoch).
  • #588validate-lite now guards the #586 class: it subscribes to the live stream as the
    owner and fails if it 403s. The machine now catches what the human caught here.
  • #590 — the bot build no longer hard-fails when HuggingFace rate-limits CI; it retries then
    degrades gracefully (the diarization model is fetched at runtime instead).

Validated on — coverage statement (proven on what we name)

Machine legs, all green against the published :v0.12.3 images (run):

  • Google Meet — WORKS, witnessed. Join → capture → CPU STT → speaker-attributed live transcript,
    rendered end to end by a human. Deployment: lite (self-host compose).
  • Every documented install path — compose · lite · Kubernetes/helm come up and pass the product
    FSM; 0.10 API backward-compat green; real bot spawn green; every image proven to match its name.
  • Fresh machine — these images were pulled onto a from-nothing cloud VM and the digest verified
    against Docker Hub (the install-truth path, #572).

Honestly unclaimed / experimental — do not rely on these yet

  • Jitsi (#543) — EXPERIMENTAL. The join path works, but the bot gets stuck at admission on real
    rooms and never becomes visible/transcribes. Tracked in #592. Ships as experimental.
  • Microsoft Teams — KNOWN BROKEN. The bot joins and is admitted, then self-leaves within ~0.1s
    (a post-admission fault evicts it) — no transcript. Tracked in #593.
  • Autonomous audio→words proof — not yet a CI leg (#560); transcription correctness is
    witness-proven this release, not machine-proven.
  • arm64 — published best-effort; no CI leg executes an arm64 image yet.
  • Hosted STT under load — the internal fallback token is capacity-saturated (ops item); this
    release's transcript was witnessed on self-hosted CPU whisper.

Pointers

:v012 moves to v0.12.3 on all images. :latest unchanged. vexaai/vexa-bot:{dev,latest}
untouched (0.10 line). v0.12.2 was validated and promoted internally but failed its witness and
was never released
— v0.12.3 supersedes it.

Don't miss a new vexa release

NewReleases is sending notifications on new releases.