docs: sync to current state of the world
claude.md scratchpad rewritten — folds in pronouns option, extra MCP servers + flakeInputs forwarding, ask_operator on sub-agents, dashboard compose box with @-mentions, new- session button, cwd=/state for claude turns, meta-mutex + stale-lock cleanup. readme picks up the operator pronouns option example, the dashboard compose box description, the new slash commands list, the deployed-sha chip, the per-agent UI gains new-session. docs/web-ui.md gains: - a fuller MESS4GE FL0W description that calls out the compose box, sticky @-mention recipient, /op-send, and the manager-name swap - /op-send in the dashboard endpoint table - new-session button + /new-session slash command in the per-agent surface - compact endpoint now notes 'same session shape as a normal turn' docs/turn-loop.md: - new-session one-shot, cwd=/state with CLAUDE.md auto-load walking upward, operator-pronouns substitution - sub-agent tool list grows ask_operator - new 'Extra MCP servers (per-agent)' section documenting hyperhive.extraMcpServers + the flakeInputs forwarding pattern
This commit is contained in:
parent
2d277038a7
commit
1278f880da
4 changed files with 137 additions and 37 deletions
|
|
@ -45,6 +45,18 @@ sessions in `~/.claude/projects/`, which is bind-mounted
|
|||
persistently). Auto-compact and auto-memory are disabled via
|
||||
`--settings` because hyperhive owns compaction (`/compact` on
|
||||
overflow, retry once; operator can also force one via `/api/compact`).
|
||||
A one-shot `--continue` suppression is available via
|
||||
`POST /api/new-session` (or `/new-session` slash command in the
|
||||
per-agent terminal) — `Bus::take_skip_continue()` flips an
|
||||
`AtomicBool` once per turn, the next claude invocation drops
|
||||
`--continue`, every subsequent turn resumes normal behaviour.
|
||||
|
||||
The child runs with `cwd = /state` (when the bind exists; falls
|
||||
back to the parent's cwd in dev), so any relative path in a tool
|
||||
call (`Read foo.md`, `Bash ls`, `Write notes.md`) lands in the
|
||||
agent's durable bind-mounted dir. CLAUDE.md auto-load walks
|
||||
upward from `/state` — drop a per-agent CLAUDE.md there if you
|
||||
want long-term hints that survive destroy/recreate.
|
||||
|
||||
The wake prompt is intentionally minimal: just the popped message's
|
||||
`from`/`body`, plus an inline `({unread} more pending — drain via
|
||||
|
|
@ -68,8 +80,11 @@ socket at `/run/hive/` once at startup:
|
|||
- `claude-settings.json` — the `--settings` blob (auto-compact and
|
||||
auto-memory off, effortLevel medium).
|
||||
- `claude-system-prompt.md` — rendered from
|
||||
`hive-ag3nt/prompts/{agent,manager}.md` with `{label}`
|
||||
substituted. Passed via `--system-prompt-file`.
|
||||
`hive-ag3nt/prompts/{agent,manager}.md` with `{label}` and
|
||||
`{operator_pronouns}` substituted. Pronouns come from
|
||||
`HIVE_OPERATOR_PRONOUNS` env (set by the meta flake from
|
||||
`services.hive-c0re.operatorPronouns`, default `she/her`).
|
||||
Passed via `--system-prompt-file`.
|
||||
|
||||
The shared per-turn plumbing lives in `hive_ag3nt::turn::{write_mcp_config,
|
||||
write_settings, write_system_prompt, run_turn, drive_turn,
|
||||
|
|
@ -92,6 +107,25 @@ it as a stdio child via `--mcp-config`. The hyperhive socket name is
|
|||
omitted). Agents use a long wait to park their turn waiting for
|
||||
work instead of busy-looping with short polls — they wake
|
||||
instantly when a message arrives.
|
||||
- `ask_operator(question, options?, multi?, ttl_seconds?)` —
|
||||
surface a question on the dashboard. Same shape as the manager's;
|
||||
answer routes back to the asker's own inbox as
|
||||
`HelperEvent::OperatorAnswered` via `coord.notify_agent`.
|
||||
|
||||
### Extra MCP servers (per-agent)
|
||||
|
||||
Each agent's NixOS config can declare additional MCP servers via
|
||||
`hyperhive.extraMcpServers.<key> = { command, args, env,
|
||||
allowedTools }`. The module writes the map to
|
||||
`/etc/hyperhive/extra-mcp.json`; the harness reads it at boot and
|
||||
merges every entry into `--mcp-config` (under `mcpServers.<key>`)
|
||||
and `--allowedTools` (as `mcp__<key>__<pattern>`). The agent's
|
||||
flake.nix forwards every flake input to `agent.nix` as the
|
||||
`flakeInputs` module arg, so external MCP-server flakes are pulled
|
||||
in by adding them to `inputs.*` and referenced as
|
||||
`flakeInputs.<name>.packages.${pkgs.system}.default` — the
|
||||
resolved sha lands in the agent's own `flake.lock` and rolls up to
|
||||
meta's.
|
||||
|
||||
### Manager tools (in addition to send/recv)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue