docs(#2591): fix stale Claim.agent doc + explain cancel's container roll-up (argus review)

This commit is contained in:
atlas 2026-07-20 23:27:33 +02:00 committed by mara
commit 0ab6b764be

View file

@ -71,7 +71,7 @@ pub struct Claim {
pub node_id: NodeId, pub node_id: NodeId,
pub kind: NodeKind, pub kind: NodeKind,
/// The agent this node targets (its own, not a DAG-level field). Empty for /// The agent this node targets (its own, not a DAG-level field). Empty for
/// the internal [`NodeKind::Finalize`] node. /// the agentless [`NodeKind::MetaLock`] + [`NodeKind::Dag`] container nodes.
pub agent: String, pub agent: String,
pub template: Template, pub template: Template,
pub approval_id: Option<i64>, pub approval_id: Option<i64>,
@ -452,8 +452,12 @@ impl JobQueue {
for id in work { for id in work {
inner.sched.cancel_node(id); inner.sched.cancel_node(id);
} }
// Roll the container up so the DAG reaches a terminal state (all children // The container was settled to `Finishing` at submit; completing it again
// now `Cancelled`); `dag_rollup` reports `Cancelled` to the wire. // now re-runs the roll-up with its children all `Cancelled`, driving it to
// a terminal state synchronously within this lock — so the caller reads
// the terminal summary immediately instead of waiting for the scheduler
// loop to observe the cancellation. `dag_rollup` reports `Cancelled` to
// the wire (a container whose children all cancelled).
inner.sched.complete(container, Outcome::Done); inner.sched.complete(container, Outcome::Done);
let terminal = inner.terminal_dag(container); let terminal = inner.terminal_dag(container);
drop(inner); drop(inner);