Compare commits
3 commits
4a27ef7304
...
40589c8510
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40589c8510 | ||
|
|
3abb00c327 | ||
|
|
96f93f3b5e |
2 changed files with 21 additions and 12 deletions
|
|
@ -42,19 +42,15 @@ happens after a decision lands.
|
||||||
ApplyCommit kind) land in the manager's inbox, carrying both
|
ApplyCommit kind) land in the manager's inbox, carrying both
|
||||||
the canonical sha and the terminal tag.
|
the canonical sha and the terminal tag.
|
||||||
|
|
||||||
`Spawn` approvals follow the same shape but skip the commit-diff
|
|
||||||
step — the operator just sees the name. On approve, hive-c0re
|
|
||||||
creates the container in a background task while the dashboard
|
|
||||||
shows a spinner.
|
|
||||||
|
|
||||||
`InitConfig` approvals are the first step in a two-step spawn
|
`InitConfig` approvals are the first step in a two-step spawn
|
||||||
flow. On approve, hive-c0re seeds the proposed config repo with
|
flow. On approve, hive-c0re seeds the proposed config repo with
|
||||||
a default `agent.nix` template and sends the manager
|
a default `agent.nix` template and sends the manager
|
||||||
`HelperEvent::ConfigReady { agent }`. The manager then reviews,
|
`HelperEvent::ConfigReady { agent }`. The manager then reviews,
|
||||||
edits, and commits the template before calling `request_spawn`
|
edits, and commits the template before calling `request_apply_commit`
|
||||||
to proceed to a Spawn approval. This gives the manager (and
|
to proceed to an `ApplyCommit` approval. The first `ApplyCommit`
|
||||||
operator) an explicit review gate on the initial configuration
|
creates the container; subsequent ones rebuild it with new config.
|
||||||
before any container is created.
|
This gives the manager (and operator) an explicit review gate on the
|
||||||
|
initial configuration before any container is created.
|
||||||
|
|
||||||
## Meta flake
|
## Meta flake
|
||||||
|
|
||||||
|
|
@ -333,8 +329,8 @@ regular claude turn so the manager can react. Variants
|
||||||
- `ApprovalResolved { id, agent, commit_ref, status, note }` —
|
- `ApprovalResolved { id, agent, commit_ref, status, note }` —
|
||||||
fired by `actions::approve` + `actions::deny` whenever an
|
fired by `actions::approve` + `actions::deny` whenever an
|
||||||
approval transitions to its terminal state.
|
approval transitions to its terminal state.
|
||||||
- `Spawned { agent, ok, note }` — `actions::approve` (Spawn-kind)
|
- `Spawned { agent, ok, note }` — `actions::approve` (first-time
|
||||||
+ admin `HostRequest::Spawn`.
|
ApplyCommit-kind) + admin `HostRequest::Spawn` (deprecated).
|
||||||
- `Rebuilt { agent, ok, note }` — `auto_update::rebuild_agent`
|
- `Rebuilt { agent, ok, note }` — `auto_update::rebuild_agent`
|
||||||
(covers startup scan + manual `/rebuild` from dashboard) +
|
(covers startup scan + manual `/rebuild` from dashboard) +
|
||||||
`actions::approve` (ApplyCommit).
|
`actions::approve` (ApplyCommit).
|
||||||
|
|
@ -353,7 +349,8 @@ regular claude turn so the manager can react. Variants
|
||||||
- `ConfigReady { agent }` — a new agent's proposed config repo was
|
- `ConfigReady { agent }` — a new agent's proposed config repo was
|
||||||
just seeded (post-`InitConfig` approval). The manager can now
|
just seeded (post-`InitConfig` approval). The manager can now
|
||||||
edit `/agents/<agent>/config/agent.nix`, commit the changes,
|
edit `/agents/<agent>/config/agent.nix`, commit the changes,
|
||||||
and submit `request_spawn` to create the container.
|
and submit `request_apply_commit` with the commit sha to create
|
||||||
|
the container (first ApplyCommit also triggers spawn bookkeeping).
|
||||||
- `NeedsUpdate { agent }` — sub-agent's recorded flake rev is
|
- `NeedsUpdate { agent }` — sub-agent's recorded flake rev is
|
||||||
stale. Manager calls `update(name)` to rebuild — idempotent,
|
stale. Manager calls `update(name)` to rebuild — idempotent,
|
||||||
no approval required.
|
no approval required.
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,12 @@ it as a stdio child via `--mcp-config`. The hyperhive socket name is
|
||||||
scheduling a new one fails if the cap is already hit.
|
scheduling a new one fails if the cap is already hit.
|
||||||
- `whoami()` — `{ name, role, pronouns, hyperhive_rev }` for
|
- `whoami()` — `{ name, role, pronouns, hyperhive_rev }` for
|
||||||
self-identification without scraping the system prompt.
|
self-identification without scraping the system prompt.
|
||||||
|
- `request_next_turn()` — ask the harness to start another turn
|
||||||
|
immediately after this one ends, even if the inbox is empty. Use for
|
||||||
|
multi-turn tasks (long builds, sequential steps) where you want to
|
||||||
|
continue without waiting for an external message. The next turn starts
|
||||||
|
with `from: "self"` and `body: "continue"`. No-op if new inbox
|
||||||
|
messages arrive before this turn ends. No args.
|
||||||
|
|
||||||
### Waking the agent from inside the container
|
### Waking the agent from inside the container
|
||||||
|
|
||||||
|
|
@ -281,6 +287,12 @@ meta's.
|
||||||
- `request_apply_commit(agent, commit_ref)` — submit a config
|
- `request_apply_commit(agent, commit_ref)` — submit a config
|
||||||
change for any agent (`hm1nd` for the manager's own config) for
|
change for any agent (`hm1nd` for the manager's own config) for
|
||||||
operator approval.
|
operator approval.
|
||||||
|
- `request_update_meta_inputs(inputs?, description?)` — queue an
|
||||||
|
approval to run `nix flake update [inputs...]` on the meta flake.
|
||||||
|
Pass specific input names (e.g. `["bitburner-agent"]`) or omit
|
||||||
|
for all. Returns immediately; lock update runs on operator
|
||||||
|
approval. Does NOT trigger rebuilds — call `update(name)` on
|
||||||
|
affected agents after approval resolves.
|
||||||
- `ask(question, options?, multi?, ttl_seconds?, to?)` —
|
- `ask(question, options?, multi?, ttl_seconds?, to?)` —
|
||||||
surface a structured question to the operator (default) or a
|
surface a structured question to the operator (default) or a
|
||||||
sub-agent (`to: "<agent>"`). Non-blocking — returns the
|
sub-agent (`to: "<agent>"`). Non-blocking — returns the
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue