71 Commits

Author SHA1 Message Date
flux-bot
a59590be79 chore(hermes): promote validated image release 2026-08-25 02:56:09 +00:00
flux-bot
63bd63c283 chore(hermes): promote validated image release 2026-08-25 01:35:01 +00:00
flux-bot
700301d554 chore(hermes): promote validated image release 2026-08-25 00:35:53 +00:00
flux-bot
77380bfc25 chore(hermes): promote validated image release 2026-08-25 00:11:52 +00:00
flux-bot
f96070f6d9 chore(hermes): promote validated image release 2026-08-24 23:48:49 +00:00
flux-bot
88f8e9e629 chore(hermes): promote validated image release 2026-08-24 22:47:03 +00:00
flux-bot
4de37f4f3a chore(hermes): promote validated image release 2026-08-24 19:08:58 +00:00
flux-bot
04f060db3e chore(hermes): promote validated image release 2026-08-24 17:22:30 +00:00
flux-bot
3beb478258 chore(hermes): promote validated image release 2026-08-24 14:44:10 +00:00
flux-bot
1dd8660f27 chore(hermes): promote validated image release 2026-08-24 10:07:40 +00:00
flux-bot
1d29c25c9b chore(hermes): promote validated image release 2026-08-24 08:44:32 +00:00
flux-bot
a23cf838b2 chore(hermes): promote validated image release 2026-08-24 04:24:04 +00:00
flux-bot
1a586d9523 chore(hermes): promote validated image release 2026-08-24 03:43:01 +00:00
flux-bot
70d797deb3 chore(hermes): promote validated image release 2026-08-24 02:27:52 +00:00
flux-bot
dbb0bf542e chore(hermes): promote validated image release 2026-08-23 23:24:33 +00:00
flux-bot
55e21c9e08 chore(hermes): promote validated image release 2026-08-23 22:08:29 +00:00
jenkins
708d611101 feat(hermes): stream hands-free voice turns 2026-08-23 18:29:12 -03:00
jenkins
45ab125692 fix(hermes): skip completed startup migration 2026-08-23 18:20:08 -03:00
flux-bot
0fab341263 chore(hermes): promote validated image release 2026-08-23 21:04:22 +00:00
flux-bot
ddc46aa845 chore(hermes): promote validated image release 2026-08-23 20:12:17 +00:00
jenkins
8d9b75a28c fix(hermes): retain full automated image refs 2026-08-23 14:22:26 -03:00
flux-bot
0da2483dd3 chore(hermes): promote validated image release 2026-08-23 17:20:01 +00:00
jenkins
c0b806e5d2 release(hermes): automate validated image promotion 2026-08-23 13:41:58 -03:00
jenkins
f1739e7108 fix(hermes): keep sessions off storage nodes 2026-08-23 10:43:42 -03:00
jenkins
271f3e8c32 ops: spread saturated node workloads 2026-08-23 10:37:01 -03:00
Hermes Agent
79be4d1c71 refactor(hermes): rename chat and triage public hosts 2026-08-21 06:43:19 +00:00
jenkins
0dd6ea0f02 hermes: add durable Telegram topics 2026-08-16 15:59:09 -03:00
jenkins
89b9f1a4c7 hermes: isolate runtime access and expose activity 2026-08-15 22:15:40 -03:00
jenkins
3a8d6ef10a hermes: roll out triage lineage cleanup 2026-08-13 01:48:03 -03:00
jenkins
cb08426d32 hermes: group legacy triage API runs 2026-08-13 01:14:31 -03:00
jenkins
145d30eac2 hermes: group automated triage sessions 2026-08-13 00:50:34 -03:00
jenkins
c11408258c hermes: restore native provider routing 2026-08-12 23:08:21 -03:00
jenkins
422f001a93 hermes: make Switchyard the routing authority 2026-08-11 20:22:26 -03:00
jenkins
a6472c071f hermes: restart router after wire fix 2026-08-11 16:33:53 -03:00
jenkins
9f21f66fcb hermes: route turns by service priority 2026-08-11 16:22:19 -03:00
jenkins
88f764a7c8 hermes: add automatic hosted and local image routes 2026-08-11 05:20:18 -03:00
jenkins
5b208ae9c4 fix(hermes): isolate workers and gate noisy speech 2026-08-10 01:47:51 -03:00
jenkins
20873e7a4d perf(hermes): pipeline conversational voice playback 2026-08-10 01:21:51 -03:00
jenkins
4d029f85b7 feat(hermes): add private voice and isolated workflows 2026-08-10 00:43:10 -03:00
jenkins
97e0113aa8 fix(hermes): exclude runtime-stalled worker 2026-08-08 19:23:58 -03:00
jenkins
d0e2668409 fix(hermes): use WebUI for control surfaces 2026-08-08 19:18:33 -03:00
jenkins
3250f6d9d4 fix(hermes): allow coordinator startup to finish 2026-08-08 19:05:17 -03:00
jenkins
62312cc4ce fix(hermes): run triage gateway as nonroot 2026-08-08 19:01:14 -03:00
jenkins
29d2d74079 fix(hermes): avoid unhealthy session nodes 2026-08-08 18:42:13 -03:00
jenkins
249628a4fa fix(hermes): avoid storage-unready accelerators 2026-08-08 18:27:22 -03:00
jenkins
04b42b1208 fix(hermes): harden non-root startup 2026-08-08 18:17:30 -03:00
jenkins
bb73efb285 feat(hermes): split chat agent and triage surfaces 2026-08-08 17:59:57 -03:00
jenkins
10a629d5a7 feat(ariadne): sweep seven projects, and stop advertising the wrong model
The sweep covered four projects because only four had a write allowlist.
ananke (Go, cmd/ and internal/), pegasus (Go backend, TS frontend) and
atlasbot (Python) all have SonarQube projects and mapped repositories; they
were excluded only for want of prefixes and suffixes, which are now set from
each repository's actual layout.

The per-sweep ceiling rises to seven, one per project. With rule-level dedupe
a project stops producing proposals once every rule it has is already under
review, so this is a ceiling rather than a rate - the backlog cannot become a
queue nobody drains.

The Hermes deployment annotation still advertised gpt-5.6-terra as primary.
The config has had claude-opus-5 as default and primary for some time, so the
annotation was telling operators the wrong thing about which model made a
decision.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 04:45:15 -03:00
jenkins
18886c5177 fix(hermes): run the Vault agent before the pod's own init containers
The agent init container is appended by default, so init-config ran before
/vault/secrets existed and fell back to the Secret every time. The values were
identical, so the migration appeared to work while Vault was never actually
read.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 12:20:53 -03:00
jenkins
9965b34534 feat(hermes): take the Anthropic credential from Vault
The Claude subscription OAuth token was created as a manual kubectl Secret in
the interest of demo time, with migration to Vault agreed as follow-up. The
value now lives at kv/atlas/hermes/agent-tokens and is injected as a file.

The hermes role gains that path and binds the hermes-triage service account
the deployment actually runs as; it previously bound only hermes-vault. The
init container prefers the Vault file and falls back to the Secret, so this
can be rolled back by removing the annotations alone, and the Secret should be
deleted once Vault has been serving it for a while.

Vault was reachable all along without the operator credential: Ariadne already
holds a vault-admin Kubernetes auth role, which is how the value was written.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 12:14:52 -03:00