43 Commits

Author SHA1 Message Date
jenkins
d141b33a7d hermes: resolve difficulty routes from live model catalogs 2026-09-13 01:48:05 -05:00
jenkins
f7b3506a88 hermes(chat): parse large cluster reads before capping the output
The size cap was applied to the raw wire body, so a nodes list (huge
because of status.images) truncated before the image-stripping ran and
came back as a truncation notice. Accept up to 6 MiB on the wire to
parse and clean, then enforce the 384 KiB model-facing cap on the
stripped result - nodes now returns real data. Delivered via the
cluster-read ConfigMap; picked up on the next pod roll.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 16:25:21 -03:00
jenkins
ed0bc30d7c hermes(chat): make cluster_read robust to large node listings
Node .status.images (every cached image on the node) overflowed the
size cap and left json.loads parsing a truncated blob, so a nodes query
came back as a non-JSON error. The de-noise pass now summarizes that
list, and genuine truncation returns the readable prefix with a
narrow-your-query hint instead of an error.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 14:40:09 -03:00
jenkins
d1225bcab4 hermes(chat): read-only Atlas cluster visibility for chat
RBAC: the built-in view ClusterRole (which never includes Secrets, so
Vault-managed material stays structurally invisible) plus a read-only
extra for nodes, namespaces, PVs, storage classes, CRDs, Flux resources
and metrics, bound to the chat service account. Tooling: a cluster-read
plugin registers a GET-only cluster_read tool against the in-cluster
API using the pod's projected token - secrets paths refused in the
handler as well, malformed segments rejected, responses bounded and
stripped of managedFields noise. Classified read_files/low in the HUX
capability map. RBAC applies on push; the tool activates when the pods
next roll (bundled with the round-3 voice build).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 13:33:48 -03:00
jenkins
1793903f5e hermes(chat): observe-only enforcement and honest tool capabilities
Real traffic showed the first enforcement pass blocking core assistant
faculties: skills listing and the sandboxed Python classified as
unknown external side effects, browsing denied by default, with no
approval surface in the chat flow. Enforcement returns to observe-only
fleet-wide while the approvals UX and default grants are reworked, and
the capability map now tells the truth about the real toolset: the
Python sandbox is internal shell work, skills/todo/clarify/vision are
reads, browsing is network (medium), image generation writes an
artifact through the trusted broker. Unknown tools remain fail-closed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 10:46:54 -03:00
jenkins
e2ad645733 hermes(router-plugin): deliver hux_mode.py through the auto-router ConfigMap
The generator now ships the HUX-06 adoption module alongside the
plugin, and the plugin degrades to its previous behaviour (no mode
adoption) if it starts against a ConfigMap rendered before the module
existed - the plugin can never fail to load mid-transition.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 04:44:28 -03:00
jenkins
c089a5ec2a hermes(runtime): emit artifacts and web sources from real tool output
HUX-04/HUX-08: after a successful tool execution the hux-runtime plugin
now registers freshly written files as typed artifacts (create or
immutable version by conversation-scoped title, bounded to 1 MiB,
deterministic idempotency keys) and records up to three deduplicated
web sources from real network/web_search output. Emitters are fail-open
and can never break the tool result. Delivered through the plugin
ConfigMap; 95% branch coverage; quality contract updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 04:35:12 -03:00
jenkins
0755e1bbd7 hermes(router-plugin): adopt HUX friendly modes at the route boundary
HUX-06: the auto-router now consults the loopback HUX service (worker
trust, HMAC-derived conversation id from the persisted session) for the
conversation's selected friendly mode and maps it onto the existing
provider-neutral pools: fast->auto/fast, thoughtful/research->auto/deep,
create->auto/balanced; private pins the local route and refuses hosted
overrides. Explicit UI picks keep precedence; every HUX absence or
failure falls through to the previous behaviour unchanged. 95% branch
coverage; quality contract registers the new module.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
2026-08-24 04:27:02 -03:00
jenkins
a1070449a7 fix(hermes): vendor HUX runtime hooks 2026-08-24 02:23:04 -03:00
jenkins
438180a99f feat(hermes): gate tool runtime through HUX 2026-08-24 02:17:04 -03:00
jenkins
8c73906e6e hermes: preserve exact routes and accept Telegram images 2026-08-15 22:15:40 -03:00
jenkins
89b9f1a4c7 hermes: isolate runtime access and expose activity 2026-08-15 22:15:40 -03:00
jenkins
7dbde8e85d hermes: adaptively scale engineering routes 2026-08-15 13:28:47 -03:00
jenkins
1f33749b5c hermes: clarify provider status scope 2026-08-13 01:45:24 -03:00
jenkins
b5cab6c776 hermes: clarify provider history and archive probes 2026-08-13 01:28:43 -03:00
jenkins
2b540118d6 hermes: correct provider status and session lineage 2026-08-12 23:48:06 -03:00
jenkins
c11408258c hermes: restore native provider routing 2026-08-12 23:08:21 -03:00
jenkins
69f379bb7b hermes: recover incomplete routed tool calls 2026-08-12 06:22:29 -03:00
jenkins
c3566e9a64 hermes: distinguish refreshable Claude auth 2026-08-12 02:31:34 -03:00
jenkins
49a0e2eb49 hermes: expose provider pool status 2026-08-12 02:23:31 -03:00
jenkins
346c2cf247 hermes: normalize image edit references 2026-08-12 01:33:33 -03:00
jenkins
f406297c74 hermes: preserve SSO and image continuations 2026-08-12 01:07:50 -03:00
jenkins
422f001a93 hermes: make Switchyard the routing authority 2026-08-11 20:22:26 -03:00
jenkins
be5e47e6da fix(hermes): keep Jetson router model loaded 2026-08-11 16:32:45 -03:00
jenkins
9f21f66fcb hermes: route turns by service priority 2026-08-11 16:22:19 -03:00
jenkins
174e084092 hermes(chat): separate local image routing 2026-08-11 14:52:19 -03:00
jenkins
85db26a4c4 hermes(chat): route image generation per request 2026-08-11 14:35:00 -03:00
jenkins
88f764a7c8 hermes: add automatic hosted and local image routes 2026-08-11 05:20:18 -03:00
jenkins
8df3d3314c hermes: add private image generation and repair xhigh fallback 2026-08-11 01:14:46 -03:00
jenkins
c2b375cdb9 hermes(agent): accept bounded raw Jetson votes 2026-08-10 22:11:42 -03:00
jenkins
d5d712dc31 hermes(agent): keep trivial auto routes economical 2026-08-10 21:59:01 -03:00
jenkins
94ea0253c4 hermes(agent): restore stock dashboard reliability 2026-08-10 21:09:06 -03:00
jenkins
c817f3cef7 hermes(agent): replace HERDR with native CLI lanes 2026-08-10 16:31:06 -03:00
jenkins
b3f2b8fdc5 fix(hermes): keep router compatible during rollout 2026-08-10 05:20:09 -03:00
jenkins
aa8f97e3f0 fix(hermes): route delegated work independently 2026-08-10 05:16:30 -03:00
jenkins
c0b5af8621 fix(hermes): route every agent loop through Jetson 2026-08-10 04:31:41 -03:00
jenkins
079acc1d22 fix(hermes): route follow-ups with task context 2026-08-10 04:06:28 -03:00
jenkins
54fe5aaf15 fix(hermes): expose actual routed provider 2026-08-09 03:51:03 -03:00
jenkins
f2c9c003a5 fix(hermes): roll out chat iteration budgets 2026-08-09 03:30:22 -03:00
jenkins
04fca285d2 fix(hermes): keep Jetson route classifier warm 2026-08-09 03:13:21 -03:00
jenkins
9bdcddad7c feat(hermes): add Jetson-assisted auto routing 2026-08-09 02:42:30 -03:00
jenkins
9e675fe4e1 ai(hermes): prefer Codex and trim default prompts 2026-08-02 08:54:04 -03:00
jenkins
b1ecfe96e4 ai(hermes): add operator guide and current GPU shares 2026-08-02 03:59:32 -03:00