harness: remove deprecated manager-side request_spawn surface (closes #442)

This commit is contained in:
damocles 2026-05-27 18:58:04 +02:00
commit dca62fda40
8 changed files with 56 additions and 124 deletions

View file

@ -17,10 +17,14 @@ pub enum HostRequest {
/// approval queue intentionally so test scripts and one-off recoveries
/// don't need a separate approve step.
Spawn { name: String },
/// Submit a spawn request for the user to approve. On approval the host
/// creates and starts the container. Mirrors the manager's
/// `RequestSpawn` — exposed on the admin socket so the dashboard and CLI
/// can also queue spawns through the approval flow.
/// Submit a spawn request for the operator to approve. On approval the
/// host creates and starts the container with the default `agent.nix`
/// template. The dashboard's `◆ R3QU3ST SP4WN` button and the
/// `hive-c0re request-spawn` CLI both go through this. The
/// previously-mirrored manager-side `RequestSpawn` was removed
/// (#442) — managers now go through the two-step `request_init_config`
/// + `request_apply_commit` flow so the spawn captures the manager's
/// customised config.
RequestSpawn { name: String },
/// Stop a managed container (graceful).
Kill { name: String },
@ -107,12 +111,16 @@ pub enum ApprovalKind {
#[default]
ApplyCommit,
/// Create + start a new sub-agent container with the given name.
/// Used today by the host admin socket / dashboard "request spawn"
/// button; the manager-side `RequestSpawn` surface was removed in
/// favour of the two-step `InitConfig` → `ApplyCommit` flow (#442).
Spawn,
/// Initialise a new agent's proposed config repo so the manager can
/// customise it before submitting a `RequestSpawn`. On approval
/// hive-c0re seeds `proposed/<name>/` with the default `agent.nix`
/// template but does NOT create the container - that requires a
/// subsequent `RequestSpawn` approval.
/// customise it before submitting a `request_apply_commit`. On
/// approval hive-c0re seeds `proposed/<name>/` with the default
/// `agent.nix` template but does NOT create the container — that
/// requires a subsequent `ApplyCommit` approval pinning the
/// customised config sha.
InitConfig,
/// Run `nix flake update [inputs...]` on the meta flake and commit
/// the resulting lock changes. The `commit_ref` field stores the
@ -767,20 +775,6 @@ pub enum ManagerRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
description: Option<String>,
},
/// Submit a spawn request for the user to approve. On approval the host
/// creates and starts the container. Requires a prior approved
/// `request_init_config` so the manager can customise `agent.nix` first.
/// Fails if the proposed config repo for this name does not exist yet.
///
/// Deprecated: prefer `request_apply_commit` after `config_ready` —
/// it pins the exact commit sha, handles both first-time spawns and
/// subsequent rebuilds, and always reflects the committed config.
RequestSpawn {
name: String,
/// Optional description shown on the dashboard approval card.
#[serde(default, skip_serializing_if = "Option::is_none")]
description: Option<String>,
},
/// Stop a sub-agent (graceful).
Kill {
name: String,