You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 11, 2026. It is now read-only.
Report configured model vs live-advertised model without silently changing configuration.
Normalize unreachable, unauthorized, model-mismatch, degraded, timeout, invalid-response, and healthy states.
SSRF and transport requirements
Parse with URL; reject credentials, fragments, unexpected paths, and unsupported schemes.
Exact hostname/origin allowlist; no arbitrary redirect following.
Protect against DNS rebinding and metadata/link-local/loopback targets unless explicitly declared as a trusted internal endpoint by deployment configuration.
Production external endpoints require HTTPS.
Internal HTTP is allowed only for an explicitly trusted internal network/origin configured by the operator.
Enforce connection/read timeout, response-size limit, bounded retry with jitter, circuit breaker, and concurrency/backpressure.
Do not return upstream bodies, stack traces, or authorization details.
Acceptance criteria
Healthy, degraded, unreachable, unauthorized, timeout, and model-mismatch states are deterministic.
Detailed health fields are allowlisted and size-bounded.
Server key is resolved only server-side.
SSRF tests cover localhost, metadata IPs, link-local/private policy, redirects, userinfo, DNS changes, and oversized responses.
Collector isolates failure per agent and is safe to rerun.
Health snapshots are tenant-scoped and retention-ready.
Live model check recognizes configured mimo-v2.5-pro when advertised.
Audit contains safe status/error codes only.
OpenAPI/AsyncAPI, jobs descriptor, docs, and tests are updated.
Parent epic: #668
Depends on: #670, #671
Context
Hermes exposes documented
/health,/health/detailed,/v1/models, and OpenAI-compatible API surfaces. AWCMS-Mini needs a bounded server-side adapter and cannot trust arbitrary tenant-provided URLs.Objective
Implement the authenticated Hermes client, safe endpoint verification, health snapshot collection, and module readiness signals.
Scope
HermesProvider/client port and Bun-native HTTP adapter.API_SERVER_KEYthrough a server-side secret-reference resolver; raw keys never enter PostgreSQL, browser JavaScript, logs, or audit.GET /health;GET /health/detailed;GET /v1/modelswhere supported.awcms_mini_hermes_health_snapshotswith bounded, allowlisted fields only.POST /api/v1/hermes/agents/{agentId}/health/checkbun run hermes:health:collect.SSRF and transport requirements
URL; reject credentials, fragments, unexpected paths, and unsupported schemes.Acceptance criteria
mimo-v2.5-prowhen advertised.bun run checkpasses.Out of scope