feat(#2290): converge unification cleanup — pull preamble into lifecycle
Collapse the scattered ensure_agent_runtime_dir calls into the lifecycle functions themselves so callers have a single responsibility: - lifecycle::spawn: calls ensure_agent_runtime_dir before write_dropins. Callers (handle_spawn, ensure_root_agent) no longer need a separate preamble step. - lifecycle::rebuild_no_meta spawn path: calls ensure_agent_runtime_dir before write_dropins. apply_commit / merge_config_pr flows no longer need a manual ensure_agent_runtime_dir. - run_create (job-queue): drops ensure_agent_runtime_dir + register_agent. The tail Reconcile's converge_start_preamble handles the runtime dir and mcp_sockets::spawn_poll handles the listener. Create stays purely 'provision + create', not 'create + start'. - handle_spawn (server.rs): drops manual preamble; lifecycle::spawn owns it. Drops unneeded unregister_agent on failure (supervisor handles listener). - ensure_root_agent (auto_update.rs): drops manual ensure_agent_runtime_dir. - actions.rs apply_commit / merge_config_pr: drop manual ensure_agent_runtime_dir; rebuild_no_meta's spawn path handles it. Result: ensure_agent_runtime_dir lives in exactly two places — lifecycle::spawn (direct spawn) and converge_start_preamble (start/reconcile path). All other callers are clean call sites.
This commit is contained in:
parent
a45f65bd73
commit
afdd8c6c9f
5 changed files with 15 additions and 19 deletions
|
|
@ -159,10 +159,8 @@ pub async fn run_approval_apply_commit(
|
|||
approval_id: i64,
|
||||
) -> Result<()> {
|
||||
let approval = fetch_approval_for_worker(coord, approval_id, ApprovalKind::ApplyCommit)?;
|
||||
// Create the bind-mount source dir (first-spawn may not have it yet).
|
||||
// MCP listener registration is deferred to mcp_sockets::spawn_poll
|
||||
// which fires within 10 s of the container coming up.
|
||||
lifecycle::ensure_agent_runtime_dir(&approval.agent)?;
|
||||
// Runtime dir creation is handled inside lifecycle::rebuild_no_meta's
|
||||
// spawn path (first-spawn) or is already present for rebuilds.
|
||||
let agent_dir = Coordinator::agent_dir(&approval.agent);
|
||||
let applied_dir = Coordinator::agent_applied_dir(&approval.agent);
|
||||
coord.set_queue_step(queue_entry_id, "apply commit");
|
||||
|
|
@ -196,7 +194,6 @@ pub async fn run_approval_merge_config_pr(
|
|||
approval_id: i64,
|
||||
) -> Result<()> {
|
||||
let approval = fetch_approval_for_worker(coord, approval_id, ApprovalKind::MergeConfigPr)?;
|
||||
lifecycle::ensure_agent_runtime_dir(&approval.agent)?;
|
||||
let agent_dir = Coordinator::agent_dir(&approval.agent);
|
||||
let applied_dir = Coordinator::agent_applied_dir(&approval.agent);
|
||||
coord.set_queue_step(queue_entry_id, "merge config pr");
|
||||
|
|
|
|||
Loading…
Reference in a new issue