Skip to content

docs(autonomous-agents): add the agent multiplexer page - #251

Merged
JacobPEvans-personal merged 2 commits into
mainfrom
claude/herdr-nix-flake-setup-ilxuho
Aug 31, 2026
Merged

docs(autonomous-agents): add the agent multiplexer page#251
JacobPEvans-personal merged 2 commits into
mainfrom
claude/herdr-nix-flake-setup-ilxuho

Conversation

@JacobPEvans-personal

@JacobPEvans-personal JacobPEvans-personal commented Aug 30, 2026

Copy link
Copy Markdown
Member

Adds autonomous-agents/herdr.mdx — the reader-facing page for herdr, the agent multiplexer now running on the fleet. Completes the set with dryvist/nix-ai#1836, dryvist/tofu-proxmox#1038 and dryvist/ansible-proxmox-ai#599.

What the page covers

  • Why it exists — running 3–10 coding agents in plain tmux gives no visibility into which one is blocked, no way to drive them from a script, and ends the work when the laptop closes.
  • Three containers, and why — a crash in the Slack bridge must not touch the runtime holding live agent panes. Table of what each does and whether it is reachable from outside.
  • Talking to it from Slack — framed against the existing self-hosted agent page, since it is the same interaction model. Includes why herdr needs its own Slack app rather than a shared one.
  • One config, two places — the same flake produces the workstation and server configs from the same binaries.
  • Why the CLIs moved to Nix — Homebrew is macOS-only, which is what tied the whole stack to one laptop.
  • Exposure — why the upstream project's free hosted tunnel is deliberately unused: that dashboard can approve a running agent's actions, so it goes through the estate's own gate.
  • Two sharp edges — herdr's integration install writes into Nix-generated read-only config, and herdr fetches detection updates from the internet at runtime and applies them without a restart.

Conventions

  • Public information only. No addresses, no internal names, no ports, no private-repo references — checked with a grep before commit. Services are described by role ("the SSO gate", "an internal name") rather than named.
  • Inline Mermaid with the byte-for-byte theme directive from conventions/mermaid-style, classDef palette, and 7 nodes — well inside the density cap.
  • Active voice, second person, sentence-case headings, one idea per sentence, aimed at the 8th-grade target. Plain words over Latinate ones throughout.
  • page_type: explanation, registered in docs.json under Autonomous agents (a one-line nav insert — no reformatting of the file).
  • Cross-links to hermes-agent, runtime and secrets.

Validation — not run here

This session had no mint binary. docs.json is verified to still parse as JSON, and the nav diff is a single line. Before merge:

mint broken-links
mint dev          # eyeball the Mermaid render

The four cross-links (/autonomous-agents/hermes-agent, /autonomous-agents/runtime, /autonomous-agents/secrets, /local-llm/overview) all correspond to pages present in the repo, but mint broken-links is the real check.


Generated by Claude Code


Note

Low Risk
Documentation-only change (new MDX + one nav line); no application or infrastructure code paths are modified.

Overview
Adds a new Autonomous agents doc page for herdr — how the fleet runs it as a homelab service (runtime, Slack bridge, SSO-gated dashboard), why it is split across three LXCs, Nix-backed workstation/server config, and operational caveats (integration install, runtime detection updates).

The page includes a themed Mermaid architecture diagram, a container table, Slack interaction notes (separate Slack app vs Hermes), and links to hermes-agent, runtime, and secrets. docs.json registers autonomous-agents/herdr in the nav immediately after runtime.

Reviewed by Cursor Bugbot for commit cd4dee3. Bugbot is set up for automated code reviews on this repo. Configure here.

Explains herdr as it runs here: one runtime holding every coding agent's
terminal, a Slack bridge that answers blocked agents, and a web dashboard
that approves them — each in its own container so a bridge crash cannot
touch live agent panes.

Covers why the CLIs moved from Homebrew to Nix (Homebrew is macOS-only,
which is what tied the stack to one laptop), why the dashboard goes
through the estate's own SSO gate rather than the upstream project's
hosted tunnel, and the two sharp edges worth knowing before following
herdr's own quick-start: its integration installer writes into
Nix-generated read-only config, and it fetches detection updates from the
internet at runtime.

Public information only — no addresses, no internal names, no private
repos. Inline Mermaid per the site's diagram conventions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jcoWME1acwLibqCyas2q8
Copilot AI lite review requested due to automatic review settings August 30, 2026 14:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cursor

cursor Bot commented Aug 30, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_4781d044-4106-4148-985a-527a86cebbd0)

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a new documentation page for the herdr agent multiplexer, explaining its architecture, Slack integration, and Nix configuration, as well as updating the documentation index. The reviewer suggests updating the section on herdr's runtime updates to explicitly recommend disabling this behavior to align with declarative infrastructure-as-code principles.

Comment thread autonomous-agents/herdr.mdx Outdated
Review feedback asked for a recommendation to disable herdr's runtime
fetching of agent-detection updates and manage them declaratively.

The principle is right, but "disable this in herdr's configuration"
asserts a config switch this page cannot verify exists — herdr.dev is
unreachable from where this was written, and its config reference was
not readable. Publishing an instruction to flip a setting that may not
exist is worse than the vaguer text it replaces.

So the guidance is sharpened around the two levers that are real and
enforceable from code: local definitions take precedence over fetched
ones, and the container's egress policy decides whether the update
endpoint is reachable at all. Same conclusion the reviewer wanted —
do not let the fetch be load-bearing — without inventing a setting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jcoWME1acwLibqCyas2q8
@cursor

cursor Bot commented Aug 30, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_d08370f2-3b80-4501-bf3b-c3bf6b2e6ca2)

@JacobPEvans-personal
JacobPEvans-personal merged commit c8b0dd6 into main Aug 31, 2026
21 checks passed
@JacobPEvans-personal
JacobPEvans-personal deleted the claude/herdr-nix-flake-setup-ilxuho branch August 31, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants