Nothing submits an approval since scheduled prompts left hive-c0re, so the
queue only acted on rows written before that.
- hive-c0re: the approvals store and its migrations, approve/deny/
resolve actions, the ResolveApproval tail node (and meta_update's
approval_id), POST /api/approve and /api/deny, the approval views on
/api/state, the approval_resolved dashboard event, the orphan GC,
destroy/purge failing pending rows, and the approval rows in
get_loose_ends. DestroyBookkeeping loses the purge flag, which only
worded the approval-failure note.
- The CancelLooseEnd request goes: its only hive-c0re arm was the
approval one. cancel_loose_end handles reminder and todo in the harness.
- Wire types: hive_sh4re::approvals (ReminderStats moves to inbox),
LooseEnd::Approval, CancelLooseEndKind, HelperEvent::ApprovalResolved,
ToolGroup::Approvals, HostRequest::{Pending,Approve,Deny} and
HostResponse.approvals. HOST_SOCK_VERSION goes to 2 for the removed
field.
- hivectl loses the approvals verbs; docs/tools/hivectl-cli.md is
regenerated.
- The system prompt drops approval_resolved.
- The approvals table stays in broker.sqlite, unread, the same way the
operator_questions table was left when its store was removed.
- An `approvals` entry still in tool-groups.json is skipped with a warning
by ToolGroup::parse_list, like any unknown group.
- docs/agent-lifecycle/approvals.md is renamed to config-changes.md so the
code's doc pointers resolve; its content follows in the docs commit.
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# hivectl
|
|
|
|
The operator-facing host CLI. A thin client for the `hive-c0re`
|
|
daemon — speaks the host admin socket protocol (`hive-host-sock`) and
|
|
does not link the daemon crate. Container lifecycle and the
|
|
matrix/gateway verbs all forward to the daemon and need it running; a few (`wg`/`peer-config`, `choom`) work off local
|
|
host state instead.
|
|
|
|
## When to use it
|
|
|
|
Reach for this crate when adding an operator-run host command — agents
|
|
talk to the daemon over their own MCP tool surface
|
|
(`hive-agent-mcp`), not this binary. `hivectl` is what a human operator
|
|
(or a host-side script) runs.
|
|
|
|
## Shape
|
|
|
|
One module per subcommand family; `main.rs` is just the clap parse +
|
|
dispatch:
|
|
|
|
- **`agents.rs`** — container lifecycle for an EXISTING agent
|
|
(start/stop/kill/rebuild/restart/…); creation is swarm-level
|
|
(`swarmctl agent create`).
|
|
- **`dag_progress.rs`** — rebuild-queue progress rendering.
|
|
- **`power.rs`** — restart/start/stop at the container level.
|
|
- **`choom.rs`** — drop into an interactive claude session in a
|
|
container.
|
|
- **`forge.rs`** — reconciles an agent's config against its forge
|
|
repo.
|
|
- **`matrix.rs`** — invite a matrix user to the hive Space or a room.
|
|
- **`gateway.rs`** — gateway Basic-auth user management (htpasswd).
|
|
- **`wg.rs`** — WireGuard mesh helpers.
|
|
- **`subvol.rs`** — btrfs state-subvolume ops.
|
|
- **`quota.rs`**, **`util.rs`**, **`completions.rs`**, **`open.rs`** —
|
|
shared helpers, shell completions, browser-open.
|
|
|
|
Full verb reference: `docs/tools/hivectl.md`.
|