docs sync + revert auto-unfree removal

revert the earlier 'operator must set allowUnfree' move:
per-agent containers evaluate their own nixpkgs and the operator's
host-level allowUnfree doesn't propagate in. restoring the scoped
allowUnfreePredicate inside both the claude-unstable overlay and
harness-base.nix; documented in README + gotchas as 'nothing to
set on the operator side'.

docs:
- claude.md file map adds crash_watch.rs, kick_agent on coordinator,
  /api/model + journald viewer + bind-with-retry references.
- scratchpad rewritten to reflect the recent run.
- web-ui.md: notification row + browser notifications section,
  state row (badge + model chip + last-turn chip + cancel button),
  per-agent inbox, /model slash, /cancel-question + journald
  endpoints, focus-preservation on refresh.
- turn-loop.md: --model is read from Bus::model() per turn (runtime
  override via /model); recv(wait_seconds) up to 180s with the
  rationale; ask_operator gains ttl_seconds; new TurnState section;
  kick_agent inbox-on-startup hint.
- approvals.md: ttl/cancel resolution paths for operator questions.
- persistence.md: /state/hyperhive-model file.
- gotchas.md: web UI port collision policy (rename, don't probe);
  bind retry + SO_REUSEADDR shape; auto-unfree restored.
- todo.md: cleaned up empty sections and stale entries; /model
  shipped, dropped from the list.
This commit is contained in:
müde 2026-05-15 21:26:13 +02:00
parent d275b50177
commit 62d1a74929
10 changed files with 239 additions and 95 deletions

View file

@ -25,21 +25,26 @@ hive-c0re/ host daemon + CLI (one binary, subcommand-dispatched)
src/operator_questions.rs sqlite question queue backing `ask_operator`
src/events_vacuum.rs host-side hourly sweep of every agent's
/state/hyperhive-events.sqlite
src/crash_watch.rs poll every 10s; fire HelperEvent::ContainerCrash
when a previously-running container disappears
without an operator-initiated transient
src/coordinator.rs shared state (broker/approvals/questions/transient/
sockets) + tombstone enumeration
sockets) + tombstone enumeration + kick_agent
src/actions.rs approve/deny/destroy (transient-aware)
src/auto_update.rs startup rebuild scan + ensure_manager
src/lifecycle.rs `nixos-container` shellouts, per-agent flake generator
src/dashboard.rs axum HTTP: static shell + /api/state JSON + actions
+ journald viewer + bind-with-retry (SO_REUSEADDR)
assets/ index.html, dashboard.css, app.js (include_str!)
hive-ag3nt/ in-container harness crate; produces TWO binaries
src/lib.rs re-exports + DEFAULT_SOCKET, DEFAULT_WEB_PORT
src/client.rs generic JSON-line request/response over unix socket
src/web_ui.rs per-container axum HTTP page (incl /api/cancel,
/api/compact, /events/history)
/api/compact, /api/model, /events/history)
src/events.rs LiveEvent + broadcast Bus + sqlite-backed history
(/state/hyperhive-events.sqlite)
(/state/hyperhive-events.sqlite) + TurnState +
model selection (persisted at /state/hyperhive-model)
src/turn.rs claude --print + stream-json pump; --compact retry
src/mcp.rs embedded MCP server (rmcp): AgentServer + ManagerServer
src/login.rs probe /root/.claude/ for a valid session
@ -109,10 +114,17 @@ read them à la carte.
In-flight or recent context that hasn't earned a section yet.
Prune freely.
- Loop session 2026-05-15: shipped state badge, /cancel + /compact,
tombstones, multi-select ask_operator, broker + events vacuum.
- After loop session 2026-05-15: docs split into `docs/` (this
page slimmed to index + scratchpad). Cleanups landed: vacuum
host-side, `lifecycle_action` helper, `api_state` split.
- Next likely focus: telemetry/charts (still queued from earlier
triage) + server-side state badge.
- 2026-05-15 ish: tombstones, multi-select ask_operator, broker +
events vacuum, docs split into `docs/`, lifecycle_action helper,
api_state split.
- Then: inline +/- diffs on Write/Edit, operator cancel + ttl on
questions, dashboard back-link, per-agent inbox view, bind-retry
+ SO_REUSEADDR, journald viewer, server-side TurnState,
recv(wait_seconds) max 180s, runtime /model switch, crash
watcher, model persistence, stopped auto-allowing claude-code
unfree (operator must opt in), pure-hash agent_web_port (port
files reverted), browser notifications, focus-preserving
refresh.
- Open threads: telemetry/charts, custom per-agent MCP tools (the
groundwork for moving bitburner-agent into hyperhive),
two-step spawn, unprivileged containers, Bash allow-list.