Delegation loop detection

Reject cycles in a grant graph before they create ambiguous ancestry.

01 / The operating case

What changes in a real workflow?

Agent A delegates to B, which attempts to delegate the same task back to A.

Trace the authority boundary
  1. 01Origin grant
  2. 02Parent agent
  3. 03Narrow child grant
  4. 04Action boundary

02 / Decision contract

What the executor must check

Check ancestor IDs and task lineage at each handoff; reject any edge that revisits an ancestor.

InputPrincipal · task · action · target
DecisionGrant ancestry · policy · current state
ResultEnforce · record · verify outcome

03 / Failure and evidence

What goes wrong, and what can be proven?

Failure mode

Circular validation never terminates or treats the cycle as a fresh authority origin.

Evidence to retain

Cycle path, rejected edge, original grant and attempted action.

04 / Canonical scope

Why this reference stands alone

Depth limits bound long chains; this page owns graph acyclicity.

Technical artifact

Cycle check on a proposed edge

Conceptual trace
existing graph: O → A → B
proposed edge: B → A
A appears in B ancestor set
result: REJECT cycle before issuing grant

Run the denial test

Hide the cycle behind a remote runtime alias for A. Resolve stable principal and grant IDs rather than comparing display names.

Primary references

Read the underlying material

Architecture discussion

Choose one consequential action and make its boundary explicit.

Request a Conversation