35 Commits

Author SHA1 Message Date
jenkins
fa7c213927 docs(hermes): drop demonstration framing from the agent workspace
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
START-HERE.md is visible in the Hermes dashboard, so its wording is part of
what an operator sees. Describing the runbook as a five-minute demonstration
frames the automation as a set piece rather than as something that runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 14:26:13 -03:00
jenkins
5286723b58 fix(hermes): run the Vault agent before the pod's own init containers
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
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
83f8d67640 feat(hermes): take the Anthropic credential from Vault
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
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
jenkins
fb1131053a feat(hermes): switch the primary model to Claude Opus 5
The Codex weekly limit is close, so make anthropic/claude-opus-5 primary and
demote openai-codex to first fallback with the local gpt-oss:20b behind it.

The credential is a Claude subscription OAuth token, not an API key. The
anthropic provider resolves ANTHROPIC_API_KEY, then ANTHROPIC_TOKEN, then
CLAUDE_CODE_OAUTH_TOKEN, so the OAuth token must arrive under the last name
to be treated correctly. Marked optional so Hermes still starts and falls
back if the Secret is absent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 05:00:09 -03:00
jenkins
2bf90fa102 feat(hermes-triage-demo): isolated demo surface + Jenkins job + Hermes key seeding
- New hermes-triage-demo namespace with fixture PVC and RBAC scoped to
  Jenkins agent Job creation only
- JCasC pipelineJob hermes-triage-demo: SEED_FAILURE-parameterized fixture
  check running as a Kubernetes Job in the demo namespace, emitting the
  incident ID to pod stdout (Fluent Bit -> OpenSearch kube-*) and JUnit to
  Jenkins
- Hermes init container can seed API_SERVER_KEY in the persistent .env
  from an optional hermes-api-server-key Secret (no-op until it exists)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:42:37 -03:00
jenkins
301706b1c8 hermes: expose operator docs in file root 2026-08-04 13:22:18 -03:00
jenkins
7b99d12124 hermes: add operator mastery guide 2026-08-03 23:28:36 -03:00
jenkins
c91ad76fdf docs(hermes): map custom service runtimes 2026-08-03 04:37:07 -03:00
jenkins
fdb74fa9f9 docs(hermes): publish Atlas triage proofs 2026-08-03 04:30:16 -03:00
jenkins
5823523250 fix(hermes): classify Veles as migration residue 2026-08-03 04:13:59 -03:00
jenkins
abb9a39971 feat(hermes): package Atlas skill instructions 2026-08-03 03:59:00 -03:00
jenkins
e8f75f5cc9 feat(hermes): add actionable Atlas triage skills 2026-08-03 03:58:37 -03:00
jenkins
c0e2b5a2b9 fix(hermes): remove stale Veles proof 2026-08-02 19:04:14 -03:00
jenkins
fcb6fd0171 feat(hermes): make cluster triage immediately usable 2026-08-02 17:26:58 -03:00
jenkins
fa21a760ef fix(hermes): report consumer access denial 2026-08-02 17:00:40 -03:00
jenkins
4fe6dba491 fix(hermes): isolate consumer sessions 2026-08-02 16:46:21 -03:00
jenkins
b78e41cade fix(hermes): prevent stale dashboard sockets 2026-08-02 15:53:30 -03:00
jenkins
4385a29249 fix(hermes): stabilize operator sessions 2026-08-02 14:15:14 -03:00
jenkins
045f17a095 docs(hermes): align training with Codex-first routing 2026-08-02 12:25:51 -03:00
jenkins
f4d6b50700 ai(hermes): prefer Codex and trim default prompts 2026-08-02 08:54:04 -03:00
jenkins
ef75c66314 docs(hermes): ground OpenClaw history in retained evidence 2026-08-02 04:12:07 -03:00
jenkins
96edd28b53 ai(hermes): include operator proof sprint 2026-08-02 04:01:40 -03:00
jenkins
4991493d3b ai(hermes): add operator guide and current GPU shares 2026-08-02 03:59:32 -03:00
jenkins
4d5aeeb1f2 ai(hermes): steer mastery labs to Codex 2026-08-02 03:22:13 -03:00
jenkins
3cd147538f docs(hermes): correct GPU ownership reference 2026-08-02 02:51:35 -03:00
jenkins
85c5bfe9f4 ai(hermes): add operator mastery lab 2026-08-02 02:47:55 -03:00
jenkins
1494e76ccd ai(hermes): avoid unstable titan-18 placement 2026-08-02 02:35:39 -03:00
jenkins
ddb609dac7 ai(hermes): add isolated user chat instance 2026-08-02 02:31:01 -03:00
jenkins
267c7f00a5 ai(hermes): harden Atlas triage evidence guardrails 2026-08-01 23:18:49 -03:00
jenkins
aaa114eb60 gpu(titan-24): avoid unhealthy gate node 2026-08-01 22:59:29 -03:00
jenkins
be91902a01 gpu(titan-24): add Hermes local-first fallback handoff 2026-08-01 22:50:58 -03:00
jenkins
a965544fec agent: reset Hermes rollout window 2026-07-21 21:29:46 -03:00
jenkins
c6209fa4be agent: extend Hermes rollout deadline 2026-07-21 21:27:07 -03:00
jenkins
d8da9a7a79 agent: fix Hermes kubectl init permissions 2026-07-21 21:08:11 -03:00
jenkins
97ecb36b56 agent: replace OpenClaw with Hermes 2026-07-21 21:02:44 -03:00