refactor(#2825): complete_node takes only the node id

`NodeId` has been globally unique across DAGs since #2801, so the dag id
carried no information the node id didn't. The parameter was already
underscore-prefixed as unused, but still populated by `claim_ready`, carried
through the scheduler's mpsc on every `Claim`, and passed at the call site —
three layers of plumbing feeding a dead argument.

Removing it surfaced four more dead things it had been keeping alive:
`settle_approval_tail`, `settle_rebuild_tail` and `drain_meta_syncs` each took
a dag id they only forwarded to `complete_node`, and one `submit` binding was
never read. Those are deleted rather than underscore-prefixed — prefixing is
what let the original argument survive this long.

`Claim.dag_id` stays: it has live consumers in the tracing spans,
`append_subgraph`'s container guard, `Ctx` for the build-log link,
`first_error`, and the approval-deploy context.
This commit is contained in:
atlas 2026-07-28 00:53:58 +02:00 committed by mara
commit be27a62fb1
3 changed files with 83 additions and 95 deletions

View file

@ -105,9 +105,7 @@ fn handle_completion(coord: &Arc<Coordinator>, done: NodeDone) {
.job_queue
.append_subgraph(claim.dag_id, subgraph, claim.node_id);
}
coord
.job_queue
.complete_node(claim.dag_id, claim.node_id, Ok(()));
coord.job_queue.complete_node(claim.node_id, Ok(()));
}
Err(e) => {
let msg = format!("{e:#}");
@ -119,9 +117,7 @@ fn handle_completion(coord: &Arc<Coordinator>, done: NodeDone) {
error = %msg,
"job_queue: node failed"
);
coord
.job_queue
.complete_node(claim.dag_id, claim.node_id, Err(msg));
coord.job_queue.complete_node(claim.node_id, Err(msg));
}
}
// The next loop iteration re-reconciles the transient pills against the