38 Commits

Author SHA1 Message Date
jenkins
e28b32bd4e hermes: run the reviewed agent image and arm the takeover
Some checks failed
Tests / Declarative: Post Actions failed: 40, skipped: 7, passed: 2578
Pins hermes-agent to sha256:4a385fbd, built by hermes-agent-image #11 from
this exact main revision through the daemonless Kaniko lane. Enables
kanban.auto_supervise and returns chat tenancy to the documented four slots.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 23:55:14 -03:00
jenkins
6a7009b31c hermes: add in-pod autonomous kanban supervisor
Drive the cross-card implement->review->repair->re-review chain from inside
the pod so unattended runs no longer stall once the first implementation card
completes. Today that chain exists only as an external codex-shepherd session;
this adds a bounded in-pod poll loop that reads board state via
hermes_cli.kanban_db and creates Kanban follow-up cards (subscription lanes
only) with no provider/metered path of its own.

- kanban_supervisor.py (I/O shell) + supervisor_policy.py (pure state machine):
  impl-done+PR -> review; review SHIP -> mark impl ready-for-human (never
  merges/approves/clears WIP); review BLOCK -> bounded repair; repair new
  commit -> re-review. Fail-closed on unparseable/ambiguous state; per-
  (parent, head_commit) dedup safe beside the external shepherd; bounded review
  <->repair cycle count and max concurrent chains.
- Deployed as a hardened non-root sidecar (drop ALL caps, read-only rootfs, no
  runtime-access/credential mount) alongside model-steward; scripts packaged in
  the coordinator configMapGenerator.
- Gated by new kanban.auto_supervise config key (default false, re-read each
  tick like auto_decompose) so it is inert until the external shepherd retires.
- Fix latent goal_max_turns NULL fallback in cli_lane_execution (1 -> documented
  default 20).
- 62 new behavioral tests at 100% line+branch on both modules.

Stacks on the merge train (base 5f27e50c).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-18 06:28:49 -03:00
jenkins
603524ba6a Merge remote-tracking branch 'origin/fix/hermes-result-decomposition-reliability' into feature/hermes-cli-auto-quota-routing
# Conflicts:
#	services/hermes/networkpolicy.yaml
#	testing/quality_contract.json
#	testing/tests/test_hermes_agent_security.py
2026-08-18 00:57:54 -03:00
jenkins
62d8cd984b hermes: wire quota-aware lane routing config and metrics scrape
Add kanban routing keys (provider_quota_min_remaining_percent: 15,
provider_capacity_cooldown_seconds: 300, provider_auth_cooldown_seconds:
3600), a lane-metrics port/Service on 9011 with service-annotation
scraping, monitoring ingress for the new port, and the lane's quota
metrics URL env. Based on PR #15 (fix/hermes-result-decomposition-
reliability); stacked because this work rides on the decomposed lane.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-17 20:30:53 -03:00
jenkins
340ec58b68 hermes: quarantine-scan pushed git objects
Inflate every receive-pack object under strict pack, size, and checksum
bounds, resolve deltas against in-pack bases only, and scan the real
decompressed payloads for runtime-token forms, private keys, SSH key
material, and known provider token formats. Thin packs are rejected so
no pushed content escapes the scan, and upstream Git exchanges now run
under one absolute stream deadline.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 15:15:47 -03:00
jenkins
8c6e3acdac hermes: isolate Atlas SCM write authority 2026-08-17 07:58:44 -03:00
jenkins
cf3e46c2b6 hermes: harden Forgejo client boundary 2026-08-17 07:22:26 -03:00
jenkins
762784da6b hermes: bound Atlas pull request client 2026-08-17 07:22:26 -03:00
jenkins
46f37f32a3 hermes: streamline forge evidence tools 2026-08-16 08:21:33 -03:00
jenkins
c7ac16d206 hermes: harden Atlas forge workflow 2026-08-16 07:59:35 -03:00
jenkins
5dd13368c6 hermes: normalize vision requests for Codex 2026-08-16 06:55:49 -03:00
jenkins
cef7241f11 hermes: avoid empty ad hoc task lookups 2026-08-16 06:06:26 -03:00
jenkins
4bab6130bc hermes: close parked kanban tasks atomically 2026-08-16 04:31:00 -03:00
jenkins
9bc47f9ce3 hermes: keep durable worker activity visible 2026-08-16 01:20:08 -03:00
jenkins
3b291d0e84 hermes: resolve Cassandra branch from live task 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
2ae88973be hermes: add audited Atlas operator access 2026-08-15 13:22:01 -03:00
jenkins
29eeb1ebf8 hermes: recover workers after pod restart 2026-08-15 07:07:21 -03:00
jenkins
e9b36181e4 hermes: isolate durable worker lifecycle 2026-08-15 06:31:16 -03:00
jenkins
dc9b2d153f hermes: restore image and Cassandra continuity 2026-08-12 08:30:01 -03:00
jenkins
422f001a93 hermes: make Switchyard the routing authority 2026-08-11 20:22:26 -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
bbb926526e hermes(agent): route native Codex through CLI runtime 2026-08-10 22:39:51 -03:00
jenkins
94ea0253c4 hermes(agent): restore stock dashboard reliability 2026-08-10 21:09:06 -03:00
jenkins
3f2f82b6ee hermes(agent): complete owner operator toolbox 2026-08-10 17:24:46 -03:00
jenkins
f2a3616476 hermes: grant owner agent union access 2026-08-10 17:05:14 -03:00
jenkins
c817f3cef7 hermes(agent): replace HERDR with native CLI lanes 2026-08-10 16:31:06 -03:00
jenkins
aa8f97e3f0 fix(hermes): route delegated work independently 2026-08-10 05:16:30 -03:00
jenkins
4d029f85b7 feat(hermes): add private voice and isolated workflows 2026-08-10 00:43:10 -03:00
jenkins
d71624410a fix(hermes): provision Cassandra diagnostics 2026-08-09 14:38:51 -03:00
jenkins
1521fae348 fix(hermes): preserve reconnect history and browser access 2026-08-09 13:19:12 -03:00
jenkins
dad7d39c05 fix(hermes): enable browser tools and private files 2026-08-09 12:55:36 -03:00
jenkins
ed7abc8ced feat(hermes): extend agent tool budget 2026-08-09 03:59:08 -03:00
jenkins
9bdcddad7c feat(hermes): add Jetson-assisted auto routing 2026-08-09 02:42:30 -03:00
jenkins
17baaa8a24 feat(hermes): expose persistent agent TUI 2026-08-08 22:05:39 -03:00
jenkins
bb73efb285 feat(hermes): split chat agent and triage surfaces 2026-08-08 17:59:57 -03:00