37 Commits

Author SHA1 Message Date
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
65ecbd9199 docs(hermes): drop demonstration framing from the agent workspace
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
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
jenkins
c2c8a81c7f 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
11063daaaa 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
2e16a2981d hermes: expose operator docs in file root 2026-08-04 13:22:18 -03:00
jenkins
10d234e400 hermes: add operator mastery guide 2026-08-03 23:28:36 -03:00
jenkins
961be498fa docs(hermes): map custom service runtimes 2026-08-03 04:37:07 -03:00
jenkins
225f33df89 docs(hermes): publish Atlas triage proofs 2026-08-03 04:30:16 -03:00
jenkins
17ea531d80 fix(hermes): classify Veles as migration residue 2026-08-03 04:13:59 -03:00
jenkins
1d56aebaf7 feat(hermes): package Atlas skill instructions 2026-08-03 03:59:00 -03:00
jenkins
a00175b376 feat(hermes): add actionable Atlas triage skills 2026-08-03 03:58:37 -03:00
jenkins
67debe3351 fix(hermes): remove stale Veles proof 2026-08-02 19:04:14 -03:00
jenkins
f1f4deba85 feat(hermes): make cluster triage immediately usable 2026-08-02 17:26:58 -03:00
jenkins
b315e02821 fix(hermes): report consumer access denial 2026-08-02 17:00:40 -03:00
jenkins
723a789ddf fix(hermes): isolate consumer sessions 2026-08-02 16:46:21 -03:00
jenkins
5c55735c89 fix(hermes): prevent stale dashboard sockets 2026-08-02 15:53:30 -03:00
jenkins
24186416fd fix(hermes): stabilize operator sessions 2026-08-02 14:15:14 -03:00
jenkins
808d839039 docs(hermes): align training with Codex-first routing 2026-08-02 12:25:51 -03:00
jenkins
9e675fe4e1 ai(hermes): prefer Codex and trim default prompts 2026-08-02 08:54:04 -03:00
jenkins
c26dc3d1b7 docs(hermes): ground OpenClaw history in retained evidence 2026-08-02 04:12:07 -03:00
jenkins
934bf871c9 ai(hermes): include operator proof sprint 2026-08-02 04:01:40 -03:00
jenkins
b1ecfe96e4 ai(hermes): add operator guide and current GPU shares 2026-08-02 03:59:32 -03:00
jenkins
50dd87d476 ai(hermes): steer mastery labs to Codex 2026-08-02 03:22:13 -03:00
jenkins
f127ce421b docs(hermes): correct GPU ownership reference 2026-08-02 02:51:35 -03:00
jenkins
c87a4b5be5 ai(hermes): add operator mastery lab 2026-08-02 02:47:55 -03:00
jenkins
c4320b9718 ai(hermes): avoid unstable titan-18 placement 2026-08-02 02:35:39 -03:00
jenkins
5f4bdc6e7e ai(hermes): add isolated user chat instance 2026-08-02 02:31:01 -03:00
jenkins
b52663cea7 ai(hermes): harden Atlas triage evidence guardrails 2026-08-01 23:18:49 -03:00
jenkins
fb31d4514e gpu(titan-24): avoid unhealthy gate node 2026-08-01 22:59:29 -03:00
jenkins
91d4d98e2e gpu(titan-24): add Hermes local-first fallback handoff 2026-08-01 22:50:58 -03:00
jenkins
dd469f3e7a agent: reset Hermes rollout window 2026-07-21 21:29:46 -03:00
jenkins
c97295b3af agent: extend Hermes rollout deadline 2026-07-21 21:27:07 -03:00
jenkins
490f2ff4d1 agent: fix Hermes kubectl init permissions 2026-07-21 21:08:11 -03:00
jenkins
880736b4ff agent: replace OpenClaw with Hermes 2026-07-21 21:02:44 -03:00