- mcp/server.go: 7 new tools (get_signal_history, get_patterns, get_skills, request_execution, get_trend, get_event_timeline, get_agent_activity), agent_activity logging middleware on every tool call. - phase3.go: QueryAgentActivity REST handler implemented (was stub). Fixed scan count mismatch in ListSkills/PatchSkill/ListSkillVersions (13 cols → 12 targets). Fixed AgentActivity cursor pagination (lexicographic → integer comparison). Fixed s.Slug → s.Name in log. - cmd/oikos/main.go: 'all' role now runs api + scheduler + notifier in one process. Replaced nil SchedulerRunner/NotifierRunner with direct scheduler.RunnerForMain() / notifier.RunnerForMain() imports. Added runWithPool helper for standalone scheduler/notifier roles. - internal/config/config.go: added HermesAgentID env var. - internal/httpapi/server.go: pass HermesAgentID to MCP handler. - docker-compose.yml: added scheduler and notifier services (dev profile). - hermes/: config.yaml, SOUL.md, skills/homelab-ops/SKILL.md. - Cleaned up: scheduler/init.go dead code, mcp/server.go pgx import guard.
1.4 KiB
1.4 KiB
Homelab Operations Skill
Risk class: Depends on action (see OIKOS.md policy)
Required scope: agent
Verification: get_health_summary after action
Overview
Standard operating procedures for the Hermes agent managing the hubris
homelab. All mutations route through request_execution → Oikos policy
gating → actuator (SSH).
Procedures
Health check triage
get_health_summary— check fleet health- For degraded/down entities,
get_entityfor detail get_signal_historyon the target to check for repeatsget_blast_radiusto assess downstream impactget_trendfor metric context before deciding
Signal response
reversible_lowwith validated pattern →request_execution(auto-restart)config_mutationordestructive→ escalate to operator- Repeated flapping → escalate with flap count
Execution tracking
request_executionreturns a correlation_id- Poll
get_event_timelinefiltering by correlation_id - Once complete,
get_health_summaryto verify recovery - Record outcome via internal reasoning
Pattern learning
- After 5 identical successful executions on the same (type, action), the
learning engine promotes the pattern to
validated - Check
get_patterns(status=validated)to know what's trusted
Changelog
2026-07-07 — initial Phase 4 skill
Baseline homelab operations skill for Hermes container.