hermes-agent/skills
Ben a36221ed91
docs(s6): document container supervision; doctor + skill + user-guide updates
Phase 5 of the s6-overlay supervision plan. Documentation + small
diagnostic cleanups; no behavior changes.

website/docs/user-guide/docker.md:
  - Replace the old 'entrypoint script does the bootstrap' section
    with the s6-overlay boot flow (cont-init.d/01-hermes-setup,
    cont-init.d/02-reconcile-profiles, static main-hermes + dashboard
    services, ENTRYPOINT-as-main-program pattern).
  - Add a 'Per-profile gateway supervision' subsection covering the
    new lifecycle commands, restart semantics, log persistence, and
    'Manager: s6 (container supervisor)' status reporting.
  - Add 'Breaking change vs. pre-s6 images' callout naming the
    /init ENTRYPOINT and pointing affected wrappers at the pin
    workaround.

website/docs/user-guide/profiles.md:
  - Add a note under 'Persistent services' pointing container users
    at the docker.md section explaining s6 supervision inside the
    image. Host-side systemd/launchd documentation is unchanged.

skills/software-development/hermes-s6-container-supervision/SKILL.md:
  - New maintainer skill covering the supervision-tree map, file
    layout, the Architecture B rationale (cont-init.d args + halt
    exit-code propagation), quick recipes, and the 8 pitfalls we hit
    while implementing the plan (PATH-without-/command, root-owned
    profile dirs, SOUL.md as marker, the '143' anti-pattern, etc.).

hermes_cli/doctor.py:
  - _check_gateway_service_linger skips on s6 (the linger concept
    doesn't apply inside the container).
  - New _check_s6_supervision section reports main-hermes/dashboard
    state and per-profile-gateway count (registered vs supervised
    up), only inside the s6 container. Host doctor output unchanged.
  - External Tools / Docker check no longer emits a 'docker not
    found' warning inside the container; prints an explanatory
    info line instead. Still respects an explicit TERMINAL_ENV=docker
    (in case the user mounted /var/run/docker.sock).

hermes_cli/gateway.py:
  - Document _container_systemd_operational more precisely: it's
    NOT for our Hermes Docker image (s6-overlay handles that via
    detect_service_manager() == 's6'). It still covers
    systemd-nspawn / k8s-with-systemd-init cases, so leaving it in
    place is correct; the docstring just makes that explicit.

Test harness (verification, no test changes in this commit):
  19 passed, 0 xfailed. 66 service-manager / container-boot /
  profiles-s6-hooks / gateway-s6-dispatch unit tests still green.
  61 doctor tests still green. Hadolint + shellcheck clean.

Refs: docs/plans/2026-05-07-s6-overlay-dynamic-subagent-gateways.md
2026-05-24 18:05:33 -07:00
..
apple feat(computer-use): cua-driver backend, universal any-model schema 2026-05-08 11:07:38 -07:00
autonomous-ai-agents feat(sessions): opt-in per-session JSON snapshot writer 2026-05-20 11:44:10 -07:00
creative chore(skills/baoyu-article-illustrator): tighten description, add platforms, regen docs 2026-05-18 18:28:56 -07:00
data-science feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
devops feat(kanban): configure worktree paths and branches 2026-05-18 21:33:08 -07:00
diagramming refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
dogfood feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
domain refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
email feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
gaming feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
gifs refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
github feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
index-cache Release set of skills 2026-02-25 05:21:17 -08:00
inference-sh feat(gateway): skill-aware slash commands, paginated /commands, Telegram 100-cap (#3934) 2026-03-30 10:57:30 -07:00
mcp feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
media feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
mlops chore(skills): move heavy training skills + outlines to optional-skills (#22912) 2026-05-09 18:44:12 -07:00
note-taking feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
productivity fix(skills): add timeout to Google OAuth urlopen calls 2026-05-19 00:11:44 -07:00
red-teaming/godmode feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
research chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
smart-home feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
social-media docs(skills): compress 74 built-in skill descriptions to <=60 chars 2026-04-26 21:50:56 -07:00
software-development docs(s6): document container supervision; doctor + skill + user-guide updates 2026-05-24 18:05:33 -07:00
yuanbao feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00