müde
ac1b5fde8e
manager: start/restart at will, no approval; refuse self
...
new manager tools mcp__hyperhive__{start,restart} that delegate to the
existing lifecycle::start / lifecycle::restart on the host. kill was
already at the manager's discretion; rounding out start + restart for
parity so day-to-day container care doesn't have to round-trip through
the operator.
guard: refuse self-targeting on kill/start/restart — the manager would
just be cutting its own legs. spawn (request_spawn) and config changes
(request_apply_commit) still go through the approval queue, since those
are the actual gate. prompt + claude.md updated to make the boundary
explicit. kill now also emits HelperEvent::Killed (it didn't before).
2026-05-15 18:57:25 +02:00
müde
2770630f33
ask_operator tool: non-blocking; operator answer arrives as helper event
...
new mcp tool on the manager surface that queues a question on the
dashboard and returns the question id immediately. operator submits an
answer via /answer-question/<id>; the dashboard fires
HelperEvent::OperatorAnswered { id, question, answer } into the manager
inbox so the next turn picks it up.
also: fix async-form button stuck on spinner after successful submit
(refreshState skipped re-rendering, so the button was never re-enabled).
2026-05-15 18:44:42 +02:00
müde
ff8f8c7c56
per-agent /state dir for durable notes; manager sees them via /agents
2026-05-15 18:00:08 +02:00
müde
37c6504462
manager events: Spawned/Rebuilt/Killed/Destroyed + start button
2026-05-15 17:38:41 +02:00
müde
06ea0cf283
operator inbox view on dashboard; agent ui doesn't clobber typing
2026-05-15 17:23:53 +02:00
müde
6fc9862c3c
dashboard: SPA shell — static index.html + app.js, /api/state JSON
2026-05-15 17:10:57 +02:00
müde
8428c693e0
dashboard: stop/restart per-container + update-all when any stale
2026-05-15 17:00:56 +02:00
müde
4f91dfef99
module: thread hyperhive package directly — operators don't apply overlays
2026-05-15 16:51:18 +02:00
müde
edf42b7e93
extract dashboard + agent CSS/JS to assets/ (include_str!)
2026-05-15 16:32:35 +02:00
müde
8fbee4fbf2
dashboard: async forms with spinner + rebuild button on every container
2026-05-15 16:21:25 +02:00
müde
e2ed58c1a7
dashboard: per-line color on approval diffs
2026-05-15 16:17:48 +02:00
müde
0f0e242906
programs.git.enable + harness PATH tracks systemPackages
...
- harness-base.nix: switch to programs.git for declarative gitconfig.
- agent + manager service path = /run/current-system/sw → agents pick up
new packages from their own agent.nix without harness edits.
- generated applied/<name>/flake.nix overrides programs.git.config.user
(no more raw etc.gitconfig collision).
2026-05-15 16:16:14 +02:00
müde
e1289a3e4c
nix templates: factor harness-base.nix (shared scaffolding incl. gitconfig)
2026-05-15 16:10:55 +02:00
müde
dfbcf2b9d1
agents wake on send: broker.recv_blocking + 30s long-poll on Recv
2026-05-15 16:00:31 +02:00
müde
f1fd787f17
rebuild button on agent UI (cross-origin POST to dashboard /rebuild)
2026-05-15 15:57:11 +02:00
müde
824914807a
ensure_manager: rebuild hm1nd if applied flake missing (migration safety)
2026-05-15 15:53:39 +02:00
müde
409263f1c9
operator input: per-agent /send form (dashboard T4LK removed)
2026-05-15 15:28:17 +02:00
müde
accb1445e3
claude: pipe prompt via stdin (variadic --allowedTools was eating it); + ManagerRequest::Status
2026-05-15 15:06:09 +02:00
müde
3c9d42b2a7
agent loop: claude drives; tool envelope (log/run/status/log)
2026-05-15 14:54:10 +02:00
müde
f99ed3fe7a
manager: same lifecycle as agents; auto-spawn on hive-c0re start
2026-05-15 13:43:32 +02:00
müde
e777576528
auto-update: surface pending updates in dashboard + include manager
2026-05-15 13:31:33 +02:00
müde
a4e1556f90
auto-update agents on startup when hyperhive rev changes
2026-05-15 13:25:27 +02:00
müde
d07f5eadaa
dashboard: needs-login badge links to per-agent ui
2026-05-15 13:12:12 +02:00
müde
78fae44ee5
phase 8 step 3: needs-login partial-run mode + dashboard badge
2026-05-15 12:57:06 +02:00
müde
c59fa8541c
phase 8 step 2: approval-gated spawn + dashboard spinner
2026-05-15 12:53:13 +02:00
müde
a42fdb3a5c
phase 8 step 1: per-agent claude creds bind + destroy keeps state
2026-05-15 12:39:22 +02:00
müde
0fc287c768
fmt
2026-05-15 02:58:35 +02:00
müde
b711296460
destroy verb: CLI + admin socket + dashboard button; purges state + approvals
2026-05-15 02:57:22 +02:00
müde
fcd6563887
fmt
2026-05-15 02:02:20 +02:00
müde
1333532d3f
dashboard: T4LK form — operator sends messages from the browser
2026-05-15 01:59:53 +02:00
müde
07a5d3a778
lifecycle: clear HOST_ADDRESS/LOCAL_ADDRESS/HOST_BRIDGE — start script's --network-veth was forcing private netns
2026-05-15 01:51:12 +02:00
müde
59de7fa3c5
lifecycle: force PRIVATE_NETWORK=0 so per-agent web UI port reaches host
2026-05-15 01:35:30 +02:00
müde
a146b147ff
dashboard: GC orphan approvals on render (agent state dir missing)
2026-05-15 01:21:31 +02:00
müde
99867195e5
dashboard: distinguish missing-dir vs missing-git in approval_diff
2026-05-15 01:16:57 +02:00
müde
ee99774d17
Phase 7d: per-container MemoryMax + CPUQuota via systemd drop-in
2026-05-15 00:30:48 +02:00
müde
1ceabae892
Phase 7c: ApprovalResolved helper events into manager's inbox
2026-05-15 00:26:42 +02:00
müde
7c1ed07cf2
lifecycle: HYPERHIVE_GIT env override (bypass PATH); module sets it
2026-05-15 00:24:51 +02:00
müde
b20055293e
fmt
2026-05-15 00:14:49 +02:00
müde
9133d9e1a3
Phase 7b: broker broadcast + dashboard SSE message-flow tail; pkgs.git in module
2026-05-15 00:13:34 +02:00
müde
46ff9c7aee
dashboard: error_response takes &str
2026-05-15 00:06:51 +02:00
müde
c82d41728c
Phase 7a: dashboard approve/deny + unified diff (similar crate)
2026-05-15 00:06:10 +02:00
müde
2e2989ef8c
dashboard: writeln! instead of push_str(format!)
2026-05-14 23:44:19 +02:00
müde
8cf5d72798
Phase 6b: vibec0re-styled dashboard on hive-c0re + agent web UI restyled
2026-05-14 23:43:20 +02:00
müde
6dbf4eedd7
lifecycle: u16::try_from instead of as-cast
2026-05-14 23:39:53 +02:00
müde
d0f954bbc1
Phase 6a: per-container web UI (axum); per-agent port hashed from name
2026-05-14 23:39:06 +02:00
müde
967ec7c9d7
fmt
2026-05-14 23:22:00 +02:00
müde
2fd80dbd68
Phase 5c: separate proposed (manager) and applied (hive-c0re) repos; per-agent gitconfig
2026-05-14 23:20:32 +02:00
müde
3c702cf43f
fmt
2026-05-14 23:10:37 +02:00
müde
433c0d212e
Phase 5b: per-agent config flakes; approve validates + advances commit
2026-05-14 23:09:35 +02:00
müde
1c6d7f7a8f
fmt
2026-05-14 22:58:25 +02:00