Hermes Agent ab13edf1ab feat(hermes-tts): multilingual Piper voice policy (en=amy, ru=irina, es=claude)
Supersedes draft PR #24 (hermes/tts-voice-hfc-female): Brad changed the
decision after that task landed, so this starts fresh from origin/main
instead of building on it.

Bakes three checksum-pinned Piper voices (en_US-amy-medium,
ru_RU-irina-medium, es_MX-claude-high) alongside the existing lessac set,
and adds deterministic, allow-listed language routing to
hermes-jetson-tts-server.py: an explicit request "language" field maps
through a fixed dict to one of the three baked voices, with unknown,
missing, or malformed input always falling back to English amy. A
client-supplied "voice" field is never read, so no client input can reach
a filesystem path. All three voices are eagerly preloaded at process
start (measured ~243MB RSS for three vs. ~88MB for one).

The WebUI has no signal for the language of the text it is about to
speak (verified: hermes-webui-atlas-voice.js sends only text and engine),
so no client- or server-side language detection is added; this gap is
documented in NOTES.md and the PR description rather than papered over.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 05:21:42 +00:00

titan-iac

Flux-managed Kubernetes desired-state config for bstein.dev.

Canonical source URL:

  • ssh://git@scm.bstein.dev:2242/atlas/titan-iac.git

Scope

This repo contains cluster configuration consumed by Flux:

  • platform/infrastructure manifests
  • service manifests and kustomizations
  • operational scripts for render/reconcile workflows

Apply model

I use Git + Flux as the source of truth and avoid manual in-cluster edits for durable changes.

Description
No description provided
Readme 17 MiB
Languages
Python 74%
JavaScript 10.2%
Shell 6.2%
TypeScript 3.9%
Go 2.1%
Other 3.4%