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.
Hermes is a Python service, while AWCMS-Mini has a Bun-only backend rule. Therefore Hermes must run as a separate service/container. AWCMS-Mini acts as the tenant-aware control plane and must not embed, fork, or reimplement the Hermes runtime.
This capability is full-online only and optional per tenant.
Objective
Add a reusable hermes_agent system module for:
registering and governing Hermes Agent profiles/endpoints;
representing OpenCode Go + MiMo-V2.5-Pro as a validated deployment profile;
monitoring availability, readiness, resource signals, and safe run telemetry;
linking Hermes profiles with Telegram users/chats/topics using default-deny policy;
exposing explicitly allowlisted AWCMS-Mini module capabilities to Hermes;
applying human approval to high-risk agent actions;
presenting a tenant-aware operations dashboard;
retaining safe usage, incident, and audit information.
Validated architecture decisions
AWCMS-Mini is the control plane; Hermes is a separate runtime.
No Python runtime is added to the Astro/Bun application process.
No Docker socket, unrestricted shell, or container lifecycle action is exposed to the web application.
Profile/container provision, start, stop, and upgrade remain operator/Coolify responsibilities unless a separate, least-privilege orchestrator adapter is designed later.
Integration uses documented Hermes interfaces only: authenticated API server, health endpoints, and explicitly configured webhooks/events.
Never read or mutate Hermes SQLite databases, profile files, or private/native-dashboard APIs.
MiMo-V2.5-Pro is the configurable default, not the only supported model.
Provider/model calls occur outside database transactions and are timeout-bounded.
Raw prompts, responses, memory, credentials, and attachments are not logged by default.
PostgreSQL stores secret references only; raw provider/API/Telegram secrets remain in environment variables or a secret manager.
Dashboard session information is limited to public aggregate health plus AWCMS-originated runs and explicitly ingested safe telemetry. It must not claim full Hermes/Telegram conversation-history support.
Parallel work is allowed only where the declared dependencies are already complete. Each child remains an atomic PR with its own tests, documentation, and changeset.
Epic completion rule
Close this epic only when all child issues are closed as completed, the module is disabled by default for offline/LAN deployments, production preflight covers enabled Hermes deployments, security review has no unresolved critical/high finding, and end-to-end verification demonstrates tenant isolation, secret redaction, provider failure isolation, Telegram default-deny policy, approval enforcement, and honest dashboard telemetry.
Context
AWCMS-Mini already provides reusable tenant management, RBAC/ABAC, PostgreSQL RLS, audit logging, workflow approval, module management, reporting, provider hardening, and an admin shell. Hermes Agent provides independent AI-agent profiles, memory, skills, scheduled tasks, messaging gateways, and an authenticated API server.
The initial inference target is OpenCode Go with MiMo-V2.5-Pro:
Hermes is a Python service, while AWCMS-Mini has a Bun-only backend rule. Therefore Hermes must run as a separate service/container. AWCMS-Mini acts as the tenant-aware control plane and must not embed, fork, or reimplement the Hermes runtime.
This capability is full-online only and optional per tenant.
Objective
Add a reusable
hermes_agentsystem module for:Validated architecture decisions
Proposed module contract
hermes_agentsystem/api/v1/hermes/admin/hermestenant_admin,identity_access,profile_identity,module_management,logging,reporting,workflowEpic acceptance criteria
tenant_id, PostgreSQL RLS, tenant context, and default-deny ABAC.bun run checkpasses for every implementation PR.Out of scope
Child issues
Recommended implementation order
Parallel work is allowed only where the declared dependencies are already complete. Each child remains an atomic PR with its own tests, documentation, and changeset.
Epic completion rule
Close this epic only when all child issues are closed as completed, the module is disabled by default for offline/LAN deployments, production preflight covers enabled Hermes deployments, security review has no unresolved critical/high finding, and end-to-end verification demonstrates tenant isolation, secret redaction, provider failure isolation, Telegram default-deny policy, approval enforcement, and honest dashboard telemetry.
References