hermes-agent/skills/software-development
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
..
debugging-hermes-tui-commands feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
hermes-agent-skill-authoring feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
hermes-s6-container-supervision docs(s6): document container supervision; doctor + skill + user-guide updates 2026-05-24 18:05:33 -07:00
node-inspect-debugger feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
plan feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
python-debugpy feat(skills): gate 7 Linux/macOS-only skills from Windows via platforms frontmatter 2026-05-08 14:27:40 -07:00
requesting-code-review feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
spike feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
subagent-driven-development feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
systematic-debugging feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
test-driven-development feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
writing-plans feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00