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 kind: NodeKind,
/// 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 template: Template,
pub approval_id: Option<i64>,
@ -452,8 +452,12 @@ impl JobQueue {
for id in work {
inner.sched.cancel_node(id);
}
// Roll the container up so the DAG reaches a terminal state (all children
// now `Cancelled`); `dag_rollup` reports `Cancelled` to the wire.
// The container was settled to `Finishing` at submit; completing it again
// 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);
let terminal = inner.terminal_dag(container);
drop(inner);