128 Commits

Author SHA1 Message Date
codex
1cbed3f6a5 refactor(hermes-autotriage): repair via ConfigMap patch, not PVC write
Longhorn RWO attach latency and per-node engine availability made the
PVC fixture unreliable for a fast repeatable demo. The fixture is now a
ConfigMap; the repair Job runs bitnami/kubectl under the least-privilege
hermes-demo-repair SA and patches state=healthy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:42:00 -03:00
codex
8314bd1843 fix(hermes-autotriage): pin repair Job to Longhorn-ready worker nodes
Non-worker nodes (titan-2x lane) are not Longhorn-ready; volume attach
fails there. Same constraint as the demo test-runner.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:17:52 -03:00
codex
c8d9ab2015 feat(hermes-autotriage): closed-loop demo triage via Hermes Agent API
Adds the automated failure-to-repair loop for the hermes-triage-demo
Jenkins job:

- hermes_autotriage_logs: bounded kube-* OpenSearch evidence (fixed query,
  incident-ID correlation with window fallback, sanitization, byte caps)
- hermes_agent_client: async /v1/runs client (bearer auth, poll, auto-deny
  approvals, lost-run and timeout handling)
- hermes_autotriage_decision: frozen response schema parser + nine-gate
  action authorization (allowlist, confidence, idempotency, kill switch)
- hermes_autotriage_evidence: Jenkins wfapi/testReport/console bundle
  assembly + failure-signature detection
- hermes_autotriage_repair: hardcoded repair Job executor + one rebuild
  with SEED_FAILURE=false
- hermes_autotriage: orchestrator state machine (detected -> diagnosed ->
  repairing -> awaiting_rebuild -> resolved | human_required | failed),
  bounded-label triage metrics, incident dedupe via storage events
- settings/app: ARIADNE_HERMES_* config (default off) + 1m schedule task

126 new tests; all quality gates pass locally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:06:16 -03:00
codex
3b45e57625 test(triage): cover malformed metric values 2026-08-03 04:09:17 -03:00
codex
c8daa610cf fix(triage): report actionable incidents only 2026-08-03 03:58:05 -03:00
codex
9d90700d54 feat(triage): include retained Jenkins evidence 2026-08-02 17:44:50 -03:00
codex
51e198ee79 test(game-mode): cover Ollama handoff client 2026-08-01 22:35:59 -03:00
codex
e96614ef9b feat(game-mode): hand off titan-24 inference safely 2026-08-01 22:31:39 -03:00
codex
c22579b74c game-stream: allow portal admin access 2026-05-22 02:19:16 -03:00
codex
df1af03791 test(game-stream): cover Wolf route edges 2026-05-21 16:23:26 -03:00
codex
c927d38f75 game-stream: add Wolf portal APIs 2026-05-21 15:53:17 -03:00
codex
0bbcdfb7a7 auth: allow Wolf OIDC audience 2026-05-21 06:59:32 -03:00
codex
a1e197b4e3 game-mode: report scaled-to-zero workload active 2026-05-21 05:59:40 -03:00
codex
4392df8d0c game-stream: add Wolf control dashboard 2026-05-21 05:40:15 -03:00
codex
dc0fccbbc6 game-stream: align Ariadne Wolf support with current app 2026-05-21 02:29:20 -03:00
codex
2687ac441e game-stream: add Wolf orchestration groundwork 2026-05-21 02:04:19 -03:00
codex
f86f591db2 triage: split testing scope helpers 2026-05-20 06:06:07 -03:00
codex
e04bb57c26 test(ariadne): align triage scope fixtures 2026-05-20 05:57:47 -03:00
codex
e83ffca7c6 triage: limit testing evidence to active suite scope 2026-05-20 05:51:23 -03:00
codex
ac91e16f16 triage: sanitize local model diagnoses 2026-05-20 04:57:58 -03:00
codex
d8fea14e51 triage: constrain local diagnosis schema 2026-05-20 04:04:54 -03:00
codex
ef29eb1b8f test(ariadne): cover triage diagnosis edge cases 2026-05-20 03:39:09 -03:00
codex
594f106146 triage: split local diagnosis module 2026-05-20 03:24:27 -03:00
codex
9e6dd16cb0 triage: add local model diagnosis 2026-05-20 03:13:53 -03:00
codex
42acfcc436 fix(ariadne): hydrate schedule success history 2026-05-20 02:59:09 -03:00
codex
38a5e924fe test: cover ariadne triage evidence helpers 2026-05-20 00:54:31 -03:00
codex
233d86ebe1 testing: add ariadne triage evidence bundle 2026-05-19 23:16:47 -03:00
codex
3649262316 test(ariadne): close scheduler coverage gap 2026-04-21 17:22:48 -03:00
codex
1b0137d984 fix(ariadne): hydrate schedule metrics after restart 2026-04-21 12:39:46 -03:00
codex
ec232d0079 test(ariadne): cover final helper edges 2026-04-21 04:54:41 -03:00
codex
19372c8a9a test(ariadne): cover VM trend filters 2026-04-21 04:52:05 -03:00
codex
604b198534 test(ariadne): cover storage snapshot edges 2026-04-21 04:49:30 -03:00
codex
4bbb50f5ad test(ariadne): cover cluster signal filters 2026-04-21 04:47:14 -03:00
codex
f9910c4281 test(ariadne): cover comms protocol helpers 2026-04-21 04:45:18 -03:00
codex
8f349e88b2 test(ariadne): cover VM usage edge inputs 2026-04-21 04:43:11 -03:00
codex
70a08768b4 test(ariadne): cover cluster metric collectors 2026-04-21 04:40:29 -03:00
codex
77fc16a7cb test(ariadne): cover database migration edges 2026-04-21 04:37:47 -03:00
codex
c41ff7ab3b test(ariadne): cover admin route edges 2026-04-21 04:33:56 -03:00
codex
186f7927ba test(ariadne): cover cluster node summary edges 2026-04-21 04:29:51 -03:00
codex
39d671c98d test(ariadne): cover safe error fallbacks 2026-04-21 04:27:12 -03:00
codex
a8b1e5ac7c test(ariadne): cover nextcloud maintenance failures 2026-04-21 04:24:53 -03:00
codex
102eaf8d92 test(ariadne): cover cluster attention edges 2026-04-21 04:21:57 -03:00
codex
236f2a5318 test(ariadne): cover cluster pod summary edges 2026-04-21 04:19:37 -03:00
codex
71c1b9b7bf test(ariadne): cover cluster anomaly edges 2026-04-21 04:16:43 -03:00
codex
13594eba57 test(ariadne): cover comms room operation edges 2026-04-21 04:13:49 -03:00
codex
1434fbedf1 test(ariadne): cover nextcloud mail model edges 2026-04-21 04:10:08 -03:00
codex
86e9a2d82b test(ariadne): cover provisioning account edges 2026-04-21 04:08:02 -03:00
codex
a8a9f04c44 test(ariadne): cover account rotation routes 2026-04-21 04:03:51 -03:00
codex
8fec20e816 test(ariadne): cover Jenkins weather edges 2026-04-21 03:59:18 -03:00
codex
faff23408a test(ariadne): cover Vaultwarden sync edges 2026-04-21 03:56:40 -03:00