Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2fb0d08274 | ||
|
|
23ff147953 |
1 changed files with 44 additions and 0 deletions
|
|
@ -8,6 +8,50 @@ root agent for top-level agents; a sub-manager for its own subtree) — is
|
|||
the policy gate in front of that queue; helper events are how it stays
|
||||
informed about what happens after a decision lands.
|
||||
|
||||
## For operators
|
||||
|
||||
Every add/remove/change to an agent lands on your dashboard's Y3R
|
||||
C4LL tab (or `hivectl approvals pending` / `approve <id>` from the
|
||||
CLI) before it takes effect. What you'll see, and what to do with it:
|
||||
|
||||
- **Config change** (`MergeConfigPr`) — an agent proposed a change to
|
||||
another agent's config (or its own, via a sub-manager) as a forge
|
||||
pull request. Review the diff on the forge — the dashboard card
|
||||
links straight to it, same as reviewing any other PR. Approving
|
||||
triggers the deploy automatically: hive-c0re re-verifies the PR
|
||||
hasn't moved since you looked at it, evaluates it (a dry run,
|
||||
nothing applied yet), merges it, and rebuilds the container. If
|
||||
anything in that chain fails, the change rolls back automatically —
|
||||
the agent stays on its last-good config, no recovery action needed
|
||||
from you.
|
||||
- **New agent** (`InitConfig` then `Spawn`) — creating a brand-new
|
||||
agent is two approvals. `InitConfig` seeds a fresh config repo from
|
||||
a template so the submitting agent can edit it; once you're happy
|
||||
with what they wrote, `Spawn` actually creates the container from
|
||||
that config. Every later change goes through the config-change flow
|
||||
above — there's no repeat "spawn" for an existing agent.
|
||||
- **Meta/flake update** (`UpdateMetaInputs`) — an agent asked to bump
|
||||
one or more Nix flake inputs (or all of them). Approving runs the
|
||||
update and commits the lock change; it doesn't rebuild anything by
|
||||
itself.
|
||||
- **Scheduled prompt** (`SchedulePrompt`) — an agent asked to schedule
|
||||
a message to one or more inboxes at a future time. You can also add
|
||||
schedules yourself directly from the SCH3DUL3S tab, which skips this
|
||||
approval step entirely — the gate here is specifically for an
|
||||
*agent* asking to schedule something, not for you doing it.
|
||||
|
||||
Don't want to approve something? **Deny it** (`DENY` on the dashboard
|
||||
card, or `hivectl approvals deny <id>`) — nothing runs. Either way the
|
||||
submitting agent is always notified their request was denied; what's
|
||||
optional is only the reason text, which you can add on the dashboard's
|
||||
prompt (cancelling that prompt aborts the whole deny, not just the
|
||||
reason) but not from the CLI. Denying is final: a denied approval
|
||||
can't be re-approved later, the agent has to submit a fresh one (a new
|
||||
PR, a new request).
|
||||
|
||||
Everything below this point is the implementation detail behind that
|
||||
flow.
|
||||
|
||||
## End-to-end approval flow
|
||||
|
||||
Config changes flow through a **forge pull request** on the agent's
|
||||
|
|
|
|||
Loading…
Reference in a new issue